Evolutionary Design of Electronic Devices and Circuits ± Adrian Stoica, Gerhard Klimeck, Carlos Salazar-Lazaro, Didier Keymeulen 1 , and Anil Thakoor Jet Propulsion Laboratory California Institute of Technology Pasadena, CA 91109 adrian.stoica@jpl.nasa.gov ± In Proceedings of the 1999 Congress on Evolutionary Computation, July 6 th -9 th , 1999, Washington DC. IEEE Press. 1 Also member of the Electrotechnical Laboratory, Tsukuba, Japan. Abstract- This paper addresses the use of evolutionary algorithms in the design of electronic devices and circuits. In particular, the paper introduces the idea of evolutionary design of nanodevices, and illustrates it with the design of a resonant tunneling diode. A second experiment, this time using CMOS microdevices, illustrates the use of evolutionary algorithms for circuit design. The experiments were facilitated by an Evolutionary Design Tool developed around a parallel implementation of genetic algorithms (using PGAPack), and device/circuit simulators (NEMO and SPICE). It is speculated that in the future devices and circuits may be simultaneously co-designed. 1 Introduction 1.1 Design of new devices and adaptive circuits The NASA goal to reduce payload in future space missions by avoiding on-off and artisanal task while increasing mission capability demands miniaturization. The miniaturization is obtained by applying nano-technologies which may result in devices such as application-specific integrated microinstruments and nano-satellites (satellites weighing only a few kilograms). While silicon micro device technology dominates the commercial microprocessor and memory market, the semiconductor heterostructure nano- devices allows to build miniature 2-D and 3-D sensors, actuators and intelligent microinstruments applied for example for light detection, light emission, and high-speed data transmission. The design of nanoelectronics still faces major challenges, both at device and circuit level. Although the production of these heterostructure nano-devices is enabled by the advancement of material growth techniques, the dimension reduction change the importance of some effects with respect to ordinary-sized components and some characteristics of the materials used introduce undesired effects must be compensated by new designs. The full experimental exploration of this design space is unfeasible and a reliable design tool is needed. Here is where a device simulator tool plays a paramount role. Even more, such a tool can be combined with an automated search tool, such as an evolutionary design tool, to assist in design; this largely enpowers the human designer. Beyond devices, circuits based on nanodevices have a great potential, especially in the area of fast switching logic; such designs are still a largely untouched area. Not only nanoelectronics, but microelectronics can also largely benefit from automation of design. As it is often said, analog design is more an art than a science, and the number of experts in the field is really smaller than the need, especially in the context of RF portable devices and mixed-signal circuits in systems-on-a-chip solutions. This paper presents a general tool based on evolutionary algorithms which facilitates evolutionary design of electronics, and illustrates the evolutionary design of a nanodevice and of a microelectronic circuit. 1.2 Evolutionary algorithms in electronic design The idea behind evolutionary design of electronic devices and circuits is to employ a search/optimization algorithm that operates in the space of all possible devices/circuits and determines a solution that meets the required specifications [1], [2], [3]. Most experiments focused on evolutionary design of circuits and used either Genetic Algorithms (GA) or Genetic Programming (GP). Evolutionary design of nano-devices follows the same pattern as the evolutionary design of circuits, and a same evolutionary design tool may be used. This section illustrate the concept using the evolutionary design of circuits. The evolutionary/genetic search is tightly coupled with a coded representation for the circuits. Each circuit gets associated a “genetic code” or chromosome; the simplest representation of a chromosome is a binary string, a succession of 0s and 1s that encode a circuit. Synthesis is the search in the chromosome space for the solution corresponding to a circuit with a desired functional response. The genetic search follows a “generate and test” strategy: a population of candidate solutions is maintained