WP6-34: Difference between revisions
(Created page with "= HEPSYCODE SystemC SIMulator Version 2.0 (HEPSIM2)= {|class="wikitable" | ID|| WP6-HEPSIM2 |- | Contributor || UNIVAQ |- | Levels || Tool, Platform |- | Require || Linux, TODO |- | Provide || TODO |- | Input || SystemC models, Platform model, TODO |- | Output || TODO. |- | C4D tooling || n.a. |- | TRL || 4 |} TODO. == Detailed Description == TODO ==Contribution and Improvements== Some key aspects of the HEPSIM2 for analysis improvement are: * TO...") |
|||
Line 20: | Line 20: | ||
|} | |} | ||
HEPSIM2 (i.e., HEPSYCODE Simulator 2) is a SystemC-based tool for functional and timing HW/SW co-simulation/analysis at the system-level, integrated into a reference Electronic System-Level (ESL) HW/SW co-design methodology, called HEPSYCODE ([35][36][37][38]), targeting heterogeneous parallel embedded systems. The following text describes the main features of the tool by mainly focusing on the improvements and extensions done in C4D with respect to a previous version [41]. | |||
== Detailed Description == | == Detailed Description == | ||
HEPSIM2 is based on SystemC, and the HEPSIM2 System Behaviour Model (SBM, i.e., the application model, see the previous section about HEPSYCODE) is based on the CSP (Communicating Sequential Processes) Model of Computation (MoC) [39][43]. HEPSIM2 really works at ESL, i.e., at an abstraction layer similar to TLM but mainly considering only the behavioural view of the system. In fact, it allows considering the effects that the mapping on the HW platform would have on the system behaviour without the need to develop a corresponding TLM structural model. This is obtained by exploiting an approach inspired by the native simulation one [44] but combined with offline statement-level timing estimations [42] to avoid the need for binary code analysis. This feature allows a faster what-if analysis since it doesn’t require ISS or HDL integration into virtual platforms. The main drawback is the possible reduced accuracy in the timing performance estimation with respect to TLM analysis, but the proposed approach can be used to reduce the design space early and quickly by selecting the most promising “configurations” that can be then transformed into TLM (or RTL) models for more accurate analysis by means of specific tools. Moreover, other than performing functional and HW/SW timing co-simulations, HEPSIM2 is able to perform also co-analysis and co-estimations. In fact, it is able to provide information about communication and potential concurrency (both for processes and channels) in the CSP model. Moreover, it is able to perform the estimation of the loads that CSP-processes execution (and the bandwidth that CSP-channels communications) would impose, respectively, to processors and physical links, in order to satisfy imposed timing constraints. Such information, as described below, allows the reference ESL HW/SW co-design flow to exploit in a more effective way the targeted heterogeneous parallel embedded architecture. Finally, HEPSIM2 is strictly integrated into the HEPSYCODE ESL HW/SW co-design methodology ([35][36][37][38]) but it can be used also as a stand-alone tool relying on an HW architecture directly provided by the designer (i.e., manual DSE). | |||
==Contribution and Improvements== | ==Contribution and Improvements== | ||
Line 35: | Line 34: | ||
== Interoperability with other C4D tools == | == Interoperability with other C4D tools == | ||
HEPSIM2, the SystemC simulator used in HEPSICODE, has demonstrated interoperability with S3D in the ECSEL project MegaMart2. Interoperability with ESDE can be established with SystemC. HEPSIM2 simulations can be adapted to another Model of Computation such as Data Flow (DF), allowing integration with UNISS MDC and UNIMORE OODK. Therefore, the interoperability graph for HEPSIM2 is as follows: | |||
[[File:wp6-34_1_01.png|300px|thumb|frame|center| HEPSIM2 interoperability graph]] |
Revision as of 19:35, 22 September 2022
HEPSYCODE SystemC SIMulator Version 2.0 (HEPSIM2)
ID | WP6-HEPSIM2 |
Contributor | UNIVAQ |
Levels | Tool, Platform |
Require | Linux, TODO |
Provide | TODO |
Input | SystemC models, Platform model, TODO |
Output | TODO. |
C4D tooling | n.a. |
TRL | 4 |
HEPSIM2 (i.e., HEPSYCODE Simulator 2) is a SystemC-based tool for functional and timing HW/SW co-simulation/analysis at the system-level, integrated into a reference Electronic System-Level (ESL) HW/SW co-design methodology, called HEPSYCODE ([35][36][37][38]), targeting heterogeneous parallel embedded systems. The following text describes the main features of the tool by mainly focusing on the improvements and extensions done in C4D with respect to a previous version [41].
Detailed Description
HEPSIM2 is based on SystemC, and the HEPSIM2 System Behaviour Model (SBM, i.e., the application model, see the previous section about HEPSYCODE) is based on the CSP (Communicating Sequential Processes) Model of Computation (MoC) [39][43]. HEPSIM2 really works at ESL, i.e., at an abstraction layer similar to TLM but mainly considering only the behavioural view of the system. In fact, it allows considering the effects that the mapping on the HW platform would have on the system behaviour without the need to develop a corresponding TLM structural model. This is obtained by exploiting an approach inspired by the native simulation one [44] but combined with offline statement-level timing estimations [42] to avoid the need for binary code analysis. This feature allows a faster what-if analysis since it doesn’t require ISS or HDL integration into virtual platforms. The main drawback is the possible reduced accuracy in the timing performance estimation with respect to TLM analysis, but the proposed approach can be used to reduce the design space early and quickly by selecting the most promising “configurations” that can be then transformed into TLM (or RTL) models for more accurate analysis by means of specific tools. Moreover, other than performing functional and HW/SW timing co-simulations, HEPSIM2 is able to perform also co-analysis and co-estimations. In fact, it is able to provide information about communication and potential concurrency (both for processes and channels) in the CSP model. Moreover, it is able to perform the estimation of the loads that CSP-processes execution (and the bandwidth that CSP-channels communications) would impose, respectively, to processors and physical links, in order to satisfy imposed timing constraints. Such information, as described below, allows the reference ESL HW/SW co-design flow to exploit in a more effective way the targeted heterogeneous parallel embedded architecture. Finally, HEPSIM2 is strictly integrated into the HEPSYCODE ESL HW/SW co-design methodology ([35][36][37][38]) but it can be used also as a stand-alone tool relying on an HW architecture directly provided by the designer (i.e., manual DSE).
Contribution and Improvements
Some key aspects of the HEPSIM2 for analysis improvement are:
- TODO
- TODO
Interoperability with other C4D tools
HEPSIM2, the SystemC simulator used in HEPSICODE, has demonstrated interoperability with S3D in the ECSEL project MegaMart2. Interoperability with ESDE can be established with SystemC. HEPSIM2 simulations can be adapted to another Model of Computation such as Data Flow (DF), allowing integration with UNISS MDC and UNIMORE OODK. Therefore, the interoperability graph for HEPSIM2 is as follows: