Skip to main content
Log in

Artificial evolution in computer aided design: from the optimization of parameters to the creation of assembly programs

  • Published:
Computing Aims and scope Submit manuscript

Abstract

Evolutionary computation has been little, but steadily, used in the CAD community during the past 20 years. Nowadays, due to their overwhelming complexity, significant steps in the validation of microprocessors must be performed on silicon, i.e., running experiments on physical devices after tape-out. The scenario created new space for innovative heuristics. This paper shows a methodology based on an evolutionary algorithm that can be used to devise assembly programs suitable for a range of on-silicon activities. The paper describes how to take into account complex hardware characteristics and architectural details. The experimental evaluation performed on two high-end Intel microprocessors demonstrates the potentiality of this line of research.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Institutional subscriptions

Similar content being viewed by others

References

  1. Zeng J, Guo R, Cheng W-T, Mateja M, Wang J (2011) Scan-based speed-path debug for a microprocessor. IEEE Des Test Comput PP(99). doi:10.1109/MDT.2011.73 (accepted)

  2. Killpack K, Kashyap C, Chiprout E (2007) Silicon Speedpath Measurement and Feedback into EDA flows. In: 44th design automation conference, pp 390–395

  3. Callegari N, Wang L-C, Bastani P (2009) Speedpath analysis based on hypothesis pruning and ranking. In: 46th ACM/IEEE design automation conference, pp 346–351

  4. Encyclopædia Britannica. (2011) Encyclopædia Britannica Online. Online. http://www.britannica.com/EBchecked/topic/197367/evolution

  5. Darwin C (1859) On the origin of species by means of natural selection, or the preservation of favoured races in the struggle for life. Murray, London

    Google Scholar 

  6. Turing AM (1950) Computing machinery and intelligence. Mind, no 9, pp 433–360

  7. Fogel D (1998) Evolutionary Computation: the fossil record. IEEE Press, New York

    MATH  Google Scholar 

  8. Holland JH (1975) Adaptation in natural and artificial systems: an introductory analysis with applications to biology, control and artificial intelligence. The University of Michigan Press, Ann Arbor

    Google Scholar 

  9. Fogel LJ (1962) Autonomous automata. Ind Res 4: 14–19

    Google Scholar 

  10. Rechenberg I (1971) Evolutionsstrategie—Optimierung technischer Systeme nach Prinzipien der biologischen Evolution. Ph.D. thesis

  11. Schwefel H-P (1974) Numerische Optimierung von Computer-Modellen. Ph.D. thesis

  12. Koza John (1992) Genetic programming: on the programming of computers by means of natural selection. The MIT Press, Cambridge

    MATH  Google Scholar 

  13. Burke EK, Gustafson S, Kendall G (2004) Diversity in genetic programming: an analysis of measures and correlation with fitness. IEEE Trans Evol Comput 8(1): 47–62

    Article  Google Scholar 

  14. De Jong K, SarmaJ (1996) An analysis of the effects of neighborhood size and shape on local selection algorithms. In: International conference on parallel problem solving from nature. Springer, Berlin, pp 236–244

  15. Squillero G, Tonda A (2008) A novel methodology for diversity preservation in evolutionary algorithms. In: GECCO conference

  16. Etter D, Masukawa M (1981) A comparison of algorithms for adaptive estimation of the time delay between sampled signals. In: IEEE international conference on acoustics, speech, and signal processing, pp 1253–1256

  17. Etter D, Hicks M, Cho K (1982) Recursive adaptive filter design using an adaptive genetic algorithm. In: IEEE acoustics, speech, and signal processing, pp 635–638

  18. Drechsler Rolf (1998) Evolutionary algorithms for VLSI CAD. Springer, Berlin

    Google Scholar 

  19. Cohoon JP, Hegde SU, Martin WN, Richards D (1988) Floorplan design using distributed genetic algorithms. In: IEEE international conference on computer-aided design, pp 452–455

  20. Cohoon JP, Paris WD (1987) Genetic placement. IEEE Trans Comput Aided Des Integr Circuits Syst 6(6): 956–964

    Article  Google Scholar 

  21. Corno F, Prinetto P, Rebaudengo M, Sonza Reorda M (1996) GATTO: a genetic algorithm for automatic test pattern generation for large synchronous sequential circuits. IEEE Trans Comput Aided Des Integr Circuits Syst 15(8): 991–1000

    Article  Google Scholar 

  22. Hsiao MS, Rudnick EM, Patel JH (2000) Dynamic state traversal for sequential circuit test generation. ACM Trans Des Autom Electron Syst 5(3): 548–565

    Article  Google Scholar 

  23. Girard P, Landrault C, Pravossoudovitch S, Rodriguez B (1996) A diagnostic ATPG for delay faults based on genetic algorithms. In: International test conference, pp 286–293

  24. Heragu K, Patel JH, Agrawal VD (1999) A test generator for segment delay faults. In: International conference on VLSI design, pp 484–491

  25. Corno F, Prinetto P, Sonza Reorda M (1997) Testability analysis and ATPG on behavioral RT-level VHDL. In: International test conference, pp 753–759

  26. Rudnick EM, Patel JH (1996) Simulation-based techniques for dynamic test sequence compaction. In: International conference on computer-aided design, pp 67–73

  27. Corno F, Sonza Reorda M, Squillero G, Violante M (2001) On the test of microprocessor IP cores. In: Design, automation, and test in Europe, pp 02–09

  28. Sonza Reorda M, Squillero G, Corno F (1999) Approximate equivalence verification of sequential circuits via genetic algorithms. In: Automation and test in Europe, pp 754–755

  29. Corno F, Sonza Reorda M, Squillero G, Manzone A, Pincetti A (2000) Automatic test bench generation for validation of RT-level descriptions: an industrial experience. In: Design, automation and test in Europe, pp 385–389

  30. Sanchez E, Squillero G (2007) Evolutionary techniques applied to hardware optimization problems: test and verification of advanced processors. In: Palade V, Srinivasan D, Jain LC (eds) Studies on computational intelligence, vol 66. Advances in Evolutionary computing for system design. Springer, Berlin, pp 83–106

    Google Scholar 

  31. Sanchez E, Sonza Reorda M, Squillero G, Lindsay W (2004) Automatic test programs generation driven by internal performance counters. In: Microprocessor test and verification, pp 8–13

  32. Kruiskamp W, Leenaerts D (1995) DARWIN: CMOS opamp synthesis by means of a genetic algorithm. In: Design automation conference

  33. Iskander R et al (2003) Synthesis of CMOS analog cells using AMIGO. In: Design, automation and test in Europe, pp 297–302

  34. Cataldo S, Chiusano S, Prinetto P, Wunderlich H-J (2000) Optimal hardware pattern generation for functional BIST. In: Design, automation and test in Europe, pp 292–297

  35. Polian I, Becker B, Reddy SM (2003) Evolutionary optimization of Markov sources for pseudo random scan BIST. In: Design, automation and test in Europe, pp 1184–1185

  36. Sekanina L (2004) Evolvable components: from theory to hardware implementations. Springer, Berlin

    MATH  Google Scholar 

  37. Higuchi, T, Yao, X (eds) (2006) Evolvable hardware. Springer, Berlin

    MATH  Google Scholar 

  38. Sanchez E, Squillero G, Tonda A (2011) Post-silicon failing-test generation through evolutionary computation. In: 19th IFIP/IEEE international conference on very large scale integration, Hong Kong

  39. Corno F, Cumani G, Sonza Reorda M, Squillero G (2002) Efficient machine-code test-program induction. In: Proceedings of the 2002 congress on evolutionary computation, pp 1486–1491

  40. Squillero G (2005) MicroGP—an evolutionary assembly program generator. Genetic Program Evol Mach VI(3): 247–263

    Article  Google Scholar 

  41. Sanchez E, Schillaci M, Squillero G (2010) Evolutionary optimization: the μGP toolkit. Springer, Berlin

    Google Scholar 

  42. Chen Li, Dey S (2001) Software-based self-testing methodology for processor cores. IEEE Trans Comput Aided Des Integr Circuits Syst, pp 369–380

  43. Colwell B (2004) The zen of overclocking. Computer 37(3): 9–12

    Article  Google Scholar 

  44. Chakraborty A et al (2008) Dynamic thermal clock skew compensation using tunable delay buffers. IEEE Trans Very Large Scale Integr (VLSI) Syst 16(6): 639–649

    Article  Google Scholar 

  45. Hansen N (2006) The CMA evolution strategy: a comparing review. In: Larrañga P, Inza I, Bengoetxea E, Lozano JA (eds) Towards a new evolutionary computation. Advances in estimation of distribution algorithms. Springer, Berlin, pp 75–102

    Google Scholar 

  46. Price Kenneth, Storn Rainer, Lampinen Jouni (2005) Differential evolution: a practical approach to global optimization. Springer, Berlin

    MATH  Google Scholar 

  47. Poli R (2008) Analysis of the publications on the applications of particle swarm optimisation. J Artif Evol Appl 1–10

  48. Fogel D (1995) Evolutionary computation: toward a new philosophy of machine intelligence. IEEE Press, Piscataway

    Google Scholar 

  49. Li Min, Hsiao MS (2009) An ant colony optimization technique for abstraction-guided state justification. In: International test conference, pp 1–10

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Giovanni Squillero.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Squillero, G. Artificial evolution in computer aided design: from the optimization of parameters to the creation of assembly programs. Computing 93, 103–120 (2011). https://doi.org/10.1007/s00607-011-0157-9

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00607-011-0157-9

Keywords

Mathematics Subject Classification (2000)

Navigation