VeriC: A semi-hardware description language to bridge the gap between ESL design and RTL models

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.