Conference Paper

Silicon validation of evolution-designed circuits

Authors:
To read the full-text of this research, you can request a copy directly from the authors.

Abstract

No silicon fabrication and characterization of circuits with topologies designed by evolution has been done before, leaving open questions about the feasibility of the evolutionary design approach, as well as on how high performance, robust, or portable such designs could really be when implemented in hardware. This paper is the first to report on a silicon implementation of circuits evolved in simulation. Several circuits were evolved and fabricated in a 0.5-micron CMOS process. This paper focuses on results of logical gates evolved at a transistor level. It discusses the steps taken in order to increase the chances of robust and portable designs, summarizes the results of characterization tests based on chip measurements, and comments on the performance comparing to simulations.

No full-text available

Request Full-text Paper PDF

To read the full-text of this research,
you can request a copy directly from the authors.

... The problem of evolving digital circuits has been intensely analyzed in the recent past [4,8,10,11,12,18]. A considerable effort has been spent on evolving very efficient (regarding the number of gates) digital circuits. ...
... Function set (gates) used in numerical experiments. Some functions are independent on the input (functions 0 and 1), other depend on only one of the input variables (functions 2-5), other functions depend on two input variables (functions [6][7][8][9][10][11][12][13][14][15] and the other functions depends on three input variables (functions [16][17][18][19]. These functions are taken from [12]. ...
Conference Paper
Full-text available
Multi expression programming (MEP) is a genetic programming (GP) variant that uses linear chromosomes for solution encoding. A unique MEP feature is its ability of encoding multiple solutions of a problem in a single chromosome. These solutions are handled in the same time complexity as other techniques that encode a single solution in a chromosome. In this paper MEP is used for evolving digital circuits.
... Evolutionary techniques have been extensively used for evolving digital circuits [1,2,3,8,4,5,6,7,11], due to their practical importance. The case of even-parity circuits was deeply analyzed [2,3,8,7] due to their simple representation. ...
Preprint
Full-text available
A genetic programming (GP) variant called traceless genetic programming (TGP) is proposed in this paper. TGP is a hybrid method combining a technique for building individuals and a technique for representing individuals. The main difference between TGP and other GP techniques is that TGP does not explicitly store the evolved computer programs. Two genetic operators are used in conjunction with TGP: crossover and insertion. TGP is applied for evolving digital circuits for the even-parity problem. Numerical experiments show that TGP outperforms standard GP with several orders of magnitude.
... The problem of evolving digital circuits has been intensely analyzed in the recent past [54,56,57,58,91]. A considerable effort has been spent on evolving very efficient (regarding the number of gates) digital circuits. ...
Preprint
Full-text available
Automatic Programming is one of the most important areas of computer science research today. Hardware speed and capability have increased exponentially, but the software is years behind. The demand for software has also increased significantly, but it is still written in old fashion: by using humans. There are multiple problems when the work is done by humans: cost, time, quality. It is costly to pay humans, it is hard to keep them satisfied for a long time, it takes a lot of time to teach and train them and the quality of their output is in most cases low (in software, mostly due to bugs). The real advances in human civilization appeared during the industrial revolutions. Before the first revolution, most people worked in agriculture. Today, very few percent of people work in this field. A similar revolution must appear in the computer programming field. Otherwise, we will have so many people working in this field as we had in the past working in agriculture. How do people know how to write computer programs? Very simple: by learning. Can we do the same for software? Can we put the software to learn how to write software? It seems that is possible (to some degree) and the term is called Machine Learning. It was first coined in 1959 by the first person who made a computer perform a serious learning task, namely, Arthur Samuel. However, things are not so easy as in humans (well, truth to be said - for some humans it is impossible to learn how to write software). So far we do not have software that can learn perfectly to write software. We have some particular cases where some programs do better than humans, but the examples are sporadic at best. Learning from experience is difficult for computer programs. Instead of trying to simulate how humans teach humans how to write computer programs, we can simulate nature.
... The problem of evolving digital circuits has been intensely analyzed in the recent past [54,56,57,58,91]. A considerable effort has been spent on evolving very efficient (regarding the number of gates) digital circuits. ...
Thesis
Full-text available
Automatic Programming is one of the most important areas of computer science research today. Hardware speed and capability has increased exponentially, but the software is years behind. The demand for software has also increased significantly, but the it is still written in old-fashion: by using humans. There are multiple problems when the work is done by humans: cost, time, quality. It is costly to pay humans, it is hard to keep them satisfied for long time, it takes a lot of time to teach and train them and the quality of their output is in most cases low (in software, mostly due to bugs). The real advances in the human civilization appeared during the industrial revolutions. Before the first revolution most people worked in agriculture. Today, very few percent of people work in this field. A similar revolution must appear in the computer programming field. Otherwise we will have so many people working in this field as we had in the past working in agriculture. How people know how to write computer programs? Very simple: by learning. Can we do the same for software? Can we put the software to learn how to write software? It seems that is possible (to some degree) and the term is called Machine Learning. It was first coined in 1959 by the first person who made a computer perform a serious learning task, namely Samuel \cite{samuel1}. However, things are not so easy as in humans (well, truth to be said - for some humans it is impossible to learn how to write software). So far we do not have a software which can learn perfectly to write software. We have some particular cases where some programs do better than humans, but the examples are sporadic at best. Learning from experience is difficult for computer programs. Instead of trying to simulate how humans teach humans how to write computer programs, we can simulate nature. What is the advantage of nature when solving problems? Answer: Nature is huge and can easily solve problems by brute force. It can try a huge number of possibilities and choose the best one (by a mechanism called survival). Genetic algorithms are inspired by nature. They have random generation of solutions, they have crossover, mutation, selection and so on. However, genetic algorithms cannot simulate the nature perfectly because they run on computers which have limited resources. Can genetic algorithms learn programming? Yes. The subfield is called Genetic Programming \cite{koza1} and is quite popular today. In Genetic Programming, we evolve computer programs by using ideas inspired from nature. Because Genetic Programming belongs to Machine learning, it should be able to learn. It can do that if it has a set of so called training data which is nothing but a set of pairs (input;output). The most important aspect of learning in Genetic Programming is how the fitness is computed. That measurement tells us how great is learning so far. After training we usually use a so called test set to see if the obtained program is able to generalize on unseen data. If we still get minimum errors on test set, it means that we have obtained an intelligent program. However, one should not imagine that things are so easy. Currently Genetic Programming has generated some good results, but in general it cannot generate large computer programs. It cannot generate an operating system. Not even an word editor, not even a game. The programmer of such system should know its limitations and should help the system to reduce the search space. It is very important to ask Genetic Programming to do what humans cannot do.
... The problem of designing digital circuits by using evolutionary techniques has been intensely analyzed in the recent past [5,14,21]. Genetic Programming (GP) and its variants were mainly used for this purpose [13,7]. ...
Conference Paper
Full-text available
Best subtree genetic programming (BSTGP) is a special genetic programming (GP) variant whose aim is to offer more possibilities, for selecting the solution, compared to standard GP. In the case of BSTGP the best subtree is chosen for proving the solution. This is different from standard GP where the solution was given by the entire tree. In this paper we apply BSTGP for designing digital circuits for the even-n-parity problem. Numerical results show that BSTGP can improve GP search in terms of success rate and computational effort.
... Evolutionary techniques have been extensively used for evolving digital circuits [1], [2], [3], [8], [4], [5], [6], [7], [11], due to their practical importance. The case of evenparity circuits was deeply analyzed [2], [3], [8], [7] due to their simple representation. ...
Conference Paper
Full-text available
A genetic programming (GP) variant called traceless genetic programming (TGP) is proposed in this paper. TGP is a hybrid method combining a technique for building the individuals and a technique for representing the individuals. The main difference between TGP and other GP techniques is that TGP does not explicitly store the evolved computer programs. Two genetic operators are used in conjunction with TGP: crossover and insertion. TGP is applied for evolving digital circuits for the even-parity problem. Numerical experiments show that TGP outperforms standard GP with several orders of magnitude.
Article
Glossary Definition of the Subject Introduction Evolutionary Algorithms Evolution in Materio: Historical Background Evolution in Materio: Defining Suitable Materials Evolution in Materio Is Verified with Liquid Crystal Evolution in Materio Using Liquid Crystal: Implementational Details The Computational Power of Materials Future Directions Bibliography
Article
Full-text available
Intrinsic evolution has been shown to be capable of exploit- ing the physical properties of materials to solve problems, however most researchers have chosen to limit themselves to using standard electronic components. However, these components are human designed and inten- tionally have predictable responses, so they may not be the most suitable physical devices to use when using a stochastic search technique. In- deed allowing computer controlled evolution (CCE) to manipulate novel physical media might allow much greater scope for the discovery of un- conventional solutions. Last year the authors demonstrated, for the first time, that CCE could manipulate liquid crystal to perform computa- tional tasks (i.e frequency discrimination, robot control). In this paper, we demonstrate that it is also possible to evolve logic gates in liquid crystal.
Article
Reconfigurable Circuit (RC) platforms can be configured to implement complex combinatorial and sequential logic. In this paper we investigate various RC technologies and discuss possible methods to optimise their power, speed and area. To address the drawbacks of existing RC technologies we propose a generic architecture we call "OFRL" (On-the-Fly Reconfigurable Logic). Our objective is to provide a low power, high speed platform for reconfigurable circuit and dynamically reconfigurable logic applications that use fewer transistors than existing technologies.
Chapter
The problems of electronic circuit design are increasing as demand for improvements increases. In this review, we have introduced a promising new type of solution to these difficulties: evolvable hardware. This emerging field exists at the intersection of electronic engineering, computer science, and biology. The benefits brought about by evolvable hardware are particularly suited to a number of applications, including the design of low-cost hardware, poorly specified problems, creation of adaptive systems, fault-tolerant systems, and innovation. The chapter has also reviewed and analyzed current research trends in evolvable hardware in depth. In particular, the research focusing on innovation, evolvability, and platforms have been described, and a recent example of a developmental evolutionary electronics system designed by the authors has been provided. Evolvable hardware is still a young field. It does not have all the answers to the problems of circuit design, and there are still many difficulties to overcome. Nevertheless, these new ideas may be one of the brightest and best hopes for the future of electronics.
Conference Paper
Full-text available
In this paper we present a new method to find developmental descriptions for gate-level feed forward combinatorial circuits. In contrast to the traditional description of FPGA circuits in which an external bit stream explicitly describes the internal architecture and the connections of the circuit, developmental descriptions form the circuit by synchronously running an identical developmental program in each building block of the circuit. Unlike some previous works, the connections are all local here. Evolution is used to find the developmental code for the given problem. We use an innovative fitness function to increase the performance of evolution in search for the solutions, and also relax the position and order of the inputs and output(s) of the circuit to increase the density of the solutions in the search space. The results show that the chance of finding a solution can be increased up to 375% compared to the use of traditional fitness function. The preliminary studies show that this method is capable of describing basic circuits and is easily scalable for modular circuits.
Conference Paper
Fault tolerance is a necessary ingredient of autonomous circuitry and evolvable hardware has proven to be an effective fault recovery method. In this paper we show for a certain type of fault, called an anticipated fault, in-situ reconfiguration is not necessary.
Article
Full-text available
A discussion on the genetic programming was presented. It was found that computer programs that functioned via Darwinian evolution were creating inventions that were novel and useful enough to be patented. The application of genetic programming for machine intelligence and design were presented.
Conference Paper
Full-text available
Evolvable Hardware (EHW) refers to HW design and self reconfiguration using evolutionary/genetic mechanisms. The paper presents an overview of some key concepts of EHW, describing also a set of selected applications. A fine-grained Field Programmable Transistor Array (FPTA) architecture for reconfigurable hardware is presented as an example of an initial effort toward evolution-oriented devices. Evolutionary experiments in simulations and with a FPTA chip in-the-loop demonstrate automatic synthesis of electronic circuits. Unconventional circuits, for which there are no textbook design guidelines, are particularly appealing to evolvable hardware. To illustrate this situation, one demonstrates here the evolution of circuits implementing parametrical connectives for fuzzy logics. In addition to synthesizing circuits for new functions, evolvable hardware can be used to preserve existing functions and achieve fault-tolerance, determining circuit configurations that circumvent the faults. In addition, we illustrate with an example how evolution can recover functionality lost due to an increase in temperature. In the particular case of space applications, these characteristics are extremely important for enabling spacecraft to survive harsh environments and to have long life
Conference Paper
Full-text available
This article focuses on the application of artificial avolution to the synthesis of analog active filters. The main objective of this research is the achievement of a new class of systems, with advantageous features compared to conventional ones, such as lower power consumption, higher speed and more robustness to noise. The particular problem of designing the amplifier of an AM receiver is examined in this work. Genetic algorithms are employed as our evolutionary tool and two sets of experiments are described. The first set has been carried out using a single objective, the desired frequency response of the circuit. In a second set of experiments, three other objectives have been included in the system. A new multi-objective evaluation methodology was conceived for this second set of experiments. A second approach for evolving active filters, using programmable chips, is also discussed in this paper
Article
Full-text available
Three hypotheses are formulated. First, in the “design space” of possible electronic circuits, conventional design methods work within constrained regions, never considering most of the whole. Second, evolutionary algorithms can explore some of the regions beyond the scope of contentional methods, raising the possibility that better designs can be found. Third, evolutionary algorithms can in practice produce designs that are beyond the scope of conventional methods, and that are in some sense better. A reconfigurable hardware controller for a robot is evolved, using a conventional architecture with and without orthodox design constraints. In the unconstrained case, evolution exploited the enhanced capabilities of the hardware. A tone discriminator circuit is evolved on an FPGA without constraints, resulting in a structure and dynamics that are foreign to conventional design and analysis. The first two hypotheses are true. Evolution can explore the forms and processes that are natural to the electronic medium, and nonbehavioral requirements can be integrated into this design process, such as fault tolerance. A strategy to evolve circuit robustness tailored to the task, the circuit, and the medium, is presented. Hardware and software tools enabling research progress are discussed. The third hypothesis is a good working one: practically useful but radically unconventional evolved circuits are in sight
Article
Full-text available
This article focuses on the application of artificial evolution to the synthesis of analog active filters. The main objective of this research is the achievement of a new class of systems, with advantageous features compared to conventional ones, such as lower power consumption, higher speed and more robustness to noise. The particular problem of designing the amplifier of an AM receiver is examined in this work. Genetic algorithms are employed as our evolutionary tool and two sets of experiments are described. The first set has been carried out using a single objective, the desired frequency response of the circuit. In a second set of experiments, three other objectives have been included in the system. A new multi-objective evaluation methodology was conceived for this second set of experiments. A second approach for evolving active filters, using programmable chips, is also discussed in this paper.
Article
Abstract This paper describes scalability issues of Evolutionary- driven automatic synthesis of electronic circuits. The article begins by reviewing ,the concepts of circuit evolution and discussing the limitations of this technique when ,trying to achieve more ,complex ,systems. The paper continues by describing techniques developed by the authors to partially overcome the limitations of evolution, such as the use of domain knowledge, design re-use and the development of hardware accelerators, such as stand-alone board-level evolvable system (SABLES), which was built to speed up the evolutionary ,design ,of electronic ,circuits. We also propose new directions of research that address scalability, such as: 1) evolutionary compilation ,of descriptions ,from behavioral,Hardware ,Description languages ,(HDL) to structural HDL (for both ,the ,case ,of digital ,and analog/mixed signal) 2) evolutionary synthesis, converting from,synthesizable ,analog ,HDL to circuits ,and ,3) hardware-software partitioning (co-design) for CPU/FPGA hybrids.
Conference Paper
Evolvable hardware (EHW) refers to automated synthesidoptimization of HW (e.g. electronic circuits) using evolutionary algorithms. Extrinsic EHW refers to evolution using software (SW) simulations of HW models, while intrinsic EHW refers to evolution with HW in the loop, evaluating directly the behaviorhesponse of HW. For several reasons (including mismatches between models and physical HW, limitations of the simulator and testing system, etc.) circuits evolved in SW may not perform the same way when implemented in HW, and vice-versa. This portubilify problem limits the applicability of SW evolved solutions, and on the other hand, prevents the analysis (in SW) of solutions evolved in HW. This paper introduces a third approach to EHW called rnixtrinsic EHW (MEHW). In MEHW evolution takes place with hybrid populations in which some individuals are evaluated intrinsically and some extrinsically, within the same generation or in consecutive ones. A set of experiments using a Field Programmable Transistor Array (FPTA) architecture is presented to illustrate the portability problem, and to demonstrate the efficiency of mixtrinsic EHW in solving this problem.
Conference Paper
This paper introduces a new approach to the development of equivalent models. Models of various accuracy and simulation speed my be needed in diflerent contexts of design and analysis, or within different simulators. The models may be of similar or different nature, and could be for example structural or behavioral. Traditional model development and tuning is manual, and proceeds by finding one of the models, which is then used to derive equivalent model(s), e.g. a simpler behavioral model. It is not guarantied that this simpler equivalent model is consistent with the thing it models in the first place (although it may be an approximation of the more complex model). This paper offers a means to automate modeling and derive the two or more equivalent models simultaneously and consistent with each other. The approach presented here relies on search algorithms to automatically explore the space of possible solutions in different model search spaces, alternating the evaluation of models of different type and resulting in models that have consistent behavior. This mixed-model search (MMS) approach is demonstrated with an example in which an evolutionary algorithm used as the search method automatically determines consistent equivalent models for a problem in which a software model and a hardware model would be otherwise inconsistent.
Conference Paper
The purpose of this paper is twofold: first, to illustrate a stand-alone board-level evolvable system (SABLES) and its performance, and second to illustrate some problems that occur during evolution with real hardware in the loop, or when the intention of the user is not completely reflected in the fitness function. SABLES is part of an effort to achieve integrated evolvable systems. SABLES provides autonomous, fast (tens to hundreds of seconds), on-chip evolution involving about 100,000 circuit evaluations. Its main components are a JPL Field Programmable Transistor Array (FPTA) chip used as transistor-level reconfigurable hardware, and a TI DSP that implements the evolutionary algorithm controlling the FPTA reconfiguration. The paper details an example of evolution on SABLES and points out to certain transient and memory effects that affect the stability of solutions obtained reusing the same piece of hardware for rapid testing of individuals during evolution. It also illustrates how specifications not completely reflected in the fitness function, such as the time scales of response for logical circuits, may lead to overall unsatisfactory solutions. Both such situations can be handled with appropriate modification of fitness function and additional testing.
Conference Paper
GeneticFPGA is a Java-based tool for evolving digital circuits on Xilinx XC4000EX<sup>TM</sup> and XC4000XL<sup>TM</sup> devices. Unlike other FPGA architectures popular with evolutionary hardware researchers, the XC4000 series architectures cannot accept arbitrary configuration data. Only a small subset of configuration bit patterns will produce operational circuits; other configuration bit patterns produce circuits which are unreliable and may even permanently damage the FPGA device. GeneticFPGA uses novel software techniques to produce legal circuit configurations for these devices, permitting experimentation with evolvable hardware on the larger, faster more mainstream devices. In addition, these techniques have led to methods for evolving circuits which are neither temperature, voltage, nor silicon dependent. An 8-bit counter and several digital frequency dividers have been successfully evolved using this approach. GeneticFPGA uses Xilinx's JBits<sup>TM</sup> interface to control the generation of bitstream configuration data and the XHWIF portable hardware interface to communicate with a variety of commercially available FPGA-based hardware. GeneticFPGA, JBits, and XHWIF are currently being ported to the Xilinx Virtex<sup>TM</sup> family of devices, which will provide greatly increased reconfiguration speed and circuit density
Article
We present a method of evolving analog electronic circuits using a linear representation and a simple unfolding technique. While this representation excludes a large number of circuit topologies, it is capable of constructing many of the useful topologies seen in hand-designed circuits. Our system allows circuit size, circuit topology, and device values to be evolved. Using a parallel genetic algorithm we present initial results of our system as applied to two analog filter design problems. The modest computational requirements of our system suggest that the ability to evolve complex analog circuit representations in software is becoming more approachable on a single engineering workstation.
27:13 Figure 5: Evolved NAND gate tested for 2~ switching period: simulation in the left and silicon measurements in the right. rXin GuoScalability issues in evolutionary synthesis of electronic circuits Lessons leamed and challenges ahead, Computational Synthesis Workshop
  • A Stoica
  • R S Zebulum
  • D Keymeulen
  • M I Ferguson
Stoica, A., Zebulum, R. S., Keymeulen, D., Ferguson, M.I., Simulation 10:27:13 Figure 5: Evolved NAND gate tested for 2~ switching period: simulation in the left and silicon measurements in the right. rXin Guo, “Scalability issues in evolutionary synthesis of electronic circuits Lessons leamed and challenges ahead, Computational Synthesis Workshop, AAAI Spring Symposium Series, Stanford University, CA March 24-27,2003 Pages: 233- 238 httD://www.mae.comelI.edu/ccsl/conf/
  • J R Koza
  • M A Keane
  • M J Skeeter
Koza, J.R., Keane, M.A., and Skeeter, M.J., " Evolving Inventions ", Scientific American, February, 2003.
  • Pcrez-Uribe
PCrez-Uribe (ed), vol. 1478, pp. 125-133, LNCS, Springer- Verlag, 1998.
Proc. of NASA/DoD Workshop on Evolvable Hardware (EH2000)