An Evolutionary Approach to the Synthesis of Combinational Circuits

Similar documents
On Evolution of Relatively Large Combinational Logic Circuits

Evolving Digital Logic Circuits on Xilinx 6000 Family FPGAs

Implementing Multi-VRC Cores to Evolve Combinational Logic Circuits in Parallel

Vesselin K. Vassilev South Bank University London Dominic Job Napier University Edinburgh Julian F. Miller The University of Birmingham Birmingham

Evolutionary Electronics

Design Methods for Polymorphic Digital Circuits

Gate-Level Optimization of Polymorphic Circuits Using Cartesian Genetic Programming

Intrinsic Evolution of Analog Circuits on a Programmable Analog Multiplexer Array

A Divide-and-Conquer Approach to Evolvable Hardware

Co-evolution for Communication: An EHW Approach

The Input Pattern Order Problem II: Evolution of Multiple-Output Circuits in Hardware

Using Genetic Algorithm in the Evolutionary Design of Sequential Logic Circuits

SYNTHESIS OF ADDER CIRCUIT USING CARTESIAN GENETIC PROGRAMMING

Evolvable Hardware in Xilinx Spartan-3 FPGA

Wire Layer Geometry Optimization using Stochastic Wire Sampling

EHW Architecture for Design of FIR Filters for Adaptive Noise Cancellation

A comparison of a genetic algorithm and a depth first search algorithm applied to Japanese nonograms

Submitted November 19, 1989 to 2nd Conference Economics and Artificial Intelligence, July 2-6, 1990, Paris

LANDSCAPE SMOOTHING OF NUMERICAL PERMUTATION SPACES IN GENETIC ALGORITHMS

The Genetic Algorithm

Image Filter Design with Evolvable Hardware

Vol. 5, No. 6 June 2014 ISSN Journal of Emerging Trends in Computing and Information Sciences CIS Journal. All rights reserved.

Implementation of FPGA based Decision Making Engine and Genetic Algorithm (GA) for Control of Wireless Parameters

Incremental evolution of a signal classification hardware architecture for prosthetic hand control

2. Simulated Based Evolutionary Heuristic Methodology

Evolution of Sensor Suites for Complex Environments

Solving Assembly Line Balancing Problem using Genetic Algorithm with Heuristics- Treated Initial Population

Evolutionary Image Enhancement for Impulsive Noise Reduction

Genetic Algorithms with Heuristic Knight s Tour Problem

The Behavior Evolving Model and Application of Virtual Robots

Introduction to Genetic Algorithms

A Flexible Model of a CMOS Field Programmable Transistor Array Targeted for Hardware Evolution

Fault Location Using Sparse Wide Area Measurements

A Novel approach for Optimizing Cross Layer among Physical Layer and MAC Layer of Infrastructure Based Wireless Network using Genetic Algorithm

Design and Implementation of Complex Multiplier Using Compressors

Hardware Evolution. What is Hardware Evolution? Where is Hardware Evolution? 4C57/GI06 Evolutionary Systems. Tim Gordon

CHAPTER 5 PERFORMANCE EVALUATION OF SYMMETRIC H- BRIDGE MLI FED THREE PHASE INDUCTION MOTOR

Chapter 5 OPTIMIZATION OF BOW TIE ANTENNA USING GENETIC ALGORITHM

Solving Sudoku with Genetic Operations that Preserve Building Blocks

Using a Hardware Simulation within a Genetic Algorithm to Evolve Robotic Controllers

STIMULATIVE MECHANISM FOR CREATIVE THINKING

Design and Analysis of Row Bypass Multiplier using various logic Full Adders

An Experimental Study Of Combinational Logic Circuit Minimization Using Firefly Algorithm

Evolving and Analysing Useful Redundant Logic

EvoCAD: Evolution-Assisted Design

Challenging the Evolutionary Strategy for Synthesis of Analogue Computational Circuits

Biologically Inspired Embodied Evolution of Survival

Mehrdad Amirghasemi a* Reza Zamani a

A Review on Genetic Algorithm and Its Applications

MEALY FINITE STATE MACHINES: AN EVOLUTIONARY APPROACH. Nadia Nedjah. Luiza de Macedo Mourelle. Received July 2005; revised December 2005

Progress In Electromagnetics Research, PIER 36, , 2002

A Genetic Algorithm for Solving Beehive Hidato Puzzles

Evolvable Hardware: From On-Chip Circuit Synthesis to Evolvable Space Systems

Dynamic Spectrum Allocation for Cognitive Radio. Using Genetic Algorithm

(CSC-3501) Lecture 6 (31 Jan 2008) Seung-Jong Park (Jay) CSC S.J. Park. Announcement

Genetic Algorithms for Optimal Channel. Assignments in Mobile Communications

Creating a Poker Playing Program Using Evolutionary Computation

The Hardware Evolution Based on New ne-tcga Algorithm

A Retrievable Genetic Algorithm for Efficient Solving of Sudoku Puzzles Seyed Mehran Kazemi, Bahare Fatemi

Enhancing Embodied Evolution with Punctuated Anytime Learning

Department of Mechanical Engineering, College of Engineering, National Cheng Kung University

CHAPTER 3 HARMONIC ELIMINATION SOLUTION USING GENETIC ALGORITHM

An Optimized Wallace Tree Multiplier using Parallel Prefix Han-Carlson Adder for DSP Processors

Evolutionary robotics Jørgen Nordmoen

Hardware Implementation of BCH Error-Correcting Codes on a FPGA

Bridging the Gap Between Evolvable Hardware and Industry Using Cartesian Genetic Programming

OPTIMIZATION ON FOOTING LAYOUT DESI RESIDENTIAL HOUSE WITH PILES FOUNDA. Author(s) BUNTARA.S. GAN; NGUYEN DINH KIEN

Constraint Programming and Genetic Algorithms to Solve Layout Design Problem

HARMONIC REDUCTION IN CASCADED MULTILEVEL INVERTER WITH REDUCED NUMBER OF SWITCHES USING GENETIC ALGORITHMS

DETERMINING AN OPTIMAL SOLUTION

Binary Addition. Boolean Algebra & Logic Gates. Recap from Monday. CSC 103 September 12, Binary numbers ( 1.1.1) How Computers Work

CHAPTER 4 ANALYSIS OF LOW POWER, AREA EFFICIENT AND HIGH SPEED MULTIPLIER TOPOLOGIES

Fault-Tolerant Evolvable Hardware Using Field-Programmable Transistor Arrays

ARRANGING WEEKLY WORK PLANS IN CONCRETE ELEMENT PREFABRICATION USING GENETIC ALGORITHMS

Population Adaptation for Genetic Algorithm-based Cognitive Radios

Function Table of an Odd-Parity Generator Circuit

GENETICALLY DERIVED FILTER CIRCUITS USING PREFERRED VALUE COMPONENTS

Acceleration of Transistor-Level Evolution using Xilinx Zynq Platform

CS 441/541 Artificial Intelligence Fall, Homework 6: Genetic Algorithms. Due Monday Nov. 24.

4-BIT RCA FOR LOW POWER APPLICATIONS

CYCLIC GENETIC ALGORITHMS FOR EVOLVING MULTI-LOOP CONTROL PROGRAMS

High Speed Speculative Multiplier Using 3 Step Speculative Carry Save Reduction Tree

Available online at ScienceDirect. Procedia Computer Science 24 (2013 )

Evolution of fault-tolerant and noise-robust digital designs

EEE 301 Digital Electronics

Evolutionary Optimization for the Channel Assignment Problem in Wireless Mobile Network

New Genetic Operators to Facilitate Understanding of Evolved Transistor Circuits

Machine Learning in Iterated Prisoner s Dilemma using Evolutionary Algorithms

Analog Electric Circuits Synthesis using a Genetic Algorithm Approach

Developing Frogger Player Intelligence Using NEAT and a Score Driven Fitness Function

Design and simulation of a QCA 2 to 1 multiplexer

CPS331 Lecture: Genetic Algorithms last revised October 28, 2016

Preface. Julian Francis Miller

Artificial Neural Network Engine: Parallel and Parameterized Architecture Implemented in FPGA

Re-configurable Electronics Characterization Under Extreme Thermal Environment

High-speed Multiplier Design Using Multi-Operand Multipliers

Unit 3. Logic Design

AN NOVEL VLSI ARCHITECTURE FOR URDHVA TIRYAKBHYAM VEDIC MULTIPLIER USING EFFICIENT CARRY SELECT ADDER

High Speed Binary Counters Based on Wallace Tree Multiplier in VHDL

SECTOR SYNTHESIS OF ANTENNA ARRAY USING GENETIC ALGORITHM

Transcription:

An Evolutionary Approach to the Synthesis of Combinational Circuits Cecília Reis Institute of Engineering of Porto Polytechnic Institute of Porto Rua Dr. António Bernardino de Almeida, 4200-072 Porto Portugal cecilia@dee.isep.ipp.pt J. A. Tenreiro Machado Institute of Engineering of Porto Polytechnic Institute of Porto Rua Dr. António Bernardino de Almeida, 4200-072 Porto Portugal jtm@dee.isep.ipp.pt Abstract This paper proposes a genetic algorithm for designing combinational logic circuits and studies four different case examples: 2-to- multiplexer, one-bit full adder, four-bit parity checker and a two-bit multiplier. The objective of this work is to generate a functional circuit with the minimum number of gates. I.INTRODUCTION In the last decade genetic algorithms (GAs) have been applied in the design of electronic circuits, leading to a novel area of research called Evolutionary Electronics (EE) or Evolvable Hardware (EH) []. EE considers the concept for automatic design of electronic systems. Instead of using human conceived models, abstractions and techniques, EE employs search algorithms to develop good designs [2]. One decade ago Sushil and Rawlins (99) applied GAs to the combinational circuit design problem. They combined knowledge-based systems with the GA and defined a genetic operator called masked crossover. This scheme leads to other kinds of children that can not be achieved by classical crossover operators [3]. John Koza (992) adopted genetic programming to design combinational circuits. His goal was the design of functional circuits through AND, OR and NOT logic gates [4]. In the sequence of this work, Coello, Christiansen and Aguirre (996) presented a computer program that automatically generates high-quality circuit designs [5]. They use five possible types of gates (AND, NOT, OR, XOR and WIRE) with the objective of finding a functional design that minimizes the use of gates other than WIRE (essentially a logical no-operation). Miller, Thompson and Fogarty (997) applied evolutionary algorithms for the design of arithmetic circuits. The technique was based on evolving the functionality and connectivity of a rectangular array of logic cells, with a model of the resources available on the Xilinx 626 FPGA device [6]. Kalganova, Miller and Lipnitskaya (998) proposed another technique for designing multiple-valued circuits. The EH is easily adapted to the distinct types of multiplevalued gates, associated with operations corresponding to different types of algebra, and can include other logical expressions [7]. This approach is an extension of EH method for binary logic circuits proposed in [6]. In order to solve complex systems, Torresen (998) proposed the method of increased complexity evolution. The idea is to evolve a system gradually as a kind of divide-and-conquer method. Evolution is first undertaken individually on a large number of simple cells. The evolved functions are the basic blocks adopted in further evolution or assembly of a larger and more complex system [8]. More recently Hollingworth, Smith and Tyrrell (2000) describe the first attempts to evolve circuits using the Virtex Family of devices. They implemented a simple adder, where the inputs to the circuit are the two numbers and the expected output is the sum of the two input values [9]. A major bottleneck in the evolutionary design of electronic circuits is the problem of scale. This refers to the very fast growth of the number of gates, used in the target circuit, as the number of inputs of the evolved logic function increases. This results in a huge search space that is difficult to explore even with evolutionary techniques. Another related obstacle is the time required to calculate the fitness value of a circuit []. A possible method to solve this problem is to use building blocks either than simple gates. Nevertheless, this technique leads to another difficulty, which is how to define building blocks that are suitable for evolution. Timothy Gordon (2002) suggests an approach that allows evolution to search for good inductive bases for solving large-scale complex problems. This scheme generates, inherently, modular and iterative structures, that exist in many real-world circuit designs but, at the same time, allows evolution to search innovative areas of space []. Following this line of research, this paper proposes a GA for the design of combinational logic circuits. This paper is organized as follows. Section 2 introduces the problem and the adopted GA, as well as the encoding of the circuit as a chromosome, the genetic operators and the fitness function. Sections 3 and 4 present the simulation results and their comparison, respectively. The scalability problem is also analyzed. Finally, section 6 presents the main conclusions. II. PROBLEM AND ALGORITHM FORMULATION A. Problem definition In this work are considered combinational logic circuits specified by a truth table. These circuits can have multiple inputs and multiple outputs and the goal is to implement a functional circuit with the least possible complexity. For that purpose, it is defined a set of logic gates and are generated circuits with components of that specific set. In this study we define four gate sets, each one with different types of logic gates, as presented in Table. Gset 6 is the most complex set, Gset 4 and Gset 3 are medium complexity sets and Gset 2 is the simplest one.

Gate Set Gset 6 Gset 4 Gset 3 Gset 2 Table Gate sets Logic gates {AND,OR,XOR,NOT,NAND,NOR,WIRE} {AND,OR,XOR,NOT,WIRE} {AND,OR,XOR,WIRE} {AND,XOR,WIRE} For each gate set the GA searches the solution space of a function through a simulated evolution aiming the survival of the fittest strategy. In general, the best individuals of any population tend to reproduce and survive, thus improving successive generations. However, inferior individuals can, by chance, survive and also reproduce [2]. In our case, the individuals are digital circuits, which can evolve until the solution is reached (in terms of functionality and complexity). B. Circuit enconding EH systems develop chromosomes that encode the functional description of a given circuit. As with many GA applications, the resulting circuit is the phenotype as it comprises several smaller logic cells or genotypes. The adopted terminology reflects the conceptual similarity between EH, natural evolution and genetics [3]. In the GA scheme the circuits are encoded as a rectangular matrix (row column = r c) of logic cells as represented in figure. A D G population. The three different operators used are reproduction, crossover and mutation, as described in the sequel. In what concern the reproduction operator, the successive generations of new strings are reproduced on the basis of their fitness function. In this case, it is used a tournament selection [2] to select the strings from the old population, up to the new population. For the crossover operator, the strings in the new population are grouped together into pairs at random. Single point crossover is then performed among pairs. The crossover point is only allowed between cells to maintain the chromosome integrity. The mutation operator changes the characteristics of a given cell in the matrix. Therefore, it modifies the gate type and the two inputs, meaning that a completely new cell can appear in the chromosome. Moreover, it is applied an elitist algorithm and, consequently, the best solutions are always kept for the next generation. To run the GA we have to define the number of individuals to create the initial population P. This population is always the same size across the generations, until the solution is reached. The crossover rate CR represents the percentage of the population P that reproduces in each generation. Likewise MR is the percentage of the population P that mutates in each generation. Usually, in order to achieve the population evolution, CR is high (e.g., 80%-95%) and, to prevent population diversity, MR is low (e.g., %-5%). In our case, to evolve the circuits, we adopt P = 3000 individuals, CR = 95% and MR = 5%. B E H D. The fitness function Inputs C Fig.. Example of a matrix 3 3 to represent a circuit. Each cell is represented by three genes: <input><input2><gate type>, where input and input2 are one of the circuit inputs, if they are in the first column, or one of the previous outputs, if they are in other columns. The gate type is one of the elements adopted in the gate set. The chromosome is constituted by as many triplets of this kind as the matrix size demands. For example, the chromosome that represents a 3 3 matrix is depicted in figure 2. 0 26 Input Input Gate Input Input Gate A I Fig. 2. Chromosome for the example of figure. C. The genetic operators F The initial population of circuits (strings) is generated at random. The search is then carried out among this I Outputs The calculation of the fitness function F is divided in two parts f and f 2 that measure the functionality and the simplicity, respectively. Firstly, we compare the output produced by the GA-generated circuit with the expected values, according with the truth table, on a bit-per-bit basis (i.e., f ). Once the circuit is functional, the GA tries to generate circuits with the least number of gates. Therefore, the index f 2, that measures the simplicity, is increased by one (zero) for each wire (gate) of the generated circuit, yielding: f = 2 ni no () f 2 = f 2 + if gate type = wire (2) f, F < f F = f + f2, F f (3) where ni and no represent the number of inputs and outputs of the circuit. III. SIMULATION RESULTS This section shows the implementation of four different combinational logic circuits, namely, a 2-to- multiplexer, a one-bit full adder, a four-bit parity checker and a two-bit multiplier.

A. 2-to- multiplexer The first case study is a 2-to- multiplexer circuit, with a truth table with 3 inputs {S 0, I, I 0 } and output {O}. In this case, the matrix has a size of r c = 3 3, and the length of each string representing a circuit (i.e., the chromosome length) is CL = 27. Due to the stochastic nature of the GAs, for each gate set we performed several simulations. Figure 3 shows the fitness function F versus the number of generations N to achieve the solution. The best gate set is the one that presents the solution after the least number of generations N with the higher final fitness function F. Since the 2-to- multiplexer has ni = 3 and no =, it results f = 8 and F 2. B. One-bit full adder The second case study is a one-bit full adder circuit, with a truth table with 3 inputs {A, B, C in } and 2 outputs {S, C out }. In this case, the matrix has a size of r c = 3 3, and the length of each string representing a circuit (i.e., the chromosome length) is CL = 27. Due to the stochastic nature of the GAs, for each gate set we performed several simulations. Figure 5 shows the fitness function F versus the number of generations N to achieve the solution. The best gate set is the one that presents the solution after the least number of generations N with the higher final fitness function F. Since the one-bit full adder has ni = 3 and no = 2, it results f = 6 and F 20. 3 20 2 9 8 9 0 7 0 Fig. 3. Fitness function F versus number of generations N to achieve the solution. Table 2 shows the average number of generation N av and We can see that, in this case, the best gate set is Gset 2, because it leads to a smaller average number of generations N av and the best average final fitness function F av. The best resulting circuits have final fitness function F = 2 as shown in figure 4. Table 2 GA results for the 2-to- multiplexer Gset 6 27.5.25 Gset 4 9.75.35 Gset 3 3.55.65 Gset 2 2.05.5 Fig. 5. Fitness function F versus number of generations N to achieve the solution. Table 3 shows the average number of generation N av and We can see that, in this case, the best gate sets are Gsets 3 and 2, because they lead to a smaller average number of generations N av and the best average final fitness function F av. The best resulting circuits have final fitness function F = 9 as shown in figure 6. Table 3 GA results for the one-bit full adder Gset 6 72.45 8.5 Gset 4 53.65 8.35 Gset 3 32.40 8.45 Gset 2 34.86 8.57 A S 0 B S I O C in I 0 C out Fig. 4. GA generated 2-to- mulpiplexer Fig. 6. GA generated One-bit Full Adder circuit

C. Four-bit parity checker The third case study is a four-bit parity (even) checker circuit, with a truth table having 4 inputs {A 3, A 2, A, A 0 } and output {P}. The size of the matrix is r c = 4 4 and the chromosome length is CL = 48. Figure 7 shows the fitness function F versus the number of generations N to achieve the solution. In this case ni = 4 and no =, resulting f = 6 and F 24. D. Two-bit multiplier The fourth case study is a two-bit multiplier. Therefore the truth table has 4 inputs {A, A 0, B, B 0 } and 4 outputs {C 3, C 2, C, C 0 }. The matrix, for this example, is r c = 4 4 dimensional, and the chromosome as size CL = 48. Figure 9 shows the fitness function F versus the number of generations N to achieve the solution. For the two-bit multiplier we have ni = 4 and no = 4, leading to f = 64 and F 72. 26 25 73 72 24 23 22 7 70 2 69 20 0 68 0 00 000 Fig. 7. Fitness function F versus number of generations N to achieve the solution. Table 4 shows the average number of generation N av and Once again we conclude that Gset 2 is the best gate set for generating the combinational logic circuits. Figure 8 illustrates the schematic of the best circuit with an F = 25. Table 4 GA results for the four-bit parity checker Gset 6 32.55 2.70 Gset 4 20.40 2.95 Gset 3 3.754 22.65 Gset 2 7.95 23.95 Fig. 9. Fitness function F versus number of generations N to achieve the solution. Table 5 shows the average number of generation N av and The best results are obtained with Gset 2 and the schematic of the best resulting circuit, with F = 7, is showed in figure. Table 5 GA results for the two-bit multiplier Gset 6 699.00 69.5 Gset 4 83.05 69.50 Gset 3 432.40 70.25 Gset 2 362.35 70.45 A 3 A P B C 3 A 2 A 0 A B 0 C 2 A 0 Fig. 8. GA generated Four-bit Parity Checker circuit C C 0 Fig.. GA generated Two-bit Multiplier circuit.

IV. COMPARISON OF THE RESULTS In this section we compare the four case studies through the required average number of generations N av and the resulting average fitness function F av (figures and 2). 0 000.00 Nav 00.00 0.00 6-bit 4-bit.00.00 Gate Sets 2-to- multiplexer One-bit adder Four-bit parity checker Two-bit multiplier Fig.. Average number of generations to achieve the solution, for the Gsets under evaluation Fig. 3. Average number of generations for the, 4-bit and 6-bit parity checker for the Gsets under evaluation. 0 Fav Average Fitness function (Fav) 0.00.00 Gate Sets 4-bit 6-bit Fig. 4. Average final fitness function for the, 4-bit and 6-bit parity checker for the Gsets under evaluation. 2-to multiplexer Four-bit parity checker One-bit adder Two-bit multiplier Fig. 2. Average fitness function for the Gsets under evaluation We conclude that, independently of the circuit complexity, the best results occur for a reduced Gset. This conclusion has similarities with the RISC vs CISC processor dilemma but, before establishing a final conclusion, more extensive experiments with other circuits are required. Another issue that emerges with the increasing number of circuit inputs and outputs is the scalability problem. Since the truth table grows exponentially, the GA computational burden to achieve the solution increases dramatically. Figures 3-6 show the evolution of N av and F av for the parity checker and the full adder circuits, as the number of bits increases. Nav 000 00 0 -bit Fig. 5. Average number of generations for the -bit and 2- bit full adder for the Gsets under evaluation.

Fav 0 -bit Fig. 6. Average final fitness function for the -bit and 2- bit full adder for the Gsets under evaluation. The scalability problem lies on the gate-based strategy for Boolean implementation. Consequently, more efficient implementation alternatives (e.g., binary decision diagrams) are currently under evaluation. VI. CONCLUSIONS This paper proposed a GA for designing combinational logic circuits given a set of logic gates. The final circuit is optimized in terms of complexity (with the minimum number of gates). For all the case studies the GA has proved to be efficient, even when the number of outputs in the truth table increases. It is also visible that the performance of the GA increases as the complexity of the gate set decreases. Experiments show that we have better results with Gset 2, that is, the simplest set that we have adopted in this study. Motivated by the results future investigation will address the design of sequential logic circuits and the feasibility versus complexity versus convergence of the resulting circuits. V. REFERENCES [] Zebulum, R. S., Pacheco, M. A. and Vellasco, M. M., Evolutionary Electronics: Automatic Design of Electronic Circuits and Systems by Genetic Algorithms, CRC Press, 200. [2] Thompson, A. and Layzell, P. Analysis of unconventional evolved electronics, Communications of the ACM, Vol. 42, 999, pp. 7-79. [3] Louis, S.J. and Rawlins, G. J., Designer Genetic Algorithms: Genetic Algorithms in Structure Design, in Proceedings of the Fourth International Conference on Genetic Algorithms, 99. [4] Koza, J. R., Genetic Programming. On the Programming of Computers by means of Natural Selection, MIT Press, 992. [5] Coello, C. A., Christiansen, A. D. and Aguirre, A. H., Using Genetic Algorithms to Design Combinational Logic Circuits, Intelligent Engineering through Artificial Neural Networks. Vol. 6, 996, pp. 39-396. [6] Miller, J. F., Thompson, P. and Fogarty, T, Algorithms and Evolution Strategies in Engineering and Computer Science: Recent Advancements and Industrial Applications. Chapter 6, 997, Wiley. [7] Kalganova, T., Miller, J. F. and Lipnitskaya, N., Multiple_Valued Combinational Circuits Synthesised using Evolvable Hardware, in Proceedings of the 7 th Workshop on Post-Binary Ultra Large Scale Integration Systems, 998. [8] Torresen, J., A Divide-and-Conquer Approach to Evolvable Hardware, in Proceedings of the Second International Conference on Evolvable Hardware. Vol. 478, 998, pp. 57-65. [9] Hollingworth, G. S., Smith, S. L. and Tyrrell, A. M., The Intrinsic Evolution of Virtex Devices Through Internet Reconfigurable Logic, in Proceedings of the Third International Conference on Evolvable Systems. Vol. 80, 2000, pp. 72-79. [] Vassilev, V. K. and Miller, J. F., Scalability Problems of Digital Circuit Evolution, in Proceedings of the Second NASA/DOD Workshop on Evolvable Hardware, 2000, pp. 55-64. [] Gordon, T. G. and Bentley, P., Towards Development in Evolvable Hardware, in Proceedings of the 2002 NASA/DOD Conference on Evolvable Hardware, 2002. pp. 24-250. [2] Goldberg, D. E., Genetic Algorithms in Search Optimization and Machine Learning, 989, Addison-Wesley. [3] Hounsell, B. and Arslan, T., A Novel Evolvable Hardware Framework for the Evolution of High Performance Digital Circuits, in Proceedings of the Genetic and Evolutionary Computation Conference, 2000, pp. 525-532.