PLATYPUS: A PLA Test Pattern Generation Tool

PLATypus (PLA Test pattern generation and logic simulation tool) is an efficient tool for large PLA's which is interfaced with other existing PLA tools such as the folding program PLEASURE [12] and the logic minimizer ESPRESSO II-C [11] developed at the University of California at Berkeley. A new algorithm is proposed based on complementation and the tautology check of a logic cover, derived from the PLA personality matrix. Both complementation and tautology check are performed by advanced logic manipulation algorithms used in the logic minimization program ESPRESSO II-C [11]. The algorithm is exact, i.e., every testable crosspoint fault is tested, and maximum fault coverage is guaranteed. A quick preprocess, the biased random test generation, is used followed by the proposed algorithm to achieve the best balance between run time and test-set compactness. The program is refined at various stages by many powerful heuristics in the area of fault processing order, backend fault simulation, "don't-care" bit fixing, and on-the-fly test compaction. Both single stuck-at and crosspoint fault models are supported. PLATYPUS can also be used as a logic simulation tool and redundancy identifier. Test pattern generation has been performed by PLATYPUS on a large number of industrial PLA's.

[1]  Daniel L. Ostapko,et al.  MINI: A Heuristic Approach for Logic Minimization , 1974, IBM J. Res. Dev..

[2]  Leon I. Maissel,et al.  An Introduction to Array Logic , 1975, IBM J. Res. Dev..

[3]  Charles W. Cha A Testing Strategy for PLAs , 1978, 15th Design Automation Conference.

[4]  James E. Smith Detection of Faults in Programmable Logic Arrays , 1979, IEEE Transactions on Computers.

[5]  Daniel L. Ostapko,et al.  Fault Analysis and Test Generation for Programmable Logic Arrays (PLA's) , 1979, IEEE Transactions on Computers.

[6]  Bruce D. Shriver,et al.  Local Microcode Compaction Techniques , 1980, CSUR.

[7]  Eric Lindbloom,et al.  A Heuristic Test-Pattern Generator for Programmable Logic Arrays , 1980, IBM J. Res. Dev..

[8]  Kozo Kinoshita,et al.  A Design of Programmable Logic Arrays with Universal Tests , 1981, IEEE Transactions on Computers.

[9]  Jacob A. Abraham,et al.  Test Generation for Programmable Logic Arrays , 1982, DAC 1982.

[10]  K. S. Ramanatha,et al.  A Design for Testability of Undetectable Crosspoint Faults in Programmable Logic Arrays , 1983, IEEE Transactions on Computers.

[11]  Giovanni De Micheli,et al.  Smile: a computer program for partitioning of programmed logic arrays , 1983 .

[12]  Kien A. Hua,et al.  Built-In Tests for VLSI Finite-State Machines , 1984 .

[13]  Carlo H. Séquin,et al.  Design and Application of Self-Testing Comparators Implemented with MOS PLA's , 1984, IEEE Transactions on Computers.

[14]  Paolo Prinetto,et al.  PART: Programmable Array Testing Based on a Partitioning Algorithm , 1984, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[15]  Edward J. McCluskey,et al.  Lower Overhead Design for Testability of Programmable Logic Arrays , 1986, IEEE Transactions on Computers.

[16]  A. Sangiovanni-Vincentelli,et al.  Pleasure: a computer program for simple/multiple constrained unconstrained folding of programmable logic arrays , 1988, 25 years of DAC.