Microprocessor design verification by two-phase evolution of variable length tests

This paper discusses the use of a genetic algorithm to generate test programs for the verification of the design of a modern microprocessor. The algorithm directly learns sequences of assembly-code instructions which satisfy a coverage metric for one specific part of a design. The complexity of the design is such that it is not simple to predict in advance the length of the program needed to achieve coverage, and there is a severe time penalty for evaluating long tests. This has led to the development of a genetic algorithm which uses a two phase mechanism for variation in string length, through maintenance of a diverse population with varying lengths coupled with a "meta-algorithm" for periodic larger increases.

[1]  James Monaco,et al.  Functional verification methodology for the PowerPC 604 microprocessor , 1996, DAC '96.

[2]  Anoosh Hosseini,et al.  Code generation and analysis for the functional verification of micro processors , 1996, DAC '96.

[3]  Jim Smith,et al.  Recombination strategy adaptation via evolution of gene linkage , 1996, Proceedings of IEEE International Conference on Evolutionary Computation.

[4]  P. Konas,et al.  Code generation and analysis for the functional verification of microprocessors , 1996, 33rd Design Automation Conference Proceedings, 1996.

[5]  Jim Smith,et al.  Self adaptation of mutation rates in a steady state genetic algorithm , 1996, Proceedings of IEEE International Conference on Evolutionary Computation.

[6]  Gilbert Syswerda,et al.  Simulated Crossover in Genetic Algorithms , 1992, FOGA.

[7]  James P. Cohoon,et al.  Genetic Algorithms Applied to the Physical Design of VLSI Circuits: A Survey , 1996, PPSN.

[8]  Jim Smith,et al.  An Adaptive Poly-Parental Recombination Strategy , 1995, Evolutionary Computing, AISB Workshop.

[9]  Jim Smith,et al.  Evolving Software Test Data - GA's learn Self Expression , 1996, Evolutionary Computing, AISB Workshop.

[10]  R. Raina,et al.  Functional verification methodology for the PowerPC 604 microprocessor , 1996, 33rd Design Automation Conference Proceedings, 1996.

[11]  Peter Nordin,et al.  A compiling genetic programming system that directly manipulates the machine-code , 1994 .

[12]  Jim Smith,et al.  Adaptively Parameterised Evolutionary Systems: Self-Adaptive Recombination and Mutation in a Genetic Algorithm , 1996, PPSN.