Evolving Cellular Automata for Self-Testing Hardware

Testing is a key issue in the design and production of digital circuits: the adoption of BIST (Built-In Self-Test) techniques is increasingly popular, but requires efficient algorithms for the generation of the logic which generates the test vectors applied to the Unit Under Test. This paper addresses the issue of identifying a Cellular Automaton able to generate input patterns to detect stuck-at faults inside a Finite State Machine (FSM) circuit. Previous results already proposed a solution based on a Genetic Algorithm which directly identifies a Cellular Automaton able to reach good Fault Coverage of the stuck-at faults. However, such method requires 2-bit cells in the Cellular Automaton, thus resulting in a high area overhead. This paper presents a new solution, with an area occupation limited to 1 bit per cell; the improved results are possible due to the adoption of a new optimization algorithm, the Selfish Gene algorithm. Experimental results are provided, which show that in most of the standard benchmark circuits the Cellular Automaton selected by the Selfish Gene algorithm is able to reach a Fault Coverage higher that what can be obtained with current engineering practice with comparable area occupation.

[1]  Hugo De Man,et al.  Cellular automata based deterministic self-test strategies for programmable data paths , 1994, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[2]  David Bryan,et al.  Combinational profiles of sequential benchmark circuits , 1989, IEEE International Symposium on Circuits and Systems,.

[3]  F. Corno,et al.  Optimizing deceptive functions with the SG-Clans algorithm , 1999, Proceedings of the 1999 Congress on Evolutionary Computation-CEC99 (Cat. No. 99TH8406).

[4]  David E. Goldberg,et al.  Genetic Algorithms in Search Optimization and Machine Learning , 1988 .

[5]  Bozena Kaminska,et al.  A Deterministic Built-In-Self-Test Generator Based on Cellular Automata Structures , 1995, IEEE Trans. Computers.

[6]  Shujian Zhang,et al.  Minimal cost one-dimensional linear hybrid cellular automata of degree through 500 , 1995, J. Electron. Test..

[7]  Melvin A. Breuer,et al.  Digital systems testing and testable design , 1990 .

[8]  Tommaso Toffoli,et al.  Cellular automata machines - a new environment for modeling , 1987, MIT Press series in scientific computation.

[9]  Giovanni Squillero,et al.  The selfish gene algorithm: a new evolutionary optimization strategy , 1998, SAC '98.

[10]  Paolo Prinetto,et al.  Cellular automata for deterministic sequential test pattern generation , 1997, Proceedings. 15th IEEE VLSI Test Symposium (Cat. No.97TB100125).

[11]  Paolo Prinetto,et al.  On the identification of optimal cellular automata for built-in self-test of sequential circuits , 1998, Proceedings. 16th IEEE VLSI Test Symposium (Cat. No.98TB100231).

[12]  B. Koenemann,et al.  Built-in logic block observation techniques , 1979 .

[13]  Paolo Prinetto,et al.  Cellular Automata for Sequent ial Test Pattern Generation , 1997 .

[14]  Paolo Prinetto,et al.  A genetic algorithm for automatic generation of test logic for digital circuits , 1996, Proceedings Eighth IEEE International Conference on Tools with Artificial Intelligence.

[15]  S. Wolfram Statistical mechanics of cellular automata , 1983 .

[16]  Andrzej Krasniewski,et al.  Circular self-test path: a low-cost BIST technique for VLSI circuits , 1989, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[17]  Vishwani D. Agrawal Editorial—Special issue on partial scan design , 1995, J. Electron. Test..

[18]  Howard C. Card,et al.  Cellular automata-based pseudorandom number generators for built-in self-test , 1989, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[19]  Giovanni Squillero,et al.  A new evolutionary algorithm inspired by the selfish gene theory , 1998, 1998 IEEE International Conference on Evolutionary Computation Proceedings. IEEE World Congress on Computational Intelligence (Cat. No.98TH8360).