Professional Documents
Culture Documents
1999 Analysis of Unconventional Evolved Electronics
1999 Analysis of Unconventional Evolved Electronics
In
In:
Out:
Figure 1: The circuit for analysis, after pruning. For simplicity, only the connections between the cells are shown,
not their functions, which are also under evolutionary control. Of the signals arriving from its four neighbours, those
used as inputs to a cell's function are marked with small boxes. Each of a cell's four outputs (to the four neighbours)
can be driven either directly from one of the cell's inputs, or by the output of the cell's function.
successful, and the resulting circuit of Fig. 1 is consid- staying constant until the input next goes to 0.
erably smaller than would be achieved by conventional Part C of the circuit is based around a 2:1 multiplexer.
methods given the same resources. When Part B is in the static state, the multiplexer selects
Until the present study, one could only speculate as to the input marked `1' to be its output. This input comes
the circuit's means of operation, so unusual are its struc- from the multiplexer's own output via an even number
ture and dynamics. It was clear that continuous time of inversions, resulting in no net logic inversion but a
played an important role. If the circuit was congured time delay of around 9ns. Under certain conditions, it is
onto a dierent, but nominally identical, FPGA chip possible for such a loop to oscillate (at least transiently),
(not used during evolution), then its performance was but the most stable condition is for it to settle down to
degraded. If the temperature is raised or lowered, then a constant logic state. The output of the whole circuit is
the circuit still works, but the frequencies between which taken from this loop. As this Part C loop provides the
it discriminates are raised or lowered. (Digital circuits only possibility for circuit activity during a high input,
usually display unchanged behaviour followed by brittle the next step in the analysis was to inspect the output
failure on approaching their thermal limits.)(Thompson, very carefully while applying test inputs.
1997b) These initial observations warranted a concerted We had already observed that the output only ever
application of our tactics for unconventional analysis. changes state (high)low or low)high) on the falling
In Figure 1, the rst analysis step has already been edge of the input waveform (Fig. 1). Although never
taken. Of the 10 10 corner of FPGA cells, only those required to do so during evolution, we discovered that
actively contributing to the behaviour are shown. All the output also responds correctly to the width of sin-
of the cells not shown can be simultaneously `clamped' gle high-going pulses. Figure 3 shows a low)high out-
without aecting the output. To clamp a cell, the cong- put transition occurring after a short pulse; further short
uration sent to the FPGA was changed so that the cell's pulses leave the output high, but a single long pulse will
function produced a constant output, and this sourced switch it back to the low state. The output assumes the
all four of the cell's output connections. Where a con- appropriate level within 200ns after the falling edge of
nection is shown passing through a clamped cell, all of the input. The circuit does not respond to the width of
the cell's attributes except for this connection could be low-going pulses, and recognises a high-going pulse de-
clamped. The cells shaded grey in the diagram were enig- limited by as little as 200ns of low input at each end of
matic. Although not connected to the rest of the circuit, the pulse. The output is perfectly steady at logic 1 or 0,
if they were clamped then the output became less re- except for a brief oscillation during the 200ns `decision
liable, brie
y changing to spurious states occasionally. time' which either dies away or results in a state change.
One of the aims of further analysis was to learn the in- This is astonishing. During the single high-going
uence of these `grey cells'. pulse, we know that parts A and B of the circuit are
If the input frequency was gradually changed from `reset' to a static state within the rst 20ns (the pulse
1kHz to 10kHz, the output (low at 1kHz) would be- widths are vastly longer: 500s and 50s correspond to
gin rapidly to alternate between low and high, spending 1kHz and 10kHz). Our observations at the output show
more time high as the frequency was increased, even- that Part C is also in a static state during the pulse. Yet
tually staying steady high for frequencies near 10kHz. somehow, within 200ns of the end of the pulse, the cir-
This binary behaviour of the output voltage suggested cuit `knows' how long it was, despite being completely
that perhaps part of the system could be understood in inactive during it.
digital terms. By temporarily making the assumption This is hard to believe, so we have reinforced this nd-
that all of the FPGA cells were acting as Boolean logic ing through many separate types of observation, and all
gates in the normal way, the FPGA conguration could agree that the circuit is inactive during the pulse. Power
be drawn as the logic circuit diagram of Figure 2. consumption returns to quiescent levels during the pulse.
The logic circuit diagram shows several continuous- Many of the internal signals were (one at a time) routed
time recurrent loops (breaking the digital design rules), to an external pin and monitored. Sometimes this prob-
so the system's behaviour is unlikely to be fully captured ing altered (or destroyed) the circuit's behaviour, but
by this Boolean level of abstraction. However, it contains we have observed at least one signal from each recur-
many `canalysing' functions (Kauman, 1993), such as rent loop while the circuit was successfully discriminat-
AND and OR: functions where one input can assume ing pulse-widths, and there was never activity during the
a value which makes the other inputs irrelevant. It so pulse. We were concerned that perhaps, because of the
happens that whenever our circuit's input is 1, all of the way the gates are implemented on the FPGA, it was pos-
recurrent loops in Parts A & B are broken by a cascade of sible that glitches (very short-duration pulses) were able
canalysing functions. Within 20ns of the input becoming to circulate in the circuit while our logic-analysis pre-
1, A and B satisfy the digital design rules, and all of their dicts it should be static; possibly these glitches could be
gates deterministically switch to xed, static logic values, so short as to be unobservable when routed to an exter-
Part B
11
2
O
3 0 U
2 IOB T
P
2 1 U
I
N 1 1 T
2 1
P IOB 4 8
U 2
T 2 3
2 1 2 1 2 1
7
2
6 Part C
Part A
Figure 2: The logic circuit representation. The numbers in hexagons are rough estimates of time delays (in ns),
based on the maximum values specied by the manufacturer. `IOB' refers to the inverting Input/Output Blocks that
interface the edges of the recongurable array to the physical pins of the chip.
In:
(single pulse) < 200us
< 200ns
Out:
Circuit Static
Oscillation Oscillation
Activity: (Canalysed)