Professional Documents
Culture Documents
1 Introduction
This paper describes rst steps towards automatically designing robust elec-
tronic circuits using an evolutionary algorithm. Here, `robust' means able to
maintain satisfactory operation when certain variations in the circuit's environ-
ment or implementation occur. I will call the set of such variations with which
a particular circuit must cope, its operational envelope. An operational enve-
lope might include ranges of temperature, power-supply voltages, fabrication
variations (`tolerances'), load conditions, and so on. The operational envelope
necessary for a particular application will be assumed to be explicitly dened by
a human analyst.
Evolutionary algorithms have been successfully used to design electronics
previously, but either temporarily ignoring the need for robustness (eg. Thomp-
son (1996), Koza, Bennett III, Andre, et al. (1997)), or constraining the available
choice of components, component values, and interconnection topologies, such
that all expressable circuits are guaranteed to be adequately robust (eg. Fogarty,
Miller, and Thomson (1998), Salami, Iwata, and Higuchi (1997)). In contrast,
the current work continues the development of `unconstrained intrinsic hard-
ware evolution', whereby evolution is given maximal freedom to exploit the full
repertoire of behaviours that a physical recongurable VLSI device (such as an
FPGA1 ) can produce. Conventional design principles are not enforced, in the
hope that forms and processes that are `natural' to the VLSI medium and the
1
Field-Programmable Gate Array
evolutionary algorithm can result. Earlier experiments have shown that circuits
so evolved can operate in very unusual ways, yet be impressively compact by
putting to use more of the rich dynamics and interactions of the silicon compo-
nents | possibly even including subtle aspects of semiconductor physics.
An example is shown in Fig. 1. This circuit was evolved using a standard ge-
netic algorithm to discriminate between 1kHz and 10kHz audio tones: the tness
function was to maximise the dierence in average output voltage as bursts of
the two dierent inputs were applied. Of the 10 10 area of a Xilinx XC6216
FPGA provided (Xilinx, 1996), perfect behaviour was achieved using only 32
cells, as shown. There was no clock, and no external timing components, so to
discriminate between input periods of 1ms and 0.1ms using so few components,
each having timescales a factor of 105 shorter, is remarkable: a human designer
would use more. It was shown that the rich dynamics and detailed physics of
the VLSI medium were exploited to a high degree in achieving this eciency.
This experiment is built-upon later in the paper, and the reader is referred to
Thompson (1997a) for full details and Harvey and Thompson (1997) for an
evolution-theoretic analysis.
5V
0V
Out
1kHz
In
10kHz
Fig. 1. The tone-discriminator evolved on a single FPGA. Only the functional part of
the 10 10 region is shown. The waveforms are photographs of an oscilloscope screen
monitoring the input and output.
3 Questions to be Addressed
Of the many issues on the research agenda, the following are primary:
{ What resources are needed for robustness? Are stable o-chip components
required? Is it necessary to provide a stable oscillation as an extra input to
the evolving circuits? Such a clock would be a resource, to be used in any
way (or ignored) as appropriate, rather than an enforced constraint on the
system's dynamics as in synchronous design.
{ Can generalisation over an entire, practical, operational envelope be achieved
through evolution in a relatively small number of dierent conditions?
{ Given the experimental arrangement described herein, is the evolution of
a robust circuit more dicult than of a fragile circuit evolved on just one
FPGA? (An apparently harder task is not necessarily more dicult for evo-
lution, depending on the pathways available for evolutionary change.) Does
it make sense gradually to increase the diversity and span of the operational
envelope during evolution, or should the population be exposed to a repre-
sentation of the complete operational envelope right from the beginning?
{ If robust circuits are evolved, how do they work? Do they look more like
conventional circuits? Are they still considerably more ecient?
3
Thanks to Dario Floreano for pointing this out.
4 Fault Tolerance and Yield
Most chips on a silicon wafer are thrown away after failing quality-control tests
due to fabrication variations. Some of these `fatal' variations can be seen as
extreme cases of the variations between chips which do reach the market. If
it proves to be possible to evolve circuits which tolerate unusually wide semi-
conductor variations, then the quality control of the chips to be used could be
relaxed according the attained operational envelope, resulting in increased yield.
This is speculation.
Similarly, some defects which develop during a chip's lifetime may fall within
an evolved circuit's operational envelope, giving some degree of fault tolerance.
Thompson (1997b) showed that some fault tolerance requirements can be explic-
itly included into the operational envelope specication as the goal of evolution.
5 Hardware Framework
This section describes the apparatus developed to support investigations into the
evolution of robust electronics. A standard PC runs the evolutionary algorithm,
and is host to the specialised hardware. There are ve Xilinx XC6216 FPGA
chips on which tness evaluations can be performed simultaneously. One of these
resides on a commercial PCI-bus card which plugs into the PC (Xilinx, Inc.,
1998); a custom-made AT-bus card interfaces the other four. Test inputs for
the FPGAs are given by thresholding the line output of the PC's standard
sound card. There is an analogue integrator circuit for each FPGA, which can
be used to measure the average output voltage over a period of time. The PC
can read and reset the integrators via a commercial data-acquisition card, and
use the measured values in a tness function. The setup, jocularly named `The
Evolvatron', is shown in Fig. 2. More details follow:
PCI XC6216
card Fitness eval.
circuits
PC with interface
card
Programmable
Oscilloscope PSU
Heat-pump
power control
Fig. 2. Photograph of `
The Evolvatron.' (Mk. I)
4
Hewlett Packard HP E3631A.
Load. In this series of experiments, only one pin on each FPGA is congured
as a user output from the evolving circuit. Each of these drives approximately
70cm of audio-grade cable with a co-axial shield,5 before reaching an integra-
tor (housed in a separate shielded box) used to measure average voltage. The
integrator design used presents an almost purely resistive load impedance of
approximately 350k
. To provide some variation, a 100k
resistor to 0V was
connected to the output of one of the FPGAs close to the chip.
These factors are combined in the ve FPGAs as shown in Fig. 3.
5V 5V 5V
Yamaha
Seiko
Seiko
1 60 C 2 12 C 5 ambient
Ceramic PGA Ceramic PGA Plastic PQFP
ZIF socket ZIF socket Surface mount
5.20V 4.80V
30 C 100k
Yamaha
Seiko
4 15 C 3 ambient
Ceramic PGA Plastic PLCC
ZIF socket ZIF socket
Watchdog control
voltage
e
d chip
c temp.
b
a
g
Fig. 4. Arrangement for the cold FPGA. The proportions of the main components are
drawn to scale. (a) Ceramic FPGA package, (b) silicon die within, (c) copper spac-
ing block, (d) Peltier-eect heat-pump, (e) thermal fuse, (f) large cuboid fan-cooled
heatsink, (g) foam thermal insulation. The LM35CZ temperature sensors, and the fuse,
are mounted in epoxy resin. Heat-transfer paste is applied at all thermal interfaces.
soldered into the circuit-board. To obtain low temperatures, the heatsink must
be very eective: a 0:14C/W part was used, with additional forced-air cooling.
The PC reads the value of a temperature sensor attached to the chip pack-
age, and in response provides an appropriate control voltage for the heat-pump.
A standard proportional+derivative (PD) linear feedback control system is im-
plemented in software, which attempts to hold the measured temperature at a
given set-point. This was found to cope well with the various nonlinearities and
time-delays present in the system.
If worked too hard (by attempting to cool too rapidly, or maintain too low
a temperature for the current ambient temperature), the thermoelectric device
enters a highly inecient region of its operating characteristics, and converts a
lot of electrical energy to heat. In this situation the chip temperature will rise,
the PD controller will increase the pump power further, and thermal runaway
will occur; the controller will not recover even if the original cause { such as an
unusually large rise in lab temperature { is removed. For this reason, a rather
conservative `overdamped' controller is used. Before an evolutionary experiment,
it spends 40 minutes gradually lowering the chip to the setpoint temperature,
which is achieved without overshoot. Nevertheless, it is able to keep the chip
package temperature to within 1 C during the experiment (even as ambient
temperature and FPGA power dissipation vary), with the state of the controller
being updated every 30s. Evolving circuits can be prone to interference from
nearby
uctuating signals, so the controller state is always updated between, not
during, tness evaluations.
The hot FPGA is thermostatically regulated in the same manner as the cold
one described above, with the heat-pump connected in reverse. For the hot chip,
it is less important to keep the thermoelectric device at an ecient operating
point, so only a much smaller heatsink is needed. On a third FPGA, a constant
thermal gradient is maintained by using a combination of heating and cooling
pumps. By using a single large heatsink shared by the two pumps, there is a
thermal cycle: one pump is heating the heatsink and the other cooling it. This
makes it relatively easy to operate the thermoelectric devices eciently at high
power, so a surprising large thermal gradient can be maintained across the chip.
The three thermally regulated XC6216's were chosen in the Xilinx 299-pin
pin-grid-array package. Unlike most IC packages, these are assembled `Cavity
Down', with the silicon die attached to the inside top of the package, for optimal
heat transfer between the die and the upper surface of the case (Xilinx, 1996,
chap. 10). Thus the thermal regulation apparatus will have a very direct in
uence
on the temperature of the silicon.
With lab temperatures rising up to 25C during the day, the set-point of
the cold chip is currently set at 12C during an evolutionary experiment. In the
Mk. II Evolvatron (under development), the circuit-board with the cold FPGA
will be in a plastic bag with some desiccant, and simply placed in a domestic
freezer. This will allow lower chip temperatures even for hotter (summer-time)
lab conditions.6 The Peltier-cooling arrangement will be retained on another
device for more precise temperature control for analysis purposes. For brief,
imprecise, low-temperature tests (i.e. not during evolution), standard electronics
freezer spray can also be used ( 50C), or even liquid nitrogen ( 196C).
The hot FPGA is run at a case temperature of 60C. A greater temperature
could easily be maintained, but long-term time-to-failure must be considered,
along with a margin for error. The FPGA with a thermal gradient is run with
one of the temperature sensors at 30C and the other at 15C.7 The silicon die
is approximately 1cm2 , so these sensors are attached across the central region
of the top surface of the case, with a separation of 1cm. The resulting thermal
gradient of 15 C/cm is about the maximum that could reliably be obtained using
the components chosen.
5.3 Safety
Fire-safety is a major design issue. An evolutionary machine needs to run unat-
tended, 24 hours a day. In the Evolvatron, there are three lines of defence:
1. A temperature sensor on each heatsink causes the controller to shut down
the pump completely and immediately if thermal runaway is detected.
6
Another possibility would be the circulation of a refrigerated
uid through the
heatsink.
7
Other investigators are cautioned to beware condensation problems (corrosion,
mould), especially in causing bad connections in socketed chips.
2. What if the computer running the PD controllers (and the evolutionary algo-
rithm) crashes, due to a programming error, hardware failure, or operating-
system freeze? To detect this condition, a re-triggerable monostable circuit
is used as a watchdog. Every time the PD controllers' state is updated, the
software causes a digital output signal from the PC to toggle. If the watchdog
circuit has not detected a toggle within the last 100s (this time-constant is
adjustable), then it trips-out a relay which cuts the power to all heat-pumps.
3. As a nal resort, there is a thermal fuse electrically in series with each heat-
pump, and attached to its heatsink. The fuses blow at 98C.
FPGA
1 Fig. 5. Performance on the ve FPGAs
2 (Fig. 3) of the best overall individual in
3 the population, at each generation. Inten-
4 sity is proportional to performance, with
dark black being near-perfect and white
5 the worst possible.
5001 generations 5300
Initially, there were some individuals in the population that performed better
on FPGAs 2 and 5 than any did on the original chip at its newly elevated
temperature. This is surprising as 2&5 are both from a dierent foundry, and 2
was at 12C. Quickly, however, good performance was regained on the original
chip at its new temperature. Within 300 generations, individuals emerged that
had respectable performance on FPGAs 1,2 and 4. This is extremely promising,
as these conditions include: fYamaha silicon, 60 Cg, fSeiko silicon, 12C g, and
fSeiko silicon, 15C/cm gradientg. Most of the time, for any given FPGA there
would be at least one individual in the population achieving fair performance on
it; the dicult part is nding single individuals scoring well in all conditions.
The role of population diversity appears worthy of further investigation.
At the time of writing, the experiment has not progressed beyond what is
shown here, so it is too early to begin to answer the questions of x3, but the
signs are encouraging. In particular, circuits coping with some extremities of the
operational envelope have been found without having to increase the 10 10 area
of FPGA made available to them | they are still extraordinarily compact. There
is, however, a long way to go. This partially successful adaptation to operation
in some extreme conditions was relatively rapid compared to the initial evolution
8
Here, evolution time is dominated by the time taken for each tness evaluation.
Rather arbitrarily, an evaluation consisted of exposure to ve half-second bursts
of each tone (Thompson, 1997a), taking a total of 5s (whether evaluated on just
one FPGA, or on several simultaneously). Hence, the original 5000 generations took
around 5s505000 ' 2 weeks, and the 300 generations reported here ' 21 hours.
Possibly, much shorter evaluations could be made adequate.
of the behaviour on just one chip; it might be suspected that complete success
will take much longer. The apparent ease of adapting a circuit (or population)
to a single new set of conditions, although not the goal of this project, could
conceivably be useful in some applications.
This paper has introduced the notion of unconstrained intrinsic evolution for
robustness within an operational envelope. An experimental arrangement has
been described in detail which permits a controlled and scientic exploration of
this research avenue, to illustrate its feasibility and promise. Early results are
positive: even if complete success should not be achieved, it is already clear that
experiments within this framework will be illuminating.
This work is supported by EPSRC, with equipment donated by Xilinx and Hewlett
Packard. Related work is supported by British Telecom and Motorola. Thanks to all.
Reference
Fogarty, T., Miller, J., & Thomson, P. (1998). Evolving digital logic circuits on
Xilinx 6000 family FPGAs. In Chawdhry, Roy, & Pant (Eds.), Soft Com-
puting in Engineering Design and Manufacturing, pp. 299{305. Springer.
Harvey, I., & Thompson, A. (1997). Through the labyrinth evolution nds a way:
A silicon ridge. In Higuchi, T., & Iwata, M. (Eds.), Proc. 1st Int. Conf.
on Evolvable Systems (ICES`96), LNCS 1259, pp. 406{422. Springer.
Jakobi, N. (1997). Half-baked, ad-hoc and noisy: Minimal simulations for evo-
lutionary robotics. In Husbands, P., & Harvey, I. (Eds.), Proc. 4th Eur.
Conf. on Articial Life (ECAL'97), pp. 348{357. MIT Press.
Koza, J. R., Bennett III, F. H., Andre, D., et al. (1997). Automated synthesis of
analog electrical circuits by means of genetic programming. IEEE Trans.
Evolutionary Computation, 1 (2), 109{128.
Melcor, http://www.melcor.com/ (1998). Thermoelectric Hardbook.
R.S. Components Ltd., PO Box 99, Corby, Northants NN17 9RS, UK (1988).
Peltier eect heat pumps. Datasheet 7562.
Salami, M., Iwata, M., & Higuchi, T. (1997). Lossless image compression by
evolvable hardware. In Husbands, P., & Harvey, I. (Eds.), Proc. 4th Eur.
Conf. on Articial Life (ECAL'97), pp. 407{416. MIT Press.
Thompson, A. (1996). Silicon evolution. In Koza et al. (Eds.), Genetic Program-
ming 1996: Proc. 1st Annual Conf. (GP96), pp. 444{452. MIT Press.
Thompson, A. (1997a). An evolved circuit, intrinsic in silicon, entwined with
physics. In Higuchi, T., & Iwata, M. (Eds.), Proc. 1st Int. Conf. on Evolv-
able Systems (ICES'96), LNCS 1259, pp. 390{405. Springer-Verlag.
Thompson, A. (1997b). Evolving inherently fault-tolerant systems. Proc Instn
Mechanical Engineers, Part I, 211, 365{371.
Thompson, A. (1997c). Temperature in natural and articial systems. In Hus-
bands, P., & Harvey, I. (Eds.), Proc. 4th Eur. Conf. on Articial Life
(ECAL'97), pp. 388{397. MIT Press.
Xilinx (1996). The Programmable Logic Data Book. See http://www.xilinx.com.
Xilinx, Inc., http://www.xilinx.com/products/6200DS.htm (1998). XC6200 De-
velopment System. Datasheet V1.2.