Md. Ashfaquzzaman Khan, Richard Neil Pittman, and Alessandro Forin
30 July 2010
It is notoriously hard to verify and debug the final, board-level implementation of FPGA designs. The task involves manual intervention and creativity, unpredictable time costs, and it is further complicated by the side-effects of the monitoring circuits inserted into the Design Under Test (DUT). In this paper, we introduce gNOSIS, an automated tool for board-level debugging and verification of FPGA designs. gNOSIS uses the Capture/Readback features of the FPGA to checkpoint the entire state of the circuit with little or no modification to the DUT. The tool then correlates the design registers provided in the netlist with their state in the FPGA configuration memory, and with the expected state. If the states match, execution proceeds by restoring the state of the FPGA and continuing execution for a set number of cycles. When an error is encountered, the time and location of the error is reported and the last good checkpoint is then used for further debugging, using simulation or other tools. gNOSIS eliminates the manual labor and long wait times required by currently available tools (e.g. Chipscope). It provides much greater visibility at a lower cost. More importantly, it provides the required infrastructure for fully automated debugging using more intelligent offline tools.