Professional Documents
Culture Documents
1996 Silicon Evolution
1996 Silicon Evolution
Silicon Evolution
Adrian Thompson
School of Cognitive and Computing Sciences, University of Sussex, Brighton BN1 9QH, UK.
adrianth@cogs.susx.ac.uk, http://www.cogs.susx.ac.uk/users/adrianth/
logic ‘1’
~
~ 4kHz
logic ‘0’
Two thousandths of a second
Figure 2: Output of the oscillator evolved in simulation. (Top) Best of the initial random population of 30 individuals,
(Bottom) best of generation 40. Note the dierent time axes. A visible line is drawn for every output spike, and in
the lower picture each line represents a single spike.
30
74
52
16
87
35 98 10
5
2
72 86
53
58
91 17 62
51 24
25 34
78 15 44
89
85
92 57 75 47 61
55
4 3
67
Output
23 100
66 68
56 41 1 42
11
69
79 21 9
19
94
81 37
71
83 90 38 13
48 45
46
64
8
43 36
97
32 33
12
Figure 3: The 4kHz oscillator evolved in simulation (unconnected gates removed, leaving the 68 shown).
High-frequency
counter.
Desktop
configuration Computer
(PC)
Figure 4: The experimental arrangement for oscillator evolution with the real FPGA.
the time of writing, but it is sucient to say that a sub- being registered by the counter. Only at just the desired
set of its functionality was used such that it appeared frequency is the signal making an excursion across the
quite similar to the simplied example given in Section 2. threshold long enough to be captured by the counter. All
Only a 10 10 corner of a much larger chip was used, that can be seen on a cheap oscilloscope is a blur of high-
and the necessary conguration bits were directly en- frequency activity centered around an analogue voltage
coded onto the linear bit-string genotype, of length 1800 a short distance away from the logic threshold, with oc-
bits. The GA was the same as above, except that the casional faint traces of large-amplitude excursions.
population size was 50 and there was no truncation in Evolution really does seem to have tuned the circuit
the rank selection. The bitwise mutation rate was set so as a continuous-time analogue dynamical system, even
as to give an expected mutation rate of 1.45 per geno- though the manufacturers of the chip had discrete logic
type (see Thompson et al. (1996) for the theory behind in mind. As an analogue system, the solution appears
this). to be found more easily than in the equivalent purely
Each individual, once downloaded as a conguration digital noise-free simulation of the previous section. The
onto the real hardware, was given a single one-second physical characteristics of the FPGA have been exploited
evaluation. A particular block at the edge of the array without any constraint whatsoever on the congurations
was designated to be the output (as shown), and mon- allowed. The four runs show evolution manipulating the
itored by a high-frequency counter. This counter (an overall dynamics of the system on a timescale varying
HC11 micro-controller) is capable of counting positive- over ve orders of magnitude.
going logic transitions at a rate of up to 1MHz. Its count
at the end of the one-second evaluation was taken as a di- 6 Experiment 3: Application
rect measurement of frequency. Taking the tness to be The previous experiments show that in principle the evo-
the inverse error as before, we have tness = 1 j = f nj, lution of unconstrained dynamical electronic circuits is
where is the desired frequency and is the number of
f n
possible, but the practicability of the approach in real
positive transitions counted over one second. If no tran- applications is another matter. This section deals with
sitions at all were counted, then the tness was set to a simple (but not `toy') application intended as a rst
zero, and iff n was zero then the tness was declared step into the pattern recognition domain identied ear-
to be a million. lier. Imagine a stream of binary data bits being sent
The initial population was hand-seeded by randomly down a telephone line coded as 10kHz and 1kHz tones:
generating a large number of circuits, inspecting their the task here is to evolve a circuit to decode the tones
output by eye using an oscilloscope, and simply select- back to binary 0 and 1. As for the oscillator experiment,
ing those for which the output was not always constant. a 10 10 corner of the real FPGA was used, but now
Starting from this same initial population, the GA was with a single input as shown in Figure 6.
run for 40 generations for each of the target frequencies The GA and encoding were exactly as above, except
f = 10Hz, 1kHz, 100kHz, 1MHz. The measured fre- that a random initial population was used, and the per-
quency of oscillation of each individual over the course bit mutation rate was set such that the expected muta-
of each run is shown in Figure 5. As the diagram clearly tion rate was 2.7 per string (arrived at through trial and
shows, the population quickly converges on the desired error). To evaluate an individual circuit, ve half-second
frequency. The population is not just converging upon bursts of each tone were applied to the input in a random
an individual which was already in the initial popula- order (dierent each time). During each half-second in-
tion: the maximum tness in the population, as well as terval, an analogue integrator integrated the voltage on
the mean, increases over time. the FPGA's output pin. At the end of each interval
Although using the counter to measure frequency an analogue-to-digital conversion was performed on the
seems crude, there is evidence that the evolved individ- integrator's output to give a measure of how high, on
uals do indeed display the desired behaviour: if they are average, the voltage had been over the half-second. The
allowed to run for two seconds instead of one, then the integrator was then reset before the next tone. An indi-
number of counts measured during the second second is vidual's tness was the absolute value of the dierence
very close to that measured during the rst. This implies between the mean integrator reading averaged over the
a certain degree of regularity in the oscillation. Repeated cases when the input was 1kHz, and the mean reading
evaluations over extended periods of time produce very when the input was 10kHz. Thus, the task was to max-
similar readings. imise the dierence in output voltage between the two
How is the behaviour being achieved? Visual inspec- cases, ideally producing a steady 0 Volts as soon as one
tion of the output on an oscilloscope shows that all of tone is applied, and a steady 5 Volts immediately the
the evolved solutions produce very high frequency wave- other is present.
forms of some kind, but that this high frequency compo- As shown in Figure 7, initially the circuits were as
nent is not crossing the digital logic threshold, so is not bad as possible, producing a steady 5V output in both
1e+6 1e+6
1e+5 1e+5
1e+4 1e+4
1e+3 1e+3
1e+2 1e+2
1e+0 1e+0
0 10 20 30 40 0 10 20 30 40
1e+6 1e+6
1e+5 1e+5
1e+4 1e+4
1e+3 1e+3
1e+2 1e+2
1e+1 1e+1
1e+0 1e+0
0 10 20 30 40 0 10 20 30 40
Generations
Figure 5: Frequency of oscillation of circuits in the population over the GA run (real FPGA hardware). The objectives
were: Top left - 10Hz; Top right - 1kHz; Bottom left - 100kHz; Bottom right - 1MHz. Individuals with constant
output (frequency = 0Hz) are not shown. Frequencies higher than 1MHz appear as exactly 1MHz due to the limited
rate of the counter. Where many points are overlaid, they appear as one. Note that the frequencies are shown on a
logarithmic scale. Each of these runs took just a few minutes to complete, due to the shortness of the evaluations.
cases. Over the generations, a wide range of partial so- being continuous-time analogue measurements.
lutions were seen (one is shown), usually involving com- The circuit operates over a 10 Celsius temperature
plex waveforms with high-frequency components, and range, but begins to gracefully degrade beyond this:
not respecting digital logic levels. After 3500 genera- many physical properties of VLSI chips are temperature
tions, the near-perfect solution shown was arrived at: sensitive. Ongoing research aims to tackle this problem
eventually only tiny glitches (invisible in the gure) in by evaluating each individual circuit on multiple chips,
the otherwise-perfect output were present, too small to each at dierent temperatures. This will not slow down
be measurable by the integrator. evaluations, because the chips can be used in parallel.
The task is simple, but it would be very dicult for The objective is to evolve circuits that work over the full
a designer to solve this problem in such a small area, range of conditions (both external, like temperature, and
and with no external components. Normally, bulky ex- internal properties peculiar to individual chips) which
ternal timing capacitors or an externally applied clock they could encounter in an industrial application.
would be used: here evolution has arranged for the nat-
ural dynamics of the silicon to do everything on-chip. 7 Conclusion
The complexity of the output seen for the intermediate
solutions suggests that the circuit is exploiting rich and Intrinsic hardware evolution has been presented as jus-
unusual dynamics even when producing the nal orderly tifying a shift in the way electronic systems are con-
digital-looking output encouraged by the tness func- ceptualised, towards an unconstrained exploitation of
tion. This has been facilitated by the tness evaluations the physical dynamics. The rst experiments evolv-
Analogue
Integrator
Desktop
configuration Computer
(PC)
Tone
Generator
Figure 6: The experimental arrangement for evolution of the tone discriminator with the real FPGA.
1kHz 10kHz
IN
0
3500 1400
Figure 7: Photographs of the oscilloscope screen as the tone discriminator evolved on the real FPGA. (Top) the
input waveforms; (Below) the corresponding output waveforms of the best of the population after 0, 1400 and 3500
generations. The probes were directly attached to the pins of the FPGA (the integrator is not part of the system).
ing FPGA congurations strongly reinforce the argu- Mead, C. A. (1989). Analog VLSI and Neural Systems.
ment. High-speed pattern recognition and signal pro- Addison Wesley.
cessing have been identied as particularly suitable ap- Miczo, A. (1987). Digital Logic Testing and Simulation.
plications; clearly there is much fundamental research Wiley New York.
still to be done. Mizoguchi, J., Hemmi, H., & Shimohara, K. (1994). Pro-
duction genetic algorithms for automated hardware
Acknowledgements design through an evolutionary process. In IEEE Con-
Grateful thanks to Phil Husbands, Dave Cli, Inman ference on Evolutionary Computation.
Harvey and Xilinx Scotland. Funding is by a D.Phil. Murray, A. F., et al. (1991). Pulsed silicon neural net-
scholarship from the School of Cognitive and Computing works - following the biological leader. In Ramacher,
Sciences. & Ruckert (Eds.), VLSI Design of Neural Networks,
pp. 103{123. Kluwer Academic Publishers.
Bibliography Murray, A. F. (1992). Analogue neural VLSI: Issues,
trends and pulses. Articial Neural Networks, 2, 35{
Hirst, A. J. (1996). (This paper gives an overview 43.
of the literature.) Notes on the evolution of adap- Thompson, A. (1995a). Evolving electronic robot con-
tive hardware. In Proc. of the 2nd Int. Conf. trollers that exploit hardware resources. In Moran
on Adaptive Computing in Engineering Design et al. (Eds.), Advances in Articial Life: Proc. of the
and Control (ACEDC96), Univ. of Plymouth UK. 3rd Eur. Conf. on Articial Life (ECAL95), pp. 640{
http://kmi.open.ac.uk/~monty/ 656. Springer-Verlag LNAI 929.
evoladaphwpaper.html Thompson, A. (1995b). Evolving fault tolerant systems.
Brooks, R. A. (1991). Intelligence without representa- In Proc. of the 1st IEE/IEEE Int. Conf. on Genetic
tion. Articial Intelligence, 47, 139{159. Algorithms in Engineering Systems (GALESIA'95),
Cli, Harvey, & Husbands. (1993). Explorations in evo- IEE Conference Publication No. 414, pp. 524{529.
lutionary robotics. Adaptive Behaviour, 2 (1), 73{110. Thompson, A., Harvey, I., & Husbands, P. (1996).
de Garis, H. (1991). Genetic programming : Articial Unconstrained evolution and hard consequences. In
nervous systems, articial embryos and embryological Sanchez & Tomassini (Eds.), Towards Evolvable
electronics. In Schwefel & Manner (Eds.), Parallel Hardware. Forthcoming: Springer-Verlag LNCS.
Problem Solving from Nature : Proc. of PPSN I, pp. Wagner, G. P. (1995). Adaptation and the modular de-
117{123. Springer-Verlag. sign of organisms. In Moran et al. (Eds.), Advances
de Garis, H. (1993). Evolvable hardware: Genetic pro- in Articial Life: Proc. of the 3rd Eur. Conf. on Ar-
gramming of a Darwin Machine. In Reeves, Albrecht ticial Life (ECAL'95), pp. 317{328. Springer-Verlag
& Steele (Eds.), Articial Neural Nets and Genetic LNAI 929.
Algorithms - Proc. of the Int. Conf. in Innsbruck, Aus- Xilinx, Inc. (1995). The XC6200 FPGA Family Advance
tria, pp. 441{449. Springer-Verlag. Product Information Sheet.
Goldberg, D. E. (1989). Genetic Algorithms in Search, York, T. A. (1993). Survey of eld programmable logic
Optimisation & Machine Learning. Addison Wesley. devices. Microprocessors and Microsystems, 17 (7),
Hemmi, H., Mizoguchi, J., & Shimohara, K. (1994). De- 371{381.
velopment and evolution of hardware behaviours. In
Brooks & Maes (Eds.), Articial Life IV, pp. 371{376.
MIT Press.
Higuchi, T., et al. (1993). Evolving hardware with ge-
netic learning: A rst step towards building a Darwin
Machine. In Proc. of the 2nd Int. Conf. on the Simu-
lation of Adaptive Behaviour (SAB92). MIT Press.
IMP, Inc. (1994). IMP50E10 EPAC Electronically Pro-
grammable Analog Circuit: Preliminary product infor-
mation sheet.
Mange, D. (1993). Wetware as a bridge between com-
puter engineering and biology. In Proc. of the 2nd
Eur. Conf. on Articial Life (ECAL93), Brussels, pp.
658{667.
Marchal, P., et al. (1994). Embryological development
on silicon. In Brooks & Maes (Eds.), Articial Life
IV, pp. 365{366. MIT Press.