A Survey of High Level Test Generation : Methodologies and Fault Models

Test of electronic circuits for fabrication fault is important if the circuits should have reasonable quality. To make the development of complex circuits manageable, methods and computer tools that work on a high level of abstraction are required. Development of test methodologies have however been left behind the increase of abstraction level used for the design. There is a risk that testing aspects become a bottle neck in the development of complex circuits if the test methods fail to cope up with the abstraction level for the design methods. System on Chips is often used to implement complex systems. The methods to make test for those circuits consists of three main parts. First part is the development of test procedures for the cores, which is preferably made at high level of abstraction. This area includes fault modeling and test pattern generation at behavior level of abstraction or higher as well as design of extra logic for insertion to facilitate testing. The second part requires development of methods to test the interconnections among cores. The third part is to develop a test access mechanism which can be used to test the cores and interconnections within a SoC. This survey is about development of fault models and test pattern for testing of cores at higher level of abstraction than logic level. A promising architecture for the interconnection is the Network on Chip architecture in which cores are interconnected through a network of packet switched switches. Testing of these switches will be identical to testing of a core. Models of physical and fabrication faults are needed at higher levels of abstraction in order to be able to develop test patterns from functional or behavioral description of cores. Researchers have experienced that the stuck-at fault model works quite well at logic level. But no such fault model has been discovered at behavioral or higher level which is universally accepted. Several behavior level fault models have been proposed. One of the proposed models is the variable bit stuck-at fault model. This model has been derived from the logic level stuck-at fault model but it does not give adequate coverage of physical faults. Physical faults inside components, like arithmetic and logic units, cannot be modeled in this way. With the methods proposed so far, knowledge of the logic level implementation of the unit is needed to model such faults. In this survey, we describe three proposed classes of fault models - fault models derived from logic level stuck-at faults, operator mutation faults and physically induced faults. Testing at higher level of abstraction has a lot in common with software testing. The pattern generation methods can be classified into two main categories, namely, code oriented methods and fault oriented methods. Methods can also be classified into methods that use fault simulation for test pattern generation or use algorithmic approach for test pattern generation. These two classification approaches are orthogonal leading to four different categories of methods. We have tried to put existing approaches in this category. We also survey the experimental setups developed and used by various research groups for carrying out research in high level testing. Some very interesting conclusions can be drawn about the efficacy of various categories of test pattern generation methodologies for testing various types of systems at behavioral level. An interesting conclusion is that code oriented methods are not very effective for testing data dominated circuits at behavioral level. Approaches followed by five different research groups working in the area of high level testing is also summarized and compared. We feel that the hierarchical test pattern generation method, which works simultaneously on several levels of abstraction, to generate test patterns is the most promising of these methods. We also feel that new fault models need to be developed to make testing at higher level of abstraction achieve adequate coverage of physical faults and become practically useful.

[1]  Fabrizio Ferrandi,et al.  Test Generation and Testability Alternatives Exploration of Critical Algorithms for Embedded Applications , 2002, IEEE Trans. Computers.

[2]  Fabrizio Ferrandi,et al.  Symbolic functional vector generation for VHDL specifications , 1999, Design, Automation and Test in Europe Conference and Exhibition, 1999. Proceedings (Cat. No. PR00078).

[3]  Kurt Keutzer,et al.  OCCOM-efficient computation of observability-based code coveragemetrics for functional verification , 2001, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[4]  Fabrizio Ferrandi,et al.  Implicit test generation for behavioral VHDL models , 1998, Proceedings International Test Conference 1998 (IEEE Cat. No.98CH36270).

[5]  João Paulo Teixeira,et al.  Fault Simulation Using Partially Reconfigurable Hardware , 2003, FPL.

[6]  Giovanni Squillero,et al.  High-level observability for effective high-level ATPG , 2000, Proceedings 18th IEEE VLSI Test Symposium.

[7]  Prabhakar Goel,et al.  An Implicit Enumeration Algorithm to Generate Tests for Combinational Logic Circuits , 1981, IEEE Transactions on Computers.

[8]  Franco Fummi,et al.  A VHDL error simulator for functional test generation , 2000, DATE '00.

[9]  Zebo Peng,et al.  High-level and hierarchical test sequence generation , 2002, Seventh IEEE International High-Level Design Validation and Test Workshop, 2002..

[10]  Giovanni Squillero,et al.  An RT-level fault model with high gate level correlation , 2000, Proceedings IEEE International High-Level Design Validation and Test Workshop (Cat. No.PR00786).

[11]  Giovanni Squillero,et al.  An Interpretation Framework for Evaluating High-Level Fault Models and ATPG Capabilities , 2001 .

[12]  Kurt Keutzer,et al.  An observability-based code coverage metric for functional simulation , 1996, ICCAD 1996.

[13]  Raimund Ubar,et al.  Test Synthesis with Alternative Graphs , 1996, IEEE Des. Test Comput..

[14]  Luciano Lavagno,et al.  Behavioral-level test vector generation for system-on-chip designs , 2000, Proceedings IEEE International High-Level Design Validation and Test Workshop (Cat. No.PR00786).

[15]  Srinivas Devadas,et al.  Simulation vector generation from HDL descriptions for observability-enhanced statement coverage , 1999, DAC '99.

[16]  James R. Armstrong,et al.  B-algorithm: a behavioral test generation algorithm , 1994, Proceedings., International Test Conference.

[17]  Fabrizio Ferrandi,et al.  Functional test generation for behaviorally sequential models , 2001, Proceedings Design, Automation and Test in Europe. Conference and Exhibition 2001.

[18]  Fabrizio Ferrandi,et al.  How an "evolving" fault model improves the behavioral test generation , 1997, Proceedings Great Lakes Symposium on VLSI.

[19]  Giovanni Squillero,et al.  RT-level Fault Simulation Techniques based on Simulation Command Scripts , 2000 .

[20]  John P. Hayes,et al.  High-level test generation using symbolic scheduling , 1995, Proceedings of 1995 IEEE International Test Conference (ITC).

[21]  John P. Hayes,et al.  High-coverage ATPG for datapath circuits with unimplemented blocks , 1998, Proceedings International Test Conference 1998 (IEEE Cat. No.98CH36270).

[22]  John P. Hayes,et al.  High-level test generation using physically-induced faults , 1995, Proceedings 13th IEEE VLSI Test Symposium.