| Abstract: |
The project will develop an unified environment for the design of system applications on parallel platforms based
on CPU, multicore, manycore, FPGA and heterogeneous SoCs. The design tools composing this environment will
provide an unified SW/HW specification interface and systematic procedures for composing models at different
abstraction levels allowing for the automatic validation, drastically reducing the verification and debugging efforts.
The implementation of processing demanding applications can be satisfied by using new multi/many-core
processing platforms, but new designs or porting IPs on them is difficult and costly. The integrated design flow of
this project intends to provide: portability of IPs, systematic system design explorations, high level synthesis of
executables, systematic test-bench generation at different design abstraction levels. All means to achieve cost
effectiveness of designs on parallel platforms.
The pivotal technical product of this project is a design/development environment consisting of a suite of software
tools and associated artifacts (libraries, applications, documentation etc.). It supports a platform-independent
programming model geared toward streaming application areas such as signal processing, video compression,
digital modulation, industrial visual inspection, 3D medical image processing, data processing, audio processing
and many others, and their efficient implementation on a wide range of commercial parallel platforms, from SMP
multicores, to manycores, processor arrays, programmable logic devices, and heterogeneous SoCs. The essential
features of the approach are: high level platform independent system specification, design space exploration
capabilities, automatic synthesis of executables, automated verification and validation of designs at different
abstraction levels. Another particular concern in this context is a principled approach to leveraging legacy IP, i.e.
the use of existing code and optimized platform-specific modules in the development process. A key role of the
industrial project partners is to provide important specific requirements and contexts that will influence the
development of the software tools, and then to apply, customize, and re-target them to their respective platforms
and applications, adding to the project result.
The main project result is the set of SW tools and libraries supporting portable system design on many/multi core
heterogeneous platforms building is a step forward beyond sequential programming approaches. |