Design methodology cuts down manual coding

An IMEC product story
Edited by the Electronicstalk editorial team Feb 18, 2004

Sprint is a novel design methodology that can semi-automate the transformation of sequential C-input descriptions to pipelined, or multithreaded System C output.

Sprint is a novel design methodology that can semi-automate the transformation of sequential C-input descriptions to pipelined, or multithreaded System C output.

Sprint offers designers the first real opportunity to escape much of the time-consuming, error-prone procedures that are currently being done manually.

Today's complex electronic design consists of platforms that typically contain embedded processors and a wide range of hardware accelerators.

A key step in the design process is the assignment of functionality to the processors, analysing the tradeoffs between software and hardware implementation, and determining the actual interprocess communication implementation.

These tasks present designers with a broad range of implementation alternatives that must be explored in order to find a cost-efficient implementation.

The task of exploring various process partitions presents one of the major bottlenecks in current design environments.

Partitioning a sequential description in design environments is currently done manually.

However, manual rewriting of the application is time consuming and error-prone, and so it is typically performed only once in the complete design cycle.

Sprint provides a semi-automated way of exploring different process partitioning alternatives by reducing the designer interaction to the definition of the process boundaries.

During the transformation from the sequential C-input description to the pipelined SystemC output description, Sprint checks the data precedents to guarantee functional equivalence between the sequential input and the pipelined output description and inserts the communication channels for the data transferred between processes.

Sprint uses three types of communication between the different processes it examines: point-to-point queue-based communication for transferring data between the processes, thereby providing implicit synchronisation; shared-variable-based communication for large arrays, providing no synchronisation between the processes; and a parameter-passing mechanism used for system configuration settings.

Operationally, the different processes are activated through the point-to-point communication channels.

Synchronisation between the different processes is also performed through the data passed, using these queues.

Companies can have early access to IMEC's Sprint design methodology before it becomes commercially available by entering into a research agreement with IMEC.

Not what you're looking for? Search the site.

Back to top Back to top

Contact IMEC

Related Stories

Contact IMEC

 

Newsletter sign up

Request your free weekly copy of the Electronicstalk email newsletter ...

Search by company

A Pro-talk Publication

A Pro-talk publication