Electronic System Level (ESL) is regarded as a necessary solution to deal with the ever increasingly complex System-on-Chip (SoC) design. Most ESL designs are modeling at the C high-level language (no matter functional C or SystemC). Although some commercial products are partially available, the lack of directly translating C or SystemC into RTL becomes a main obstacle to a seamless ESL flow from high level abstraction through RTL and all the way to the final chip design. We propose an efficient semi-hardware description language called VeriC (Verilog and C) to bridge ESL and RTL. Like SystemC, VeriC is based on C++ and not only describes the design by a syntax very close to Verilog, but also it can model the target design at both pin and cycle accuracy with an implicit clock mechanism, a modeling way closer to Verilog. Those VeriC modules can be directly translatable to RTL and also can be interoperable with other modules in C/SystemC/Verilog languages by hybrid simulation. Our objective is not to replace SystemC, but to move the RTL model up to a higher level such that detailed cycle-accurate implementation can be present even in C-level simulation, a supplemental and more efficient approach for bridging the gap between ESL design and RTL models. Experimental results show that the VeriC simulation speed can be 2¿10× faster than SystemC, because of the improvement in the simulation kernel (by taking advantages of input/output connections and a simpler cycle mechanism). It can also reach 10׿250× simulation speedup than Verilog in simulating the same behavior.
[1]
Franco Fummi,et al.
A timing-accurate HW/SW cosimulation of an ISS with SystemC
,
2004,
International Conference on Hardware/Software Codesign and System Synthesis, 2004. CODES + ISSS 2004..
[2]
Hugo De Man,et al.
CoWare—A design environment for heterogeneous hardware/software systems
,
1996,
EURO-DAC '96/EURO-VHDL '96.
[3]
Franco Fummi,et al.
A Timing-Accurate HW/SW Co-Simulation of an ISS with SystemC
,
2004
.
[4]
Timothy Sherwood,et al.
Addressing the Challenges of Synchronization/Communication and Debugging Support in Hardware/Software Cosimulation
,
2008,
21st International Conference on VLSI Design (VLSID 2008).
[5]
Gagandeep Singh,et al.
Construction of concrete verification models from C++
,
2008,
2008 45th ACM/IEEE Design Automation Conference.
[6]
James A. Rowson,et al.
Hardware / Software Co-Simulation
,
2000
.
[7]
Brian Bailey,et al.
ESL Design and Verification: A Prescription for Electronic System Level Methodology
,
2007
.
[8]
R. Camposano.
Behavioral synthesis
,
1996,
33rd Design Automation Conference Proceedings, 1996.