Evolutionary Electronics 1
Introduction Evolutionary Electronics (EE) is defined as the application of evolutionary techniques to the design (synthesis) of electronic circuits Evolutionary algorithm (schematic) Evolution of the parameters (sizing) given a fixed circuit topology Evolution of both parameters and circuit topology Placement and routing of the devices that compose the circuit Electronic Circuit (physical layout) 2
Motivation: why Evolutionary Electronics? Complex and performing electronic circuits are required with which the traditional design techniques cannot cope efficiently and thus produce a waste of resources Some design problems are poorly specified in the sense that the functionality is not defined in terms of a precise input/output relationship but still a global performance can be measured easily The state of advancement of electronic technology permits the exploitation of the virtues of evolutionary methods (waiting for the coming of age of nanotechnologies ) Evolutionary electronics provides an illustration of many aspects that are relevant in the real-world application of evolutionary methods 3
Electronic and Biological Devices emitter base collector the fundamental elements of information processing in electronic and genetic systems are strikingly similar [Simpson et al., Proc. IEEE, May 2004] energy unpolarized base energy uncatalyzed polarized base emitter base collector catalyzed substrate transition comp. product 4
Electronic and Biological Networks the analysis, modeling, and simulation of natural and synthetic genetic circuits, often proceed in a manner similar to that used for electronic systems.. the expertise and skills contained within electrical and computer engineering disciplines apply not only to design within biological systems, but also to the development of a deeper understanding of biological functionality. It is possible that new strategies for engineered system design may emerge from this examination of natural gene circuit architectures. [Simpson et al., Proc. IEEE, May 2004] 5
How Evolutionary Electronics works 1. A genetic representation is defined for the electronic circuits of interest 2. A set of objectives is defined in terms of functionality and performances of the desired circuit 3. An initial population (collection of individuals) is generated 4. The genome of each individual in the population is decoded into a circuit 5. The functionality and performances of the circuit are evaluated and the result is used to enforce a selection policy 6. The selected individuals are reproduced and the genetic operators are applied to obtain a new population Until the objectives are met or some stopping criterion (time, computational resources ) is fulfilled 6
Extrinsic vs. Intrinsic evolution The behavior of an electronic circuit can be estimated using a circuit simulator In extrinsic evolutionary design: each circuit is simulated to assess its performance V1 5V Vin 1 C1 2 10nF 3 R1 270kΩ 0 4 R2 1kΩ C2 100nF 5 Q1 2N2222 R3 1kΩ Vout The structure of the circuit can be almost arbitrary The circuit is virtual and cannot be damaged The simulated models are only approximations voltage (V) 1.0 0.8 0.6 0.4 0.2 0-0.2-0.4-0.6-0.8-1.0 0.0 Vin Vout 0.5 1.0 1.5 2.0 2.5 3.0 3.5 time (ms) * SPICE simulation example * circuit description: C1 2 3 10n C2 4 5 100n R1 3 1 270k R2 4 1 1k R3 0 5 1k Q1 4 3 0 Q2N2222 V1 1 0 5Vdc * input signal: Vin 2 0 SIN 0 0.2 1k 0 0 0 * simulator directives:.tran 0 3.5ms 0 0.01ms.OPTIONS TEMP=25 * device models:.model Q2N2222 NPN + IS 14.3E-15 BF 256 NF 1 + VAF 74 IKF 0.28 ISE 14.3E-15 + NE 1.3 BR 6.1 NR 1 RB 10 RC 1 + CJE 22.0E-12 MJE 0.377 + CJC 7.3E-12 MJC 0.3416 + TF 411E-12 XTF 3 VTF 1.7 + ITF 0.6 TR 46.9E-09 XT B 1.5.END 7
Extrinsic vs. Intrinsic evolution The existence of reconfigurable devices opens the way to the possibility of performing evolution directly in hardware In intrinsic evolutionary design: each circuit is physically implemented and tested The evaluation is done using real devices (no approximations) There are some constraints on the circuit structure The results can depend on the physical device used for the evolution... cell connections...... input/output circuitry... The evolutionary setting can be defined so as to produce an adaptation during the operating life of the circuit (e.g., to obtain fault tolerance) 8
Analog vs. Digital circuit evolution Analog signals Digital signals amplitude amplitude clock Analog circuit 1 time Digital circuit time V1 5V Vin C1 2 10nF 3 R1 270kΩ 0 4 R2 1kΩ C2 100nF 5 Q1 2N2222 R3 1kΩ Vout Functionality determined by connectivity and circuit parameters Mostly continuous search space Functionality determined mostly by connectivity; few circuit parameters Discontinuous search space 9
Conventional digital design Basic building blocks at various levels (silicon, transistor, gate, functional) Combinational and sequential circuits Objectives specified in terms of truth tables, state machines, hardware description languages (HDL ) There exist systematic techniques for combinational and sequential design which typically combine building blocks There is a large variety of commercial reconfigurable (programmable) devices 10
Conventional analog design Basic building blocks at various levels (silicon, transistor, functional) There are fewer analog than digital high-level standard building blocks Multiple objectives specified in terms of I/O transfer functions, power consumption, noise, operating voltage ranges No systematic methodologies for analog design. The creativity, intuition, experience of the designer is required to obtain state-of-the-art performance. Analog design is still an art rather than a science There are few commercial analog reconfigurable devices 11
The role of abstraction Abstraction is the process of disregarding some aspect of a system focusing on a subset of its actual properties Abstraction is important in human design since it reduces the number of elements that must be taken into account simultaneously The drawback ( cost of abstraction or abstraction-efficiency tradeoff ) is the less efficient use of the available resources since some system configurations are no longer considered Artificial evolution can proceed with different abstractions and explore parts of the design space that are not accessible to a human designer Space of all electronic circuits New design principles can be discovered by Current space of evolutionary designs analyzing the workings of evolved circuits Current space of conventional designs 12
The Story of the P2 13
Evolutionary digital design 14
At a glance Digital evolutionary design is mostly combinational Circuits are typically encoded as binary strings. The string is the chromosome used by evolutionary algorithms The most common genetic representations are Schematic-based: the genome contains a description of a schematic, for example the functionality of circuit elements and the interconnections between those elements Truth table-based: the content of the truth table is evolved. The genotype contains the outputs of the circuit for = each possible input. Configuration bits-based: the evolution is performed on a reconfigurable component whose functionality is defined by configuration bits. The genome is composed directly by those configuration bits Fitness typically depends on the number of correct I/O relations or on the definition of a global measure of performance 15
Reconfigurable digital devices I Programmable components that can implement a user specified digital circuits. Programmability is achieved with configuration bits that are downloaded to the component and which represent how logic gates are wired up inside of it. Programmable Array Logic (PAL) Used to compute sum-of-product terms Permits the specification of the connection between the inputs and the product lines In0 In1 Out0 = In0 In1 + + In0 In1 + Out1 = Out2 = Out0 Out1 (Note for the laboratory: obtaining outputs fixed at 0 or 1) 16
Reconfigurable digital devices II Programmable Logic Array (PLA) used to compute sum-of-product terms permits the specification of the connection between the inputs and the product lines and between the product outputs and the sum lines PAL PLA Custom reconfigurable digital devices Many kinds (e.g. POEtic Circuit, especially designed for evolutionary applications) 17
Reconfigurable digital devices III Field Programmable Gate Array (FPG A) Device composed of an array of programmable functional blocks (cells) Typically each cell can generate arbitrary combinational functions of a few number of inputs and includes some memory elements Includes a large reconfigurable network of interconnections between the cells The functionality of the cells and the interconnections are described by configuration bits whose configuration is downloaded into the chip Example: the XC 6200 family of FPGAs from Xilinx, which is often used for EE applications since the specification of the configuration bits is available and no configuration can damage the chip (this permits unconstrained evolution) MUX E S N S E W N S W F MUX S E W F MUX N S E W MUX Func. Unit MUX N E W F MUX N S E F N S E W N MUX W 18
M Example: Evolution of a robot controller Obstacle detectors Sensors encoder 1 2... 8 1 2 49 50 detector of direction PLA M [Keymeulen et al., 1998] The goal is the evolution of a controller for robot navigation The robot is put in a square arena with obstacles that do not allow free navigation but let the robot see the target (X) 1 2 3 motor decoder A PLA connects the obstacle and target detectors to a decoder that drives the wheel motors The configuration bits of the PLA constitute the genome The fitness represents the progress from 64 predefined starting positions to the target 19
Example: Evolution of arithmetic circuits: Cartesian Genetic Programming [Miller et al., 2000] Genetic representation: The outputs of the functional cells are sequentially numbered For each cell a few bits encode the connections of the inputs and the block function Feedback loops are avoided (evolution is constrained) Among the results, standard circuits such as adders with unconventional topologies or less gates than the smaller hand-designed circuit for the same function Conventional two-bit multiplier Evolved two-bit multiplier 20
Example: Evolution of arithmetic circuits II [Miller et al., 2000] Conventional three-bit multiplier (24 two-input gates + two multiplexers) Evolved three-bit multiplier (24 two-input gates) 21
Example: unconstrained evolution [Thompson et al., 1999] The goal is to discriminate between two frequencies (1KHz/10KHz) using 100 cells of a Xilinx XC 6200 FPGA The genome is constituted by the 1800 configuration bits of the cells, which specify the connectivity and functionality of the cell The input and output lines are predefined No external clock is provided to the cells No constraints are imposed to the topology (feedback loops allowed) The circuits are tested on bursts of the two kinds of signals 22
Unconstrained evolution: Results [Thompson et al., 1999] Evolved circuit Functional part Generations Functional part as digital circuit The evolved circuit is very compact It uses internal dynamics (feedback loops), physical characteristics (gate propagation time), and electromagnetic interactions not contemplated by the conventional design approach The experimenters could not understand how the circuit achieves its functionality The solution is sensitive to environmental conditions and to changes of the physical device 23
Evolutionary analog design 24
At a glance Analog circuit evolution imposes less constraints, allows more interactions and has more evolutionary potential than the evolution of digital circuits The absence of systematic analog design methodologies increases the interest in automatic synthesis solutions Analog design is intrinsically multi-objective (multi-objective evolutionary algorithms) Some possible genetic representations are Configuration bits-based: the genome is composed directly by those configuration bits of the reconfigurable component Schematic-based: the genome contains a description of a schematic, for example the functionality of circuit elements and the interconnections between those elements Tree-based: the genome is a tree structure which defines a construction process for the circuit, starting from an elementary circuit ( embryo + test fixture) Sequence matching-based: the interaction between the devices is implicitly defined by the genome in terms of sequence matching 25
Reconfigurable analog devices I Field Programmable Analog Array (FPAA) Device composed of an array of programmable functional blocks (cells). Typically each cell is built around an operational amplifier It can be used to implement filters, oscillators, amplifiers, comparators The functionality of the cells and the interconnections are described by configuration bits whose configuration is downloaded into the chip Example: The AN10E40 FPAA from Anadigm. It is composed by a 5x4 array of blocks containing an operational amplifier with programmable interconnections and on-chip programmable resistors and capacitors. FPAA array of configurable analog blocks (CAB) Detail of the analog block 26
Reconfigurable analog devices II Evolvable Motherboard (EM) The EM is an array of programmable analog switches External discrete components are connected to the matrix with daughterboards. The genetic representation corresponds to the configuration of the switches (1 bit per switch) The components can be of any type: low-level components (e.g. transistors) for fine-grained evolution, or high-level components (e.g. amplifiers, logic gates) for coarse grained evolution. Example: Evolution of an inverter with bipolar transistors Evolved circuit Fitness generations 27
Schematic-based representation The experimenter defines the kinds of electronic devices that can appear in the evolved circuit Each gene represents a device and specifies its parameters and connectivity All the components and connections must be explicitly represented in the genome The genetic representation can produce dangling components that must be removed before simulation 28
Tree-based representation (Genetic Programming - GP) The experimenter defines the kinds of electronic devices that can appear in the evolved circuit The experimenter defines set of circuit-modifying operations that alter the topology and parameters of the circuit The genome represents a program of circuit development The development starts from an embryo that contains the fixed sources and loads for the evolved circuit 29
Sequence matching-based representation (Analog Genetic Encoding AGE) The experimenter defines the kinds of electronic devices that can appear in the evolved circuit Each gene represents a device and specifies sequences of characters associated with its terminals and parameters The interactions (determined by the resistors) are implicitly defined by the device interaction map f, rather than explicitly represented in the genome Sources and loads are assigned as a fixed circuit The genetic representation can produce dangling components that must be removed before simulation 30
Example: evolution of a Gaussian function generator The goal is the evolution of a circuit that produces an output current that is a Gaussian function of a variable input voltage Sequence matching-based (AGE) Tree-based (GP) I/O behavior Evolved circuit 31
Further issues 32
Design Verification A designed circuit must be robust and perform correctly within a given operational envelope defined by the combined range of all the expected operational conditions and parameter values (power supply voltages, environment temperature, device variability and aging ) Conventional design comes equipped with verification techniques The evolutionary process Tends to take into account only the conditions in which the fitness is evaluated Can produce non conventional circuits that are difficult to understand and to verify with conventional techniques Therefore, in the use of evolutionary electronics The definition of the fitness must involve and extensive sampling of the operational envelope The evolved circuit must be tested to assess its generalization properties The possibility of including online adaptive potential must be considered 33
Summing up Evolutionary electronics illustrates many issues of the real-world application of artificial evolutionary techniques, for example Evolution can be performed in simulation or on the actual physical system The synthesis of an system can be done in the absence of a complete specification and with minimal human intervention in the design process The synthesis via evolution can achieve better use of resource relatively to a conventional design process The evolutionary process can discover new system configurations Evolutionary electronics can be applied in contexts where systematic methodologies of conventional design do not exist Real-world evolutionary synthesis typically has multiple objectives We must keep in mind the important issue of design verification 34