Design validation of RTL circuits using evolutionary swarm intelligence

In this paper, we present BEACON, a Branch-oriented Evolutionary Ant Colony OptimizatioN method which is a bio-inspired meta-heuristic for design validation and functional test generation. BEACON combines an evolutionary search technique with Ant Colony Optimization (ACO) for improved search capability. BEACON first cross-compiles the Verilog circuit source to a C++ base for fast simulation. Then, it profiles the code, keeping track of each branch and the number of times it has been visited in a database. Branch coverage provides a very useful metric for exploring the design, especially visiting the most critical states, including corner states, in the design. At 100% branch coverage, we can conclude that every control state described in the RTL has been visited. Thus, during execution, BEACON trims highly visited branches from the search and focuses the search on rarely occurring branches and paths. This approach gives a significant performance boost while maintaining a high level of coverage. Experimental results show that BEACON is able to achieve very high branch coverages with a fraction of computational cost. In addition, previous hard-to-reach corner states in the ITC99 benchmarks have now been reached by BEACON. New states can also be discovered from the RTL descriptions. For many circuits, one to two orders of magnitude speedups over existing methods have been achieved.

[1]  T. Stützle,et al.  MAX-MIN Ant System and local search for the traveling salesman problem , 1997, Proceedings of 1997 IEEE International Conference on Evolutionary Computation (ICEC '97).

[2]  Kurt Keutzer,et al.  An observability-based code coverage metric for functional simulation , 1996, Proceedings of International Conference on Computer Aided Design.

[3]  Michael S. Hsiao,et al.  Mining-guided state justification with partitioned navigation tracks , 2007, 2007 IEEE International Test Conference.

[4]  Alan J. Hu,et al.  An Effective Guidance Strategy for Abstraction-Guided Simulation , 2007, 2007 44th ACM/IEEE Design Automation Conference.

[5]  John H. Holland,et al.  Adaptation in Natural and Artificial Systems: An Introductory Analysis with Applications to Biology, Control, and Artificial Intelligence , 1992 .

[6]  Fabio Somenzi,et al.  Guiding simulation with increasingly refined abstract traces , 2006, 2006 43rd ACM/IEEE Design Automation Conference.

[7]  F. Corno,et al.  Automatic test bench generation for validation of RT-level descriptions: an industrial experience , 2000, Proceedings Design, Automation and Test in Europe Conference and Exhibition 2000 (Cat. No. PR00537).

[8]  Boris Beizer,et al.  Software testing techniques (2. ed.) , 1990 .

[9]  Alain Hertz,et al.  Ants can colour graphs , 1997 .

[10]  Scott Davidson,et al.  ITC'99 Benchmark Circuits - Preliminary Results , 1999, International Test Conference 1999. Proceedings (IEEE Cat. No.99CH37034).

[11]  Shobha Vasudevan,et al.  Efficient validation input generation in RTL by hybridized source code analysis , 2011, 2011 Design, Automation & Test in Europe.

[12]  Hussain Al-Asaad,et al.  Mutation-based validation of high-level microprocessor implementations , 2004, Proceedings. Ninth IEEE International High-Level Design Validation and Test Workshop (IEEE Cat. No.04EX940).

[13]  Tao Zhang,et al.  An abstraction-guided simulation approach using Markov models for microprocessor verification , 2010, 2010 Design, Automation & Test in Europe Conference & Exhibition (DATE 2010).

[14]  Michael S. Hsiao,et al.  An ant colony optimization technique for abstraction-guided state justification , 2009, 2009 International Test Conference.

[15]  Michael S. Hsiao,et al.  Utilizing GPGPUs for design validation with a modified Ant Colony Optimization , 2011, 2011 IEEE International High Level Design Validation and Test Workshop.

[16]  Thomas Stützle,et al.  Ant colony optimization: artificial ants as a computational intelligence technique , 2006 .

[17]  Cheng Wang,et al.  Ant colony optimization for resource-constrained project scheduling with generalized precedence relations , 2003, Proceedings. 15th IEEE International Conference on Tools with Artificial Intelligence.

[18]  Marco Dorigo,et al.  Optimization, Learning and Natural Algorithms , 1992 .

[19]  Marco Dorigo,et al.  Ant system: optimization by a colony of cooperating agents , 1996, IEEE Trans. Syst. Man Cybern. Part B.

[20]  Boris Beizer,et al.  Software Testing Techniques , 1983 .