Author:
Ruan A.W.,Li C.Q.,Song Z.J.,Li W.C.
Abstract
PurposeIncreasingly complex and sophisticated VLSI design, coupled with shrinking design cycles, requires shorter verification time and efficient debug method. Logic simulation provides SoC verification with full controllability and observability, but it suffers from very slow simulation speed for complex design. Using hardware emulation such as FPGA can have higher simulation speed. However, it is very hard to debug due to its poor visibility. SOC HW/SW co‐verification technique seems to draw a balance, but Design Under Test (DUT) still resides in FPGA and remains hard for debugging. The purpose of this paper is to study a run‐time RTL debugging methodology for a FPGA‐based co‐verification system.Design/methodology/approachThe debugging tools are embedded in HDL simulator using Verilog VPI callback, so signals of testbench and internal nodes of DUT can be observed in a single waveform and updated as simulation runs, making debugging more efficient. The proposed debugging method connects internal nodes directly to a PCI‐extended bus, instead of inserting extra scan‐chain logic, so the overhead for area is reduced.FindingsThis method provides internal nodes probing on an event‐driven co‐verification platform and achieves full observability for DUT. The experiment shows that, compared with a similar method, the area overhead for debug logic is reduced by 30‐50 per cent and compile time is shortened by 40‐70 per cent.Originality/valueThe proposed debugging technique achieves 100 per cent observability and can be applied to both RTL and gate‐level verification. The debugging tool is embedded into HDL simulator using Verilog VPI callback, so DUT signals are displayed together with testbench signals in the same waveform viewer. New value of DUT signal is read from FPGA whenever it changes, which allows run‐time debug.
Subject
Applied Mathematics,Electrical and Electronic Engineering,Computational Theory and Mathematics,Computer Science Applications
Reference17 articles.
1. Cai, L. and Gajski, D. (2003), “Transaction level modeling: an overview”, paper presented at IEEE International Conference on Hardware/Software Codesign and System Synthesis, Conference Publication.
2. Camera, K. and Brodersen, R.W. (2008), “An integrated debugging environment for FPGA computing platforms”, paper presented at 11th International Conference on Field‐Programmable Logic and Applications, Conference Publication.
3. Chuang, C.L. and Cheng, W.H. (2007), “Hybrid approach to faster functional verification with full visibility”, paper presented at IEEE Design & Test of Computers, Journal Publication.
4. Das, S., Mohanty, R., Dasgupta, P. and Chakrabarti, P.P. (2006), “Synthesis of system Verilog assertions”, paper presented at Design, Automation and Test in Europe Conference & Exhibition, Conference Publication.
5. Graham, P., Nelson, B. and Hutchings, B. (2001), “Instrumenting bitstreams for debugging FPGA circuits”, paper presented at 9th Annual IEEE Symposium on Field‐Programmable Custom Computing Machines, Conference Publication.