The GRACE++ methodology covers the system level design domain in the figure above, i.e. after the algorithmic exploration is finished and when the optimal architecture executing the functionality is to be defined. Generally, the SoC architecture can be seen as a set of parallel communicating blocks. To capture the complete functionality and to enable abstract architecture mapping, the functionality is first to be partitioned into SystemC modules. According to our methodology the SystemC process network is constructed to fulfill the following requirements in system level design:
- simulation speed and modeling efficiency is mandatory to handle the high complexity of SoC designs.
- separation of interfaces and behavior enables successive refinement of communication and structure.
- separation of timing and behavior allows efficient profiling of functional blocks mapped to alternative architectures.
In the next design step, the functional model is mapped to the intended target architecture in order to create a performance model of the resulting system architecture. The mapping is performed virtually by annotating the timing characteristics of the target architecture to the functional model, thus the methodology enables a very fast exploration of different design alternatives. The process of timing annotation is completely orthogonal to the functionality, hence the previously validated functional system behavior remains unchanged. Please refer to the AVALON case study for an exemplary description of the virtual architecture mapping procedure.
Due to GRACE++ methodology an iterative design flow is made available, which can be subsumed with the following:
- Starting from the application model the functional tasks for the processing elements are extracted and implemented as pure functional tasks.
- Together with the configuration of the architecture, like the architectural elements (processing & communication architecture) provided by the GRACE++ library , the mapping of the tasks to these processing elements and the timing configuration of the tasks a simulation performance model is gained.
- After simulation the results are investigated if the specified MP-SoC achieves the requirements of the applications specification.
- If the requirements are met a possible MP-SoC architecture is found.
- If not the system architect can easily change the configuration files and specify a new architecture or a different application-to-architecture mapping and can evaluate this by running the simulation. This iterative loop can be done until the final architecture is found.