.. -*- rst -*-
============
DSX Concepts
============
DSX is a hardware/software codesign tool which helps building,
testing, evaluating and optimizing a System-on-Chip.
*Application* defines the purpose, and sets the performance goals for
the system.
DSX splits the description of the system in four parts:
* Design of the abstract :ref:`concept-application` through a
:ref:`concept-tcg` (Tcg),
* Design of the :ref:`concept-task` and one or more
:ref:`concept-task-implementation` per task,
* Design of the :ref:`concept-platform` netlist,
* :ref:`concept-mapping` of the *application* on the *platform*.
From these descriptions, DSX generates:
* A SystemC virtual prototype corresponding to the user's netlist,
containing:
* Stock `SoCLib `_ components,
* Users' own hardware coprocessors;
* A binary firmware image to load in the virtual prototype containing:
* A dedicated `MutekH kernel `_ build,
* Some software-support glue code and middleware,
* Users' own software task code.
* SystemC prototype and the firmware constitute a complete
System-on-Chip.
.. figure:: /_static/mapy.*
The DSX design flow.
.. toctree::
:maxdepth: 3
application
platform
mapping