Quo Vadis evolvable hardware

10
Quo Vadis Evolvable Hardware? Moshe Sipper, Daniel Mange, and Eduardo Sanchez From Darwin to Darware: Why computer engineers have started listening to Mother (Nature). W hether one looks outside the window or stands in front of a mirror, nature’s work is evident in all its glory. Be it a pine tree, a flea, or a human being, nature has designed highly complex machines, the construction of which is still well beyond our cur- rent engineering capabilities. Nature is the grandest engineer known to man—though a blind one at that: her designs come into existence through the slow process, over mil- lions of years, known as evolution by natural selection [2]. As put forward by Charles Darwin in his 1859 masterpiece, On the Origin of Species, evolution is based on “...one general law, leading to the advancement of all organic beings, namely, multiply, vary, let the strongest live and the weakest die.’’ [1]. 50 April 1999/Vol. 42, No. 4 COMMUNICATIONS OF THE ACM

Transcript of Quo Vadis evolvable hardware

Quo VadisEvolvableHardware?

Moshe Sipper, Daniel Mange, and Eduardo Sanchez

From Darwin to Darware: Why computer engineers havestarted listening to Mother (Nature).

Whether one looks outside the window or stands in

front of a mirror, nature’s work is evident in all its

glory. Be it a pine tree, a flea, or a human being,

nature has designed highly complex machines, the

construction of which is still well beyond our cur-

rent engineering capabilities. Nature is the grandest engineer known to man—though

a blind one at that: her designs come into existence through the slow process, over mil-

lions of years, known as evolution by natural selection [2]. As put forward by Charles

Darwin in his 1859 masterpiece, On the Origin of Species, evolution is based on “...one

general law, leading to the advancement of all organic beings, namely, multiply, vary, let

the strongest live and the weakest die.’’ [1].

50 April 1999/Vol. 42, No. 4 COMMUNICATIONS OF THE ACM

The evolutionary process is based on four basicprinciples:

• Individual organisms vary in viability in the envi-ronments that they occupy.

• This variation is heritable. • Individuals tend to produce more offspring than

can survive on the limited resources available in theenvironment.

• In the ensuing struggle for survival, the individuals best adapted to the environment arethe ones that will survive to reproduce.

The continual workings of this process over the millennia cause populations of organisms tochange, generally becoming better adapted to theirenvironments.

Evolution has not only produced ingenious solu-tions to specific problems—for example, structuraldesigns such as eyes or wings—but indeed has found(and founded) entirely new processes to aid in theemergence of complex organisms. Two of the mostimportant ones are ontogeny and learning.

Most natural organisms consist of numerous ele-mental units called cells (for example, a humanbeing is composed ofapproximately sixtytrillion cells). Eachand every cell con-tains the entire plan of theorganism, known as the genome: aone-dimensional chain of deoxyribonu-cleic acid (DNA) that contains theinstructions necessary for the making of theindividual. Known also as multicellular organisms,they develop through the process of ontogeny,which involves the successive divisions of a fertilizedmother cell, ultimately resulting in a completebeing. The genome—or genotype—thus gives rise tothe so-called phenotype: the mature organism thatemerges from the ontogenetic process. The geno-type-phenotype distinction is fundamental innature: while it is the phenotype that is subjected tothe survival battle, it is the genotype that retains theevolutionary benefits.

Ontogeny can be viewed as one of nature’stricks for combating the information explosioninherent in the definition of a complex design:rather than define a one-to-one plan (a homuncu-lus), nature uses a compressed definition that ismore akin to a recipe or a construction program.Further compression can be attained by introduc-ing the process of learning. The organism that

emerges from the ontogenetic process is not fullyequipped to handle every aspect of its daily exis-tence, but rather proceeds to improve its behaviorby learning how to cope with new situations asthey are encountered (this is most notable amongmammals). The introduction of learning reducesthe amount of information that needs to beencoded in the genome.

Over the past few years a growing number ofcomputing scientists and engineers have been turn-ing to nature, seeking inspiration to augment thecapabilities of their artificial systems. In a recentpaper [10], Sipper et al. noted that such bio-inspiredsystems can be partitioned along three axes, corre-

sponding to the three processes mentionedpreviously: phylogeny (evolution),ontogeny, and epigenesis (learning); theydubbed this the POE model. Whileresearch in this area can be traced back tothe 1950s, when the first computerswere used to carry out simulationsbased on these ideas, much of the

recent work is centered on the con-struction of actual hardwaredevices.

T h e u l t i m a t e g o a l o f bio-inspired system engineers is to create more adaptive systems, in which “adaptive” refers to a

system’s ability to undergo modifi-cations according to changing circum-

stances, thus ensuring its continuedfunctionality. One often speaks of an envi-

ronment and of a system’s adjustment to changingenvironmental conditions. The fact that hardwareevolves is perhaps not surprising in and of itself,after all, the Intel 80x86 “species’’ evolved from amere 29,000 transistors in 1978 (the 8086) to7,500,000 transistors in 1997 (the Pentium II), notto mention the many functionalities that have beenadded over the years.1 Thus, the processor hasadapted to its environment, which is, ultimately, theusers. This evolutionary process involves what issometimes referred to as the “hand of God’’: theengineer who designs the chip. With bio-inspiredhardware the aim is to reduce the amount of humandesign necessary. The ultimate goal is to build a sys-tem that will evolve, develop (in an ontogeneticsense), and learn—in short, adapt—on its own, thatis, with no human intervention. As an example,

1Intel chip history: www.visionbs.com/intel.htm

COMMUNICATIONS OF THE ACM April 1999/Vol. 42, No. 4 51

52 April 1999/Vol. 42, No. 4 COMMUNICATIONS OF THE ACM

imagine some future chip family that evolves on itsown from the “8086’’ epoch to the “Pentium’’epoch. Obviously, it will need to be equipped withthe ability to accrue additional material resources (aswith natural evolution); what is far from obvious atthis point is how to induce this kind of ability. Insummary, we want to replace the human engineerwith a blind yet potentially more powerful one.

There is still a long road to travel before we cancreate an autonomously evolving system. Our intentin this article is to describe a number of currentmilestones, and to trace some of the possible devel-opments of the near future.

From Carbon to Silicon: Configurable CircuitsWithin the field of bio-inspired hardware, a majorenabling technology is that of configurable circuits,and especially field-programmable gate arrays, orFPGAs. FPGAs, which have been coming of ageover the past few years, are large, fast integrated cir-cuits that can be modified or configured at almostany point by the end user [12].

The primary distinction that this technologybrings about is that between programmable circuitsand configurable ones [7]. A programmable circuitceaselessly iterates through a three-phase loop, wherean instruction is first fetched from memory, afterwhich it is decoded, then to be passed on to the finalexecute phase. The execute phase may require severalclock cycles; the process is then repeated for the nextinstruction, and so on. A configurable circuit, on theother hand, can be regarded as having a single, non-iterative fetch phase: the so-called configurationstring, fetched from mem-ory, requires no furtherinterpretation, and isdirectly used to configurethe hardware. No furtherphases or iterations areneeded, as the circuit is nowconfigured for the task athand. The ability to controlthe hardware in such a directmanner is a double-edgedsword: the user is able toaccess a much wider rangeof functionalities, with theprice to be paid being amore arduous design task.

Within the domain ofconfigurable computingone can distinguish betweentwo types of configuration

strings: static and dynamic [7]. A static configura-tion string, aimed at configuring the circuit to per-form a given function, is loaded once at the outset,after which it does not change during the executionof the task at hand. Static applications are mainlyaimed at attaining the classic goal in computing:that of improving performance, either in terms ofspeed, resource utilization, or area usage. Dynamicconfigurability involves a configuration string thatcan change during execution of the task at hand.Dynamic systems are able to undergo modificationsaccording to changing circumstances, thus continu-ing to function within their dynamic environments.As such, they represent an excellent substrate forimplementing the adaptive systems discussed in thisarticle.

Figure 1. The Firefly evolware board. The system is an evolv-ing, one-dimensional, non-uniform cellular automaton. Each ofthe 56 cells contains a genome that represents its rule table;these genomes are initialized randomly, to be subjected toevolution. The board contains the following components: (1)LED indicators of cell states (top), (2) switches for manuallysetting the initial states of cells (top, below LEDs), (3) XilinxFPGA chips (below switches), (4) display and knobs for con-trolling two parameters (‘time steps’ and ‘configurations’) ofthe cellular programming algorithm (bottom left), (5) a syn-chronization indicator (middle left), (6) a clock pulse genera-tor with a manually adjustable frequency from 0.1Hz to 1MHz(bottom middle), (7) an LCD display of evolved rule tablesand fitness values obtained during evolution (bottom right),and (8) a power-supply cable (extreme left). (Note that thelatter is the system’s sole external connection.)

Two Examples of Current-Day Bio-Inspired HardwareIn the following section we will describe twodynamic systems inspired by two of the processesoutlined previously: evolution and ontogeny. Learn-ing hardware, as well as more in-depth expositions ofthe systems discussed herein can be found in therecent book by Mange and Tomassini [4].

Evolving hardware: The Firefly machine. Theidea of applying the biological principle of naturalevolution to artificial systems, introduced more thanfour decades ago, has experienced impressive growthin the past few years. Usually grouped under the termevolutionary algorithms or evolutionary computation,are the domains of genetic algorithms, evolutionstrategies, evolutionary programming, and geneticprogramming [6]. As a generic example of artificialevolution we consider genetic algorithms.

A genetic algorithm is an iterative procedure thatinvolves a constant-size population of individuals,each one represented by a finite string of symbols—the genome—encoding a possible solution in a givenproblem space. This space, referred to as the searchspace, comprises all possible solutions to the prob-lem at hand. The algorithm sets out with an initialpopulation of individuals that is generated at ran-dom or heuristically. In every evolutionary step,known as a generation, the individuals in the currentpopulation are decoded and evaluated according tosome predefined quality criterion, referred to as thefitness function. To form a new population (the nextgeneration), individuals are selected according totheir fitness and transformed via genetically inspiredoperators, of which the most well known arecrossover (“mixing’’ two or more genomes to formnovel offspring) and mutation (randomly flippingbits in the genomes). Iterating this evaluation-selec-tion-crossover-mutation procedure, the genetic algo-rithm may eventually find an acceptable solution,that is, one with high fitness.

Evolutionary algorithms are common nowadays,having been successfully applied to numerous prob-lems from different domains, including optimiza-tion, automatic programming, circuit design,machine learning, economics, immune systems,ecology, and population genetics, to mention a few.

One of the recent uses of evolutionary algorithmsis in the burgeoning field of evolvable hardware,which involves, among others, the use of FPGAs asa platform on which evolution takes place [8, 10].The Firefly machine is one such example; our goal inconstructing it was to demonstrate a system in whichall evolutionary operations (fitness evaluation, selec-tion, crossover, and mutation) are carried out online,that is, in hardware [9, 10].

Firefly is based on the cellular automata model, adiscrete dynamical system that performs computa-tions in a distributed fashion on a spatially extendedgrid [9]. A cellular automaton consists of an array ofcells, each of which can be in one of a finite numberof possible states, updated synchronously in discretetime steps according to a local, identical interactionrule. The state of a cell at the next time step is deter-mined by the current states of a surrounding neigh-borhood of cells. This transition is usually specifiedin the form of a rule table, delineating the cell’s nextstate for each possible neighborhood configuration.The cellular array (grid) is n-dimensional, wheren=1, 2, 3 is used in practice. Here, we consider aone-dimensional grid, in which each cell can be inone of two states (0 or 1), and has three neighbors(itself, and the cells to its immediate left and right);the rule table thus comprises eight bits since thereare eight possible neighborhood configurations.Non-uniform cellular automata have also been con-sidered; for these the local update rule need not beidentical for all grid cells [9].

Based on the cellular programming evolutionaryalgorithm [9], we implemented an evolving, one-dimensional, non-uniform cellular automaton. Each

COMMUNICATIONS OF THE ACM April 1999/Vol. 42, No. 4 53

The ultimate goal of bio-inspired

system engineers is to create more adaptive systems, in

which “adaptive” refers to a system’s ability to undergo

modifications according to changing circumstances,

thus ensuring its continued functionality.

of the system’s 56 binary-state cells contains agenome that represents its rule table. These genomesare initialized at random, to be subjected to evolu-tion. The system must evolve to resolve a global syn-chronization task: upon presentation of a randominitial configuration of cellular states, the cellularautomaton must reach, after a bounded number oftime steps, a configuration whereupon the states ofthe cells oscillate between all 0s and all 1s on succes-sive time steps (this may be compared to a swarm offireflies, which evolve over time to flash on and offin unison). Due to the local connectivity of the sys-tem, this global behavior—which involves the entiregrid—represents a difficult task. Nonetheless, byapplying cellular programming, the system evolves(that is, the genomes change) such that the task issolved. The machine is depicted in Figure 1.

The Firefly machine exhibits complete onlineevolution; all its operations are carried out in hard-ware with no reference to an external computer.This demonstrates that evolving ware, or evolware,can be constructed [9]. Such evolware systems per-

mit enormous gains in execution speed (for exam-ple, Firefly runs 1000 times faster than a simulationon a high-performance workstation). While thesynchronization task is not a real-world applicationand was selected to act as a benchmark problem forour evolware demonstration, Firefly does open upinteresting avenues for future research. Evolwaremachines that operate in an autonomous manner

can be used to construct autonomous mobile robots,as well as for the constructionof controllers for noisy,changing environments [10].

Ontogenetic hardware:The BioWatch. The BioWatchis one of the applicationsdesigned as part of the Embry-onics (embryonic electronics)project, whose final objective isthe development of very large-scale integrated circuits, whichare capable of self-repair andself-replication [3, 4]. Thesetwo bio-inspired properties,characteristic of the livingworld, are achieved by trans-posing certain features of cellu-lar organization in nature ontothe two-dimensional world ofintegrated circuits in silicon.

The BioWatch is an artificial “organism’’ designedto count minutes (from 00 to 59) and seconds (from00 to 59); it is thus a modulo-3600 counter. Thisorganism is one-dimensional and is comprised offour cells with identical physical connections and anidentical set of resources. The organization is multi-cellular (as with living beings), with each cell realiz-ing a unique function, described by its gene (seeFigure 2a).

The genome is the set of all the genes of theBioWatch, and each gene is a sub-program, charac-terized by a set of instructions and by its horizontalcoordinate X. Storing the whole genome in each cellrenders the cell universal, that is, capable of realizingany gene of the genome. This is another bio-inspired property: each of our (human) cells alsocontains the entire genome, though only part of it isused (for example, liver cells do not use the samegenes as muscle cells). Depending on its position inthe organism, each cell interprets the genome,extracting and executing the gene that configures it.The BioWatch thus performs what is known in biol-ogy as cellular differentiation (see Figure 2b).

Self-repair of an artificial organism allows partialreconstruction of the original device in case of a

54 April 1999/Vol. 42, No. 4 COMMUNICATIONS OF THE ACM

2 3 4X= 1

Countmod 10

Countmod 6

Countmod 10

Countmod 6

Figure 2a. Multicellular organization of the BioWatch.

6

X= 1 2 3 4

10 6 10 6 10 6 10 6 10 6 10 6 10 6 10

Figure 2b. Cellular differentiation of the BioWatch.

5 5 5(5) 42 (3) (4) 3X= 1

mod6

mod10

mod6

mod10

Spare partsOriginal counter

New counter New counter

Faulty cell

Figure 3. Self-repair of the BioWatch. Old coordinates areshown in parentheses.

minor fault. In the BioWatch, each cell performs oneof two specific tasks: a modulo-6 or a modulo-10count (see Figure 2a). Self-repair can be attained bydynamically reconfiguring the task executed by someof the cells. In order to implement this process, theBioWatch must have as many spare cells to the rightof the array as there are faulty cells to repair (thereare four spare cells in the example of Figure 3). Self-repair is achieved by bypassing the faulty cell andshifting to the right all or part of the original cellu-lar array. The new coordinates, thus defined, lead tothe dynamic reconfiguration of the task performedby the cell (modulo-6 or modulo-10 count).

Self-replication of an artificial organism com-pletely reconstructs the original device in case of amajor fault. In the BioWatch, the self-replicationprocess rests on two assumptions: (1) there exists asufficient number of spare cells to the right of thearray (four in our example), and (2) the calculationof the coordinates produces a cycle (X=1 –>2 –>3 –>4 –> 1 in Figure 4). As the same pattern of coordi-nates produces the same pattern of genes, self-repli-cation can be easily accomplished if themicroprogram of the genome, associated with thehomogeneous network of cells, produces severalinstances of the basic pattern of coordinates.

With a larger number ofcells it becomes possible toadd the extensions needed fora practical use of theBioWatch: preserving the cur-rent time while self-repair isbeing effected, and settingand resetting the time (see

Figure 5). It is also quite easy to introduce additionalfunctions such as computing the date, keeping trackof the day of the week, and handling leap years.

The Future of Bio-Inspired HardwareAccording to current evolutionary theory, life onearth originated about 4 billion years ago, butevolved slowly for about 3.5 billion years; this isknown as the pre-Cambrian period. Then, in a rela-tively short span of a few million years, beginningabout 550 million years ago—the Cambrianperiod—a vast array of multicellular life abruptlyemerged. This period is also known as the Cambrianexplosion. The first advanced cell, which served as abasis for all higher life forms (eukaryotes), came intoexistence when some kind of host acquired as sym-biotic partner a number of smaller components;these latter—known as organelles—originated asfree-living bacteria. The host and the organellesentered into an endosymbiotic relationship, that is,symbiosis in which a symbiont dwells within thebody of its symbiotic partner. (The endosymbiotictheory was put forward by Lynn Margulis in theearly 1970s [5]; though controversial at the time, ithas gained acceptance during the intervening years.)

The evolution of microprocessors, as effected byengineers (the “hand of God’’ discussed earlier inthis article), seems to have followed a similar path.Units that were originally “free-living,’’ situated out-side the processor, were moved into it: the memorymanagement unit (MMU), the floating point unit(FPU), and the cache memory, all of which were atfirst separate units, are found today within theprocessor itself. The latest development involves theaddition of reconfigurable on-chip surfaces; forexample, Triscend has recently announced a micro-processor chip with a 65% reconfigurable surface,with only 35% of the surface serving as a classicalcontroller to manage the chip’s operation [11].

Does this new “organelle’’ portend the upcoming“Cambrian explosion” of adaptive, bio-inspiredhardware? The trend toward a merger of the classi-cal-processor industry with the configurable-com-puting one will probably not only continue, butintensify in the future. While FPGAs currently rep-resent only a small niche within the computer-hard-

COMMUNICATIONS OF THE ACM April 1999/Vol. 42, No. 4 55

Daughter counterMother counter

2 3 412 3 4X= 1

mod6

mod10

mod6

mod10

mod6

mod10

mod6

mod10

Figure 4. Self-replication of the BioWatch.

Figure 5. An eight-cell BioWatch. (Note: while our long-term objective is the design of very large-scale integrated cir-cuits, each BioWatch cell is currently implemented in an Actel1020 FPGA circuit and embedded within a small plastic boxthat serves as a demonstration module.)

ware industry, this new development might elevatethem to ubiquity. These new processors will findtheir way to every desktop, providing a base foradaptive machines. This might lead to an explosionof adaptive-hardware applications—computers thatcan change not only their inner workings but indeedtheir inner structure in response to changes in theenvironment.

The environment in question includes everythingthat the configurable processor contacts: other inter-nal units within the computer, the user (or users),and the network. Future computers might thus beshipped only partially designed, to be then subjectedto evolution in the field—that is, on the desktop.Furthermore, they might repair themselves upon suf-fering damage, as the BioWatch does. Ultimately,computers might evolve to improve their own per-formance—that is, they might go from the 8086epoch to the 80286 epoch (as noted previously)without the intervention of a human engineer.

The road ahead is, however, still fraught withmany obstacles. While the electronic support forincreased adaptability might exist, there are stillmajor unresolved issues, some of which we discusshere. For one thing, we have still not mastered thistechnology: configuring a configurable processor isat least as hard (if not harder) than programming aclassical processor, and the available tools for config-uration are far behind those for programming.

The application of bio-inspired methodologiesmight serve to offset this problem by obviating theneed for human design altogether. One mustremember, however, that natural evolution hasrequired a huge amount of resources (in terms oftime and space), and most of the avenues exploredhave been dead ends (there are many more extinctspecies than surviving ones). The ideal path mightthus be somewhere between complete design andcomplete autonomy: initial human design followedby further autonomous adaptation.

Another major issue is that of hierarchy. Naturehas evolved elemental building blocks, out of whichshe constructs more complex systems: moleculescombine to form cells, cells combine to form tissues,tissues combine to form organisms, and organismscombine to form societies. Such a layered approachhas not escaped computing practitioners in theirbattle against increasing complexity (for example,high-level languages have been introduced, hidingmuch of the lower-level complexity). We haveaddressed this issue within the Embryonics projectframework by adding a molecular level to the extantcellular level: each cell is composed of yet finer ele-ments—referred to as molecules—allowing self-

repair to take place within the cell as well as outsideit; the resulting system is more efficient in its use ofchip surface (only extracellular self-repair was delin-eated earlier in this article; for a full account thereader is referred to [4]). Note that such hierarchies,which are of major concern within the configurable-computing community, are currently engineeredinto our artificial systems whereas in nature theyhave emerged through evolution.

Despite these obstacles, the future seems pregnantwith possible applications for adaptive hardware. Inthe end it will probably be the enabling technologythat furnishes the impetus for progress in this area.The evolution of chip technology might well be theultimate harbinger of evolving chips.

References1. Darwin, C. On the Origin of Species by Means of Natural Selection, or

the Preservation of Favoured Races in the Struggle for Life. John Murray,London, 1859.

2. Dawkins, R. The Blind Watchmaker. W.W. Norton and Company,New York, 1986.

3. Mange, D., Madon, D., Stauffer, A., and Tempesti, G. Von Neumannrevisited: A Turing machine with self-repair and self-reproductionproperties. Robotics and Autonomous Systems 22, 1 (1997), 35–58.

4. Mange, D. and Tomassini, M Eds. Bio-Inspired Computing Machines:Toward Novel Computational Architectures. Presses Polytechniques etUniversitaires Romandes, Lausanne, Switzerland, 1998.

5. Margulis, L. Symbiosis and evolution. Scientific American 225, 1 (July1971), 48–57.

6. Michalewicz, Z. Genetic Algorithms + Data Structures = Evolution Pro-grams, 3d ed. Springer-Verlag, Heidelberg, 1996.

7. Sanchez, E., Sipper, M., Haenni, J-O., Beuchat, J.L., Stauffer, A. andPérez-Uribe, A. Static and dynamic configurable systems. IEEE Trans-actions on Computers. To appear.

8. Sanchez, E. and Tomassini, M., Eds. Towards evolvable hardware. Lec-ture Notes in Computer Science, vol. 1062, Springer-Verlag, Heidelberg,1996.

9. Sipper, M. Evolution of Parallel Cellular Machines: The Cellular Pro-gramming Approach. Springer-Verlag, Heidelberg, 1997.

10. Sipper, M., Sanchez, E., Mange, D., Tomassini, M., Pérez-Uribe, A.,and Stauffer, A. A phylogenetic, ontogenetic, and epigenetic view ofbio-inspired hardware systems. IEEE Transactions on EvolutionaryComputation 1, 1 (Apr. 1997), 83–97.

11. Turley, J. Triscend ES reconfigures microcontrollers. MicroprocessorReport 12, 15 (1998), 12–13.

12. Villasenor, J. and Mangione-Smith, W.H. Configurable computing.Scientific American 276, 6 (June 1997), 54–59.

Moshe Sipper ([email protected]) is a senior researcher at the Swiss Federal Institute of Technology in Lausanne, Switzerland;lslwww.epfl.chDaniel Mange ([email protected]) is a professor at the Swiss Federal Institute of Technology in Lausanne, Switzerland;lslwww.epfl.ch Eduardo Sanchez ([email protected]) is a professor atthe Swiss Federal Institute of Technology in Lausanne, Switzerland;lslwww.epfl.ch

Permission to make digital or hard copies of all or part of this work for personal or class-room use is granted without fee provided that copies are not made or distributed forprofit or commercial advantage and that copies bear this notice and the full citation onthe first page. To copy otherwise, to republish, to post on servers or to redistribute tolists, requires prior specific permission and/or a fee.

© 1999 ACM 0002-0782/99/0400 $5.00

c

56 April 1999/Vol. 42, No. 4 COMMUNICATIONS OF THE ACM

COMMUNICATIONS OF THE ACM April 1999/Vol. 42, No. 4 57

Pierre Marchal

Field-programmable gate arrays (FPGAs) are inte-grated circuits, which constitute the “new kid intown’’ where digital hardware technology is con-cerned. An FPGA is an array of logic blocks (cells)placed in an infrastructure of interconnections,which can be programmed at three distinct levels(see Figure 1): (1) the function of the logic cells,(2) the interconnections between cells, and (3) theinputs and outputs. All three levels are configuredvia a string of bits that is loaded from an externalsource, either once or several times. In the lattercase the FPGA is considered reconfigurable. FPGAsare highly versatile devices that offer the designera wide range of design choices and options. How-ever, this potential power necessitates a suite oftools in order to design a system. Essentially, thesetools generate the configuration bit string, givensuch inputs as a logic diagram or a high-level func-tional description. Our focus here ison the hardware aspect of digitalFPGAs; we shall not treat such issuesas programming tools and analogFPGAs [4, 5].

FPGAs enable engineers to miti-gate the effects entailed by the well-known tradeoff in computingbetween cost and performance. Whenone sets about implementing a cer-tain computational task, obtainingthe highest performance (speed) isinarguably achieved by constructinga specialized machine, that is, hard-ware. This possibility exists, forexample, in the form of application-specific integrated circuits (ASICs); however, theprice per application as well as the turnaround time(from design to actual operation) are both quiteprohibitive. On the whole, the computing industryhas opted for general-purpose computing, whichtrades maximum speed for much lower design andimplementation costs. A general-purpose processorcan be easily and quickly instructed to change itstask, say, from word processing to number crunch-ing. This ability is made possible since such aprocessor is programmable; nonetheless, program-ming (and reprogramming) does not change theprocessor’s hardware. An FPGA is programmable at

the hardware level, thus combining the advantagesof both general-purpose processors and specializedcircuits.

Types of FPGAsAs shown in Figure 2, there are four classes ofFPGAs, based on the way they are configured. Con-figurable circuits can only be configured once (bythe user), after which no further changes areeffected (for this reason they are also known asone-time programmable). Reconfigurable circuitscan be configured several times, and are dividedinto two sub-classes: static and dynamic [2]. Withstatic circuits the configuration string is loadedonce at the outset, after which the task in questionis executed with no further hardware changes tak-ing place. With dynamic reconfigurable circuits theunderlying hardware may change at any point dur-

Field-Programmable Gate Arrays

logic cell l/O cell

configurableinterconnections

configurablefunctions

configuration string

FPGAconfigurable

reconfigurablestatic

dynamicpartial

full

Figure 1. A schematic diagram of a field-programmablegate array (FPGA). An FPGA is an array of logic cellsplaced in an infrastructure of interconnections, which canbe programmed at three distinct levels.

Figure 2. A classification of FPGAs, based on the wayconfiguration is performed.

ing the task’s execution. Dynamic circuits are fur-ther divided into fully reconfigurable devices, inwhich the whole circuit is reconfigured, and par-tially reconfigurable devices, in which only part ofthe circuit is reconfigured. A further distinction inthe domain of FPGAs is between fine-grained cir-cuits, in which the basic cell is simple (OR, AND,and NOT), and coarse-grained circuits, in which thebasic cell is more complex (multiplexers, lookuptables, and arithmetic and logic units). Table 1lists the major FPGA manufacturers, along withcharacteristics of their product lines.

The first family of FPGAs was introduced by Xilinxin 1985 and, as shown in Table 2, the technologyhas evolved considerably since then. With the eraof deep submicron technology now upon us, a hugenumber of transistors can be placed on a singlechip.1 Managing such high-complexity circuits isquite complicated where ASICs are concerned,while FPGAs, with their regular structure, are easier

to handle (for example, automatic synthesis soft-ware tools are more easily used with FPGAs as com-pared to ASICs).

What We Can Expect from Future FPGAs In order to solve a number of problems with extantarchitectures (low resource utilization, routing con-gestion, high interconnect delays, and insufficientI/O connections) researchers are looking into thepossibility of stacking two-dimensional FPGA cir-cuits so as to obtain three-dimensional structures.Another important issue is that of dynamic (runtime) reconfiguration, which is currently resource-intensive. For example, as shown in Table 2, themost advanced FPGA circuits to date require a con-figuration string containing millions of bits; if onewishes to maintain dozens (or even hundreds) of

58 April 1999/Vol. 42, No. 4 COMMUNICATIONS OF THE ACM

Company Family Granularity Configuration Mode Cell Count

Actel MX fine-grained configurable 295–2,438

Altera FLEX10KE coarse-grained static 6,656–12,160

Atmel AT40K fine-grained partially reconfigurable 256–2,304

Dynachip DL6000 coarse-grained partially reconfigurable 265–3,136

Gatefield GF260F fine-grained static 5,400–6,200

Lucent ORCA 2C/2T coarse-grained static 100–900

QuickLogic pASIC2 fine-grained configurable 192–672

Xilinx XC4000XLA/XV coarse-grained static 576–8,464

Parameter 1985 1998 Ratio

Transistor width 3 microns 0.25 micron 12

Die size 25mm2 400mm2 16

Clock frequency 20MHz 350MHz 17

Pins per package 48 630 13

Number of cells 64 1,368 21

Size of configuration string (in bits) 11,360 5,433,888 478

Power supply 5 volts 2.5 volts 2

Table 1. Major FPGA manufacturers, along with characteristics of their product lines (note that for each family of products, there are circuits with different cell counts; the table lists the minimal and maximal values).

Table 2. Evolution of FPGA technology.

1Submicron technology refers to circuits with transistor widths between 0.5–1micron, while deep submicron technology involves transistor widths below 0.25micron.

COMMUNICATIONS OF THE ACM April 1999/Vol. 42, No. 4 59

different configuration strings simultaneously, and switchbetween them dynamically, a huge memory is required—which is currently beyond our technological capabilities.Future FPGAs will need to overcome this obstacle.

Another development that can be expected to occuris the combination of general-purpose technology withreconfigurable technology, giving rise to two types ofarchitectures: standard, general-purpose processorchips, equipped with a reconfigurable surface, andFPGA-like devices, in which the basic cell is a general-purpose processor (for example, the field-programma-ble processors arrays—FPPAs—described in [1]). Finally,while extant FPGAs use cells executing basic logic opera-tions (AND and OR), an important research avenue isthat of cells that execute mathematical operations [3](adders, multipliers, dividers, and square rooters).These latter circuits require fewer resources, while facil-itating the programming of complex operations (as anexample, consider the division of two numbers, whichmight take up the entire surface of a logic-based FPGAchip; with these novel, mathematical-based chips, onlya small portion of the FPGA would be used up).

The field of FPGAs is continually sprouting new off-shoots, and the future shall probably see a plethora ofexciting new developments and applications—not theleast of which are in the field of evolvable hardware.

References1. Girau, B., Marchal, P., Nussbaum, P., Tisserand, A., and Restrepo, F.

Evolvable platform for array processing: a one-chip approach. In Pro-ceedings of MicroNeuro’99, 7th International Conference on Microelectron-ics for Neural, Fuzzy, and Bio-inspired Systems. (Granada, Spain), 1999.

2. Sanchez, E., Sipper, M., Haenni, J.-O., Beuchat, J.-L., Stauffer, A. andPérez-Uribe, A. Static and dynamic configurable systems. IEEE Transac-tions on Computers. To appear.

3. Tisserand, A., Marchal, P., and Piguet, C. An on-line arithmetic basedFPGA for low-power custom computing. In Proceedings of FCCM’99,7th Annual IEEE Symposium on Field Programmable Custom ComputingMachines (Napa, CA), 1999.

4. Trimberger, S.M. Field-Programmable Gate Array Technology. KluwerAcademic Publishers, Boston, 1994.

5. Villasenor, J., and Mangione-Smith, W.H. Configurable computing.Scientific American 207, 6 (1997), 54–59.

Pierre Marchal ([email protected]) is a staff scientistwith the Centre Suisse d’Electronique et de Microtechnique SA inSwitzerland; www.csem.ch

Permission to make digital or hard copies of all or part of this work for personal orclassroom use is granted without fee provided that copies are not made or distributedfor profit or commercial advantage and that copies bear this notice and the full cita-tion on the first page. To copy otherwise, to republish, to post on servers or to redis-tribute to lists, requires prior specific permission and/or a fee.

© 1999 ACM 0002-0782/99/0400 $5.00

c

Submiss ions fo r the 1999 compet i -t i on a re due by June 30, 1999.S tudents w i l l make a recommenda-t ion to the Ed i to rs o f Sur veys byAugus t 31, and the w inner w i l l beannounced by Oc tober 31 and pub-l i shed in an i ssue o f Sur veys no la te rthan the summer o f 2000. I t i s des i r -ab le though no t requ i red tha t con tes-tan ts ind ica te the i r in ten t ion to sub-mi t , w i th a p rov is iona l t i t l e .

John Cavazos Dept of Computer Science University of Massachusetts atAmherst Amherst, Mass, 01003

For additional information onthis contest please visit:

Comput ing Sur veys i s sponsor ing anannua l compet i t i on fo r the bes t s tu-dent tu to r ia l paper. The paper shou ldbe in the fo rm o f a subs tan t i ve tu to-r ia l o f 5000 to 12000 words tha texamines a top ic o f computer sc i -ence a t a l eve l unders tandab le bysen io r undergraduate s tudents . I tshou ld con fo rm to the s tandards o fSur veys tu to r ia l s , combin ing tu to r ia lc la r i t y, h i s to r i ca l and scho la r l y per-spec t i ve , and techn ica l in te res t .

www.acm.org/surveys/stud_contest.html

Computing SurveysComputing Surveys

3rd Annual Student Tutorial Paper Contest

CALL FOR PAPERS:

Submiss ions can be sen t e lec t ron i -ca l l y to [email protected] .edu, o rsubmi t ted in hard copy fo rm to :