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.
Similar content being viewed by others
References
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)
Killpack K, Kashyap C, Chiprout E (2007) Silicon Speedpath Measurement and Feedback into EDA flows. In: 44th design automation conference, pp 390–395
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
Encyclopædia Britannica. (2011) Encyclopædia Britannica Online. Online. http://www.britannica.com/EBchecked/topic/197367/evolution
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
Turing AM (1950) Computing machinery and intelligence. Mind, no 9, pp 433–360
Fogel D (1998) Evolutionary Computation: the fossil record. IEEE Press, New York
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
Fogel LJ (1962) Autonomous automata. Ind Res 4: 14–19
Rechenberg I (1971) Evolutionsstrategie—Optimierung technischer Systeme nach Prinzipien der biologischen Evolution. Ph.D. thesis
Schwefel H-P (1974) Numerische Optimierung von Computer-Modellen. Ph.D. thesis
Koza John (1992) Genetic programming: on the programming of computers by means of natural selection. The MIT Press, Cambridge
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
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
Squillero G, Tonda A (2008) A novel methodology for diversity preservation in evolutionary algorithms. In: GECCO conference
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
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
Drechsler Rolf (1998) Evolutionary algorithms for VLSI CAD. Springer, Berlin
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
Cohoon JP, Paris WD (1987) Genetic placement. IEEE Trans Comput Aided Des Integr Circuits Syst 6(6): 956–964
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
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
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
Heragu K, Patel JH, Agrawal VD (1999) A test generator for segment delay faults. In: International conference on VLSI design, pp 484–491
Corno F, Prinetto P, Sonza Reorda M (1997) Testability analysis and ATPG on behavioral RT-level VHDL. In: International test conference, pp 753–759
Rudnick EM, Patel JH (1996) Simulation-based techniques for dynamic test sequence compaction. In: International conference on computer-aided design, pp 67–73
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
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
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
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
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
Kruiskamp W, Leenaerts D (1995) DARWIN: CMOS opamp synthesis by means of a genetic algorithm. In: Design automation conference
Iskander R et al (2003) Synthesis of CMOS analog cells using AMIGO. In: Design, automation and test in Europe, pp 297–302
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
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
Sekanina L (2004) Evolvable components: from theory to hardware implementations. Springer, Berlin
Higuchi, T, Yao, X (eds) (2006) Evolvable hardware. Springer, Berlin
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
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
Squillero G (2005) MicroGP—an evolutionary assembly program generator. Genetic Program Evol Mach VI(3): 247–263
Sanchez E, Schillaci M, Squillero G (2010) Evolutionary optimization: the μGP toolkit. Springer, Berlin
Chen Li, Dey S (2001) Software-based self-testing methodology for processor cores. IEEE Trans Comput Aided Des Integr Circuits Syst, pp 369–380
Colwell B (2004) The zen of overclocking. Computer 37(3): 9–12
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
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
Price Kenneth, Storn Rainer, Lampinen Jouni (2005) Differential evolution: a practical approach to global optimization. Springer, Berlin
Poli R (2008) Analysis of the publications on the applications of particle swarm optimisation. J Artif Evol Appl 1–10
Fogel D (1995) Evolutionary computation: toward a new philosophy of machine intelligence. IEEE Press, Piscataway
Li Min, Hsiao MS (2009) An ant colony optimization technique for abstraction-guided state justification. In: International test conference, pp 1–10
Author information
Authors and Affiliations
Corresponding author
Rights 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
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00607-011-0157-9