Section: Overall Objectives
For the last few years we have seen the beginning of the “design gap”. This gap is caused by the exponential growth of the integration rate of transistors on chips and the comparatively slower growth of the productivity of the integrated circuits designers. It is now impractical to fill a chip with custom designed logic. One has to reuse existing design parts or fill the chip area with memory (a good example of this evolution is the multi-core processors that include several existing processing cores instead of complexifying a single core). This evolution is clearly attested by the International Technology Roadmap on semiconductors.
In the same time, the computing power requirements of intensive signal processing applications such as video processing, voice recognition, telecommunications, radar or sonar are steadily increasing (several hundreds of Gops for low power embedded systems in a few years). If the design productivity does not increase dramatically, the limiting factor of the growth of the semiconductor industry will not be the physical limitations due to the thinness of the fabrication process but the economy! Indeed we ask to the system design teams to build more complex systems faster, cheaper, bug free and decreasing the power consumption...
We propose in the DaRT project to contribute to the improvement of the productivity of the electronic embedded system design teams. We structure our approach around a few key ideas:
Promote the use of parallelism to help reduce the power consumption while improving the performance.
Separate the concerns in different models to allow reuse of these models and to keep them human readable.
Propose an environment starting at the highest level of abstraction, namely the system modeling level.
Automate code production by the use of (semi)-automatic model transformations to build correct by construction code.
Develop simulation techniques at precise abstraction levels (functional, transactional or register transfer levels) to check the design the soonest.
Promote strong semantics in the application model to allow verification, non ambiguous design and automatic code generation.
Focus on a limited application domain , intensive signal processing applications. This restriction allows us to push our developments further without having to deal with the wide variety of applications.
All these ideas are implemented into a prototype co-design environment based on a model driven engineering approach, Gaspard. This open source platform is our test bench and is freely available.
The main technologies we promote are UML 2  , MDE  and Eclipse EMF  for the modeling and model handling; Array-OL  ,  ,  ,  and synchronous languages  as computation models with strong semantics for verification; SystemC  for the simulation; OpenMP for the shared memory parallel execution; VHDL for the synthesis; and Java to code our prototypes.