Method and apparatus for debugging reconfigurable emulation systems
First Claim
1. A method for testing a reconfigurable emulation system to ensure that it accurately implements a netlist description of a functional circuit, the method comprising the steps of:
- configuring the reconfigurable emulation system to implement the functional circuit;
applying stimuli to the functional circuit implemented in the reconfigurable emulation system, thereby causing the functional circuit implemented in the reconfigurable emulation system to generate an actual response, said stimuli applied in a first emulation cycle;
detecting when said actual response differs from an expected response during said first emulation cycle;
if the actual response differs from the expected response, specifying a particular net where an apparent error is located in the netlist description and the time within said first emulation cycle when said apparent error occurred; and
modifying said stimuli applied to the functional circuit implemented in the reconfigurable emulation system to include a read-back signal which, during a subsequent emulation cycle, is applied to said particular net where said apparent error is located at a time corresponding to said time of said apparent error, said read-back signal causing the reconfigurable emulation system to output state information of the reconfigurable emulation system at said particular net where said apparent error is located at said time of said apparent error.
3 Assignments
0 Petitions
Accused Products
Abstract
An improved electronic design automation (EDA) system employs field programmable gate arrays (FPGAs) for emulating prototype circuit designs. A circuit netlist file is down-loaded to the FPGAs to configure the FPGAs to emulate a functional representation of the prototype circuit. To check whether the circuit netlist is implemented properly, the FPGAs are tested functionally by applying input vectors thereto and comparing the resulting output of the FPGAs to output vectors provided from prior simulation. If the FPGAs fail such vector comparison, the FPGAs are debugged by inserting "read-back" trigger instructions in the input vectors, preferably corresponding to fail points in the applied vector stream. Modifying the input vectors with such read-back signals causes the internal states of latches and flip-flops in each FPGA to be captured when functional testing is repeated. Such internal state information is useful for debugging the FPGAs, and particularly convenient because no recompilation of the circuit netlist is required. A similar approach which also uses the read-back feature of FPGAs is employed to debug FPGAs coupled to a target system which appears to fail during emulation runs.
370 Citations
11 Claims
-
1. A method for testing a reconfigurable emulation system to ensure that it accurately implements a netlist description of a functional circuit, the method comprising the steps of:
-
configuring the reconfigurable emulation system to implement the functional circuit; applying stimuli to the functional circuit implemented in the reconfigurable emulation system, thereby causing the functional circuit implemented in the reconfigurable emulation system to generate an actual response, said stimuli applied in a first emulation cycle; detecting when said actual response differs from an expected response during said first emulation cycle; if the actual response differs from the expected response, specifying a particular net where an apparent error is located in the netlist description and the time within said first emulation cycle when said apparent error occurred; and modifying said stimuli applied to the functional circuit implemented in the reconfigurable emulation system to include a read-back signal which, during a subsequent emulation cycle, is applied to said particular net where said apparent error is located at a time corresponding to said time of said apparent error, said read-back signal causing the reconfigurable emulation system to output state information of the reconfigurable emulation system at said particular net where said apparent error is located at said time of said apparent error. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A method for functionally testing a circuit undergoing logic emulation comprising the steps of:
-
configuring a plurality of reprogrammable logic devices with a netlist description of an integrated circuit; applying digital input vectors to said configured reprogrammable logic devices to cause said configured reprogrammable logic devices to generate digital output signals; comparing said digital output vectors with said digital output signals to determine a difference between said digital output vectors and said digital output signals; if said difference is detected, modifying said digital input vectors to include read-back trigger point information within the digital input vectors, said read-back trigger point information comprising a particular net within the netlist description and a time at which said difference occurred; applying the modified digital input vectors to the configured reprogrammable logic devices to cause the configured reprogrammable logic devices to generate modified digital output signals, said modified digital output signals including state information from registers where said particular net is implemented within said reprogrammable logic devices at said time at which said difference occurred; examining said state information to determine whether said difference was caused by an error in said netlist; and if said difference was caused by an error in said netlist, correcting said netlist so that said difference will not occur.
-
-
11. A method of debugging a prototype integrated circuit design prior to fabricating the prototype integrated circuit design comprising:
-
mapping a netlist description of the integrated circuit design into a reconfigurable emulation system, thereby creating an emulated integrated circuit; operating said emulated integrated circuit in a target system by running actual input stimuli through said target system, said target system comprising a system where the fabricated version of the prototype integrated circuit design will reside, thereby running the prototype integrated circuit under real-time operating conditions; if said target system fails during said operating step, specifying a particular net within the netlist description where an apparent error is located and a point in time during said operating step where said apparent error took place; modifying said input stimuli applied to said target system such that said modified input stimuli will induce said reconfigurable emulation system to capture state information of memory elements within said reconfigurable emulation system where said particular net is mapped at said point in time where said apparent error took place; re-operating said emulated integrated circuit with said modified input stimuli; examining said state information to determine how to correct the netlist description to eliminate said apparent error; and correcting the netlist description to eliminate said apparent error.
-
Specification