Fault emulation testing of programmable logic devices

Data processing: measuring – calibrating – or testing – Testing system – Of circuit

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C702S058000, C702S123000, C702S183000, C703S014000, C703S027000, C714S002000, C714S030000, C714S039000, C714S725000, C716S030000, C716S030000

Reexamination Certificate

active

06594610

ABSTRACT:

FIELD OF THE INVENTION
This invention relates to testing of integrated circuits, and more specifically to a method for testing programmable logic devices using fault emulation.
BACKGROUND OF THE INVENTION
Programmable logic devices exist as a well-known type of integrated circuit (IC) that may be programmed by a user to perform specified logic functions. There are different types of programmable logic devices, such as programmable logic arrays (PLAs) and complex programmable logic devices (CPLDs). One type of programmable logic devices, called the field programmable gate array (FPGA), is very popular because of a superior combination of capacity, flexibility and cost. A FPGA typically includes an array of configurable logic blocks (CLBs) surrounded by a ring of programmable input/output blocks (IOBs). The CLBs and IOBs are interconnected by a programmable interconnect switch matrix structure. The CLBs, IOBs, and interconnect structure are typically programmed by loading a stream of configuration data (bitstream) into internal configuration memory cells that define how the CLBs, IOBs, and interconnect structure are configured. The configuration data is typically organized into frames. The configuration bitstream may be read from an external memory (e.g., an external PROM). The collective states of the individual memory cells then determine the function of the FPGA.
A typical FPGA is a very complex IC device. For example, some FPGAs in the Virtex-II family, marketed by Xilinx, Inc. of San Jose, Cailf., contain several million gates. In addition, there are millions of interconnect lines. A FPGA may be unusable when some of the gates or interconnect lines malfunction (e.g., due to fabrication errors, fabrication defects, or physical failure). Thus, it is important to test the FPGA to determine if there are defects.
An important problem in testing is test evaluation (or test grading), which is the determining of the effectiveness, or quality, of a test. Test evaluation is usually done in the context of a fault model, i.e., a model representing physical defects that may cause failure (e.g., not meeting specification). A popular fault model assumes that circuit nodes can be “stuck” at “one” or “zero”. The quality of a test is measured by the ratio between the number of faults it detects and the total number of faults in the assumed universe of the model. This ratio is referred to as the “fault coverage.”
In IC technology, testing is an experiment in which an IC is exercised (e.g., by applying a test vector to some or all of the inputs of the IC) and its resulting response is analyzed to ascertain whether it behaves properly. An important tool of testing is fault simulation. It consists of simulating (using a digital computer such as a workstation) a circuit in the presence of faults. By comparing the fault simulation results between a circuit with and without faults (against the same applied test vector), one can determine the effectiveness of a testing procedure. An extensive amount of research and development has been conducted in fault simulation. Some of the ideas and results are summarized in a book entitled “Digital Systems Testing and Testable Design,” written by Miron Abramovici, et. al., and copyrighted in 1990 by AT&T.
Fault simulation can be used as a tool to perform fault grading. Typically, it involves many hours of computer simulation time. For example, fault simulation of a small FPGA, such as a part called XCV50, a member of the Virtex family of products available from Xilinx, Inc., involves over 1,500 CPU hours of computer time on an Ultra II SparcStations. The XCV50 is a relatively small FPGA. It has about 60,000 system gates (versus over a million in the bigger FPGAs). Thus, it will be very time consuming (thereby expensive) to use fault simulation for fault grading for large FPGAs.
It should be noted that fault grading is the foundation for many other activities, such as effective diagnosis, test generation automation, etc. Thus, it is advantageous to devise an alternative method for fault grading that does not involve prolonged operations.
SUMMARY OF THE INVENTION
The present invention involves a new method to perform testing of programmable logic devices. It uses-a programmable logic device (such as a FPGA) to emulate faults, instead of using a separate computer to simulate faults. In one embodiment, a few (e.g., two or three) known good FPGAS are selected. A fault is introduced into the design of a FPGA configuration. The configuration is loaded into the FPGAS. A test vector is applied and the result is evaluated. If the result is different from that of a fault-free configuration, the fault is caught. One application of this method is to evaluate fault coverage.
One fault model that can be advantageously used in the present invention is disclosed. In this model, programmable routing matrixes are modeled with open/short faults, and pairs of lines are divided into “connectable” and “non-connectable.” A pair of non-connectable lines means that two lines are not supposed to be connected in a fault-free FPGA. A pair of connectable lines means that a user of the FPGA has the flexibility of programming them to be either open or connected (i.e., shorted). The possible faults in this model are: (a) two connectable lines may be permanently shorted, or permanently open, and (b) two non-connectable lines may be permanently shorted. In one embodiment, the programmable interconnection point (PIP) of a FPGA can be used as the emulation element for open and shorts. Since the control memory cell is independently programmable, the PIP can be used to emulate “faulty” circuits. Turning on a PIP that is supposed to be off in a configuration emulates a “short”. Turning off a PIP that is supposed to be on in a configuration emulates an “open”. Under assumptions that are easily met in FPGAs, emulating a short to non-connectable line means emulating the short to a known state.
The above summary of the present invention is not intended to describe each disclosed embodiment of the present invention. The figures and detailed description that follow provide additional example embodiments and aspects of the present invention.


REFERENCES:
patent: 5633813 (1997-05-01), Srinivasan
patent: 5717699 (1998-02-01), Haag et al.
patent: 6223148 (2001-04-01), Stewart et al.
patent: 6405334 (2002-06-01), Tien
Hong et al., An FPGA-Based Hardware Emulator For Fast Fault Emulation Jan. 1997, 0-7803-3636-4/97, pp. 345-348.*
Xilinx; XAPP216 (v1.0); “Correcting Single-Event Upsets Through Virtex Partial Configuration”; Jun. 1, 2000; available from Xilinx, Inc., 2100 Logic Drive, San Jose, California 95124.
Cheng, Kwang-Ting; “Fault Emulation: A New Methodology for Fault Grading”; 1999 IEEE; pp. 1487-1495.
Harris, Ian G. et al.; “Interconnect Testing in Cluster-Based FPGA Architectures”; DAC 2000, Los Angeles, California; pp. 4954.

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

Fault emulation testing of programmable logic devices does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Fault emulation testing of programmable logic devices, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Fault emulation testing of programmable logic devices will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-3067109

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.