DIPLODOCUS stands for DesIgn sPace exLoration based on fOrmal Description teChniques, Uml and SystemC.

Basically, DIPLODOCUS targets the partitioning of Systems-on-Chip. Partitioning a system means finding the best candidate software and hardware architecture for executing a set of functions. This selection of architecture is thus made according to given criteria, e.g., cost, power consumption, performance, safety, security, etc..

DIPLODOCUS supports the Y-Chart approach, i.e., the partitioning is done as follows:

  1. Application modeling: functions of the system are first modeled. Functions might later be software or hardware implemented.

  2. Architecture modeling: candidate hardware architectures are modeled in terms of parametrized nodes: execution nodes (CPU, hardware accelerators), communication nodes (buses, bridges) and storage nodes (memories).

  3. Mapping modeling: functions are mapped onto a given candidate architecture, i.e. functions are allocate dto either CPUs or hardware accelerators, and communication between functions are allocated to communication and storage nodes.

Moreover, DIPLODOCUS works at a high level of abstraction, and offers non-deterministic operators: this is thus very fast to model a first system, and evaluate different mappings for these functions. Moreover, all is graphical (UML)! Last but not least, formal proofs and performance evaluation by simulation can be done at the push of a button, directly from UML diagrams.

Short presentation

Movie on diplodocus


How to start?

Technical papers


Examples of DIPLODOCUS models

Open TTool, then go to the "File" menu, "Open project from TTool repository". Then, in the drop list, select "diplodocus".


If you wish to: