Journal of Electronic Testing

, Volume 20, Issue 3, pp 269–278 | Cite as

Code Generation for Functional Validation of Pipelined Microprocessors

  • F. Corno
  • E. Sanchez
  • M. Sonza Reorda
  • G. Squillero


Functional validation of pipelined microprocessors is a challenging task, as the behavior of a pipeline is determined by a sequence of instructions and by the interaction between their operands. This paper describes an approach to automatic test-program generation based on an evolutionary algorithm. The proposed methodology is able to tackle complex pipelined designs. Human intervention is limited to the formalized listing of the instruction set, and also internal parameters of the test program generator are auto-adapted. A prototype was built and exploited to generate test programs for the DLX/pII, a pipelined microprocessor. For the purpose of these experiments, test programs were devised trying to maximize the RT-level statement coverage. However, the method can be used to generate test programs on different target metrics. Results show the feasibility and effectiveness of the method.

functional validation automatic test program generation evolutionary algorithms pipelined micro processors 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    B. Bentley, “High Level Validation of Next-Generation Microprocessor,” Proc. 7th International High-Level Design Validation test Workshop, 2002, pp. 31-35.Google Scholar
  2. 2.
    P. Bose and J.A. Abraham, “Performance and Functional Verification of Microprocessors,” in 13th International Conference on VLSI Design, 2000, pp. 58-63.Google Scholar
  3. 3.
    F. Corno, M. Sonza Reorda, G. Squillero, and M. Violante, “On the Test of Microprocessor IP Cores,” DATE: IEEE Design, Automation & Test in Europe, 2001, pp. 209-213.Google Scholar
  4. 4.
    F. Corno, G. Cumani, M. Sonza Reorda, and G. Squillero, “Evolutionary Test Program Induction for Microprocessor Design Verification,” Asian Test Symposium, 2002, pp. 368-373.Google Scholar
  5. 5.
    F. Corno, G. Cumani, M. Sonza Reorda, and G. Squillero, “Fully Automatic Test Program Generation for Microprocessor Cores,” DATE: IEEE Design, Automation & Test in Europe, 2003, pp. 1006-1011.Google Scholar
  6. 6.
    F. Corno, M. Sonza Reorda, and G. Squillero, “Automatic Test Program Generation for Pipelined Processors,” SAC2003: The Eighteenth Annual ACM Symposium on Applied Computing, 2003, pp. 736-740.Google Scholar
  7. 7.
    F. Corno and G. Squillero, “An Enhanced Framework for Microprocessor Test-Program Generation,” in EUROGP2003: 6th European Conference on Genetic Programming, 2003, pp. 307-315.Google Scholar
  8. 8.
    F. Corno, G. Squillero, and M. Sonza Reorda, “Code Generation for Functional Validation of Pipelined Microprocessors,” European Test Workshop, 2003, pp. 113-118.Google Scholar
  9. 9.
    N.A. Harman, “Verifying a Simple Pipelined Microprocessor Using Maude,” Lecture Notes in Computer Science, vol. 2267, pp. 128-142, 2001.Google Scholar
  10. 10.
    J.R. Heath and S. Durbha, “Methodology for Synthesis, Testing, and Verification of Pipelined Architecture Processors from Behavioral-Level-Only HDL Code and a Case Study Example,” in Proc. IEEE Southeast Con., 2001, pp. 143-149.Google Scholar
  11. 11.
    P. Mishra, H. Tomiyama, N. Dutt, and A. Nicolau, “Automatic Verification of In-Order Execution in Microprocessors with Fragmented Pipelines and Multicycle Functional Units,” DATE: IEEE Design, Automation & Test in Europe, 2002, pp. 36-43.Google Scholar
  12. 12.
    D.A. Patterson and J.L. Hennessy, Computer Architecture-A Quantitative Approach, 2nd edn., Morgan Kaufmann, 1996.Google Scholar
  13. 13.
    P.M. Sailer and P.M. Sler, DLX Instruction Set Architecture Handbook, Morgan Kaufmann Publishers, 1996.Google Scholar
  14. 14.
    S. Tasiran and K. Keutzer, “Coverage Metrics for Functional Validation of Hardware Designs,” IEEE Design & Test of Computers, vol. 18, no. 4, pp. 36-45, 2001.Google Scholar
  15. 15.
    N. Utamaphethai, R.D. Blanton, and J.P. Shen, “Superscalar Processor Validation at the Microarchitecture Level,” in 12th IEEE International Conference on VLSI Design, 1999, pp. 300-305.Google Scholar
  16. 16.
    D. Van Campenhout, T.N. Mudge, and J.P. Hayes, “High-Level Test Generation for Design Verification of Pipelined Microprocessors,” in Design Automation Conference, 1999, pp. 185-188.Google Scholar
  17. 17.
    M.N. Velev and R.E. Bryant, “FormalVerification of Superscalar Microprocessors with Multicycle Functional Units, Exception, and Branch Prediction,” in Design Automation Conference, 2000, pp. 112-117.Google Scholar

Copyright information

© Kluwer Academic Publishers 2004

Authors and Affiliations

  • F. Corno
    • 1
  • E. Sanchez
    • 1
  • M. Sonza Reorda
    • 1
  • G. Squillero
    • 1
  1. 1.Dipartimento di Automatica e InformaticaPolitecnico di TorinoTorinoItaly

Personalised recommendations