Logic emulation with forced assertions: A methodology for rapid functional verification and debug

To improve debugging turnaround time of complex System-on-chip (SoC) designs on FPGA based logic emulation systems, it is important to minimize the iterations through design recompilation or FPGA reconfiguration process for validating repeated debugging changes. This paper presents a methodology for modeling debugging changes in terms of standalone assertion statements and evaluating their effect by running emulation without requiring any design modification or recompilation step, during emulation based debug. The set of assertions representing debugging changes are transformed into a set of constraints that are directly programmed into the emulator and an associated logic analyzer. When emulation is resumed from a bug-free state, these constraints are enforced by automatically forcing necessary signals to desired values, according to the specified assertions. Multiple debugging changes can thus be verified before eventually porting the fixes to design RTL followed by recompilation and emulation rerun. The proposed methodology also facilitates block based SoC development, by allowing a designer to enforce the correct functional behavior of some other block whose output affects the behavior of the block he is working on. Application of the proposed debugging system to debugging of real industry standard designs has been seen to reduce debugging turn-around time significantly.

[1]  Joshua Marantz Enhanced visibility and performance in functional verification by reconstruction , 1998, Proceedings 1998 Design and Automation Conference. 35th DAC. (Cat. No.98CH36175).

[2]  Wen-Jong Fang,et al.  A Real-time Rtl Engineering-change Method Supporting On-line Debugging For Logic-emulation Applications , 1997, Proceedings of the 34th Design Automation Conference.

[3]  Anant Agarwal,et al.  Logic emulation with virtual wires , 1997, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[4]  T. Chan,et al.  A first pass ASIC development methodology using logic emulation , 1994, Proceedings Seventh Annual IEEE International ASIC Conference and Exhibit.

[5]  P. P. Das,et al.  Assertion based verification using HDVL , 2004, 17th International Conference on VLSI Design. Proceedings..

[6]  Zeljko Zilic,et al.  Incorporating efficient assertion checkers into hardware emulation , 2005, 2005 International Conference on Computer Design.

[7]  Joseph Varghese,et al.  An efficient logic emulation system , 1992, Proceedings 1992 IEEE International Conference on Computer Design: VLSI in Computers & Processors.

[8]  Russell Tessier Incremental compilation for logic emulation , 1999, Proceedings Tenth IEEE International Workshop on Rapid System Prototyping. Shortening the Path from Specification to Prototype (Cat. No.PR00246).

[9]  Rudy Lauwereins,et al.  Design, Automation, and Test in Europe , 2008 .

[10]  Pallab Dasgupta,et al.  Synthesis of System Verilog Assertions , 2006, Proceedings of the Design Automation & Test in Europe Conference.

[11]  Zeljko Zilic,et al.  Adding Debug Enhancements to Assertion Checkers for Hardware Emulation and Silicon Debug , 2006, 2006 International Conference on Computer Design.

[12]  Somnath Banerjee,et al.  Efficient Online RTL Debugging Methodology for Logic Emulation Systems , 2012, 2012 25th International Conference on VLSI Design.

[13]  Seiyang Yang,et al.  Simulation Acceleration with HW Re-Compilation Avoidance , 2008, 21st International Conference on VLSI Design (VLSID 2008).

[14]  Russell Tessier,et al.  Incremental compilation for parallel logic verification systems , 2002, IEEE Trans. Very Large Scale Integr. Syst..

[15]  Miodrag Potkonjak,et al.  Efficient error detection, localization, and correction for FPGA-based debugging , 2000, Proceedings 37th Design Automation Conference.