Alt-BEAM Archive
Message #00274
To: beam@corp.sgi.com
From: Wilf Rigter Wilf.Rigter@powertech.bc.ca
Date: Mon, 8 Feb 1999 00:45:55 -0800
Subject: [alt-beam] Re: The BEAM clock challenge
content-type: text/plain;
OK, you asked for it!
Here is a way to build a BIOMORPHIC CLOCK and I'm throwing in whole new
family of neurons to Divide and Rule for good measure! But I am afraid you
must read the whole article first before you get to the clock bit and yes,
there will be a quiz at the end (grin). Oh yes, the GIFs are 2K each! OK?
enjoy
Wilf Rigter mailto:wilf.rigter@powertech.bc.ca
----------------------------------------------------------------------------
------------------------------------------------------------------------
2/N NEURONS -
DIVIDE AND MULTIPLY
(c)
wilf rigter Feb 7,1999
INTRODUCTION
The N/2 neuron is presented here as a proof of concept of a spiky stimuli
processing neuron! The N/2 neuron is so named because N/2 is number of
output pulses it generates for every input pulse.
The N/2 neuron has the capability to process spiky inputs and produce spiky
outputs over a wide range of transfer functions that includes INHIBIT,
ATTENUATE, REGENERATE and AMPLIFY. It seems intuitively obvious that
networks of N/2 neurons would be capable of very complex stimuli processing.
Despite of its complex capability, the N/2 neuron is a remarkable simple
circuit.
THE N/2 NEURON MODEL
The neural model of the N/2 neuron is the "programmable spike multiplier".
Input spikes are multiplied at the output by a factor N/2, programmed by the
N/2 neuron internal process time constants. Programming (tuning) of the N/2
neuron is performed by adjusting analog variables which control two internal
process time constants. The ratio of the two process durations determines
the ratio of output to input spikes by a discrete factor of N/2 where N is a
whole number equal to or greater than zero.
The electronic model for the N/2 neuron is the "gated oscillator with
memory". An external negative transition is detected by the edge triggered
Nv input generating an internal gating pulse which enables an internal
oscillator to produce output pulses for the duration of the gating pulse.
The last state of the oscillator output is retained when the gating pulse
terminates. The number of pulses generated for each input pulse is
determined by the ratio of the gating pulse width and oscillator period both
of which are adjusted with analog (RC) components.
While the ratio of analog variable time constants is infinitely
(continuously) variable, the ratio of input to output pulses is a discrete
factor N/2. The first 4 factors of 0/2, 1/2, 2/2 and 3/2 are especially
important since these generate 0, 1/2, 1 and >1 pulses for each input pulse.
The factor of N=0 (0/2) INHIBITS (blocks) the transfer of input pulses. The
factor of N=1 (1/2) ATTENUATES (divides) the transfer of input pulses by 2.
The factor of N=2 (2/2) REGENERATES (but delays) the transfer of input
pulses by 1 ( 1 for 1). The factor of N=3 and higher (3/2 and higher)
AMPLIFIES the transfer of input pulses by N/2.
THE N/2 BINARY COUNTER
The N=1 factor is a special case with an interesting property: N/2 neurons
that can count! The N/2 "divide by 2" (or multiply by 1/2) transfer function
is equivalent to a binary flip-flop and can be cascaded in a linear network
to produce any length neuron ripple counters.
THE N/2 NEURON CIRCUIT
The N/2 neuron consists of three series connected elements:
1. Nv input stage
2. XOR reversing stage
3. Nu output stage.
The N/2 neuron combines an edge triggered input, a polarity control block,
an oscillator, a memory and a local feedback loop. The RC components of the
input and output stages are the analog variables that can be adjusted to
give various time constants. It is the ratio of the Nv and Nu time
constants that determine the transfer function of the N/2 neuron.
<>
Vcc_______ __________________________________
| | | |
+-->[1M] | __ __ |
| -----))86 \_ ____|14 \__|__ OUT
IN ---||-+--------))__ / `--[330K]--| |__ /
.001 |
.001===
|
0V
FIG 1 - THE BASIC N/2 NEURON CIRCUIT
As shown in FIG 1, The N/2 neuron external input uses a Nv at one input of a
XOR gate as a "edge triggered" Nervous Neuron to generate a gating pulse.
The output of the XOR gate is connected to an integrating Nu with hysteresis
(memory) and the output of the Nu is the external output of the N/2 Neuron.
The second XOR input is connected to the Nu output to provide positive or
negative feedback with the feedback polarity controlled by the Nv.
Under stable (no process) conditions the XOR provides positive feedback for
the Nu which then behaves as long term memory. When an input pulse occurs,
a Nv process is generated during which the XOR supplies negative feedback to
the Nu which then acts as an oscillator (UniCore). Note the use of
different RC components for the Nv and Nu stages because the thresholds of
HC86 and HC14 are quite different which affects the time constant for the RC
component values. As with most Nv / Nu neuron circuits, the N/2 neuron
requires tuning.
THE N/2 NEURON PROCESS
The example of the N/2 circuit in FIG 1 can be used to demonstrate it's
basic capabilities. The Nv generates an active low gating pulse at the
XOR input at each falling edge of the input waveform. This causes Nu output
to input feedback to change from positive to negative feedback. A Nu with
negative feedback behaves like a classical Schmitt trigger oscillator
alternately charging and discharging the Nu capacitor. with a period
determined by the RC components and the Nu bias point thresholds. Depending
on the ratio of the Nv and Nu "process" time constants (NvTC and NuTC), the
Nu produces 0, 1/2, 1 or more pulses for every negative input transition.
INHIBIT
An active low Nv process connected to one XOR input changes the other XOR
input to output polarity from inverting to non-inverting. This changes the
Nu output to input feedback from positive to negative feedback and causes
the voltage at Nu bias point will start to changing in the direction of the
Nu output polarity. Because of Nu input hysteresis, there is a delay before
the Nu bias point voltage reaches the trigger threshold when the output
changes state. If NuTC is larger than NvTC, the voltage at the Nu bias
point will never reach this threshold before the Nv pulse terminates and the
transfer of input to output pulses is inhibited (blocked) and the output
remains unchanged (N=0).
ATTENUATE
If NuTC is approximately equal to NvTC, the voltage at the Nu bias point
will just cross the threshold and Nu output will change state. Since the
inverted Nu output is connected through the XOR gate back to the Nu input,
the voltage at Nu bias point will start to discharge in the direction of the
Nu new output polarity. Again because of input hysteresis, the Nu output
will not change until the bias point voltage reaches the second threshold.
As long as the Nv gating pulse terminates before the second threshold is
crossed, the Nu output will only change state once. When the Nv pulse
terminates, the XOR gate becomes an inverter in the Nu feedback path and
the bias voltage will charge in opposite direction of the output polarity
thereby holding the Nu output state (memory). On the next falling edge at
the Nv input, the process repeats causing the Nu memory to change state
(flip-flop) on each successive falling edge of the input waveform. As a
result, half of the input pulses are transferred to the output (N=1). If
several stages of N/2 (N=1) neurons, are connected in series, the resulting
network behaves like a binary counter!
REGENERATE
If NuTC is shorter than the NvTC, the voltage at the Nu bias point will
cross the first threshold, causing the Nu output to change state and then
the bias voltage will reverse and cross the second threshold to change the
Nu output state once more. As long as the Nv pulse terminates before the
bias voltage again reaches the first threshold, the Nu output produces one
output pulse for every input pulse. (N=2)
AMPLIFY
If NvTC is much larger than the NvTC, and the voltage at the Nu bias point
crosses thresholds 3 or more times the Nu output will produce 1.5 or more
pulses for every input transition.The transfer of input pulses is AMPLIFIED
when more output pulses than input pulses are generated (N<2)
N/2 NEURON DEMONSTRATION
Unlike it's digital counterpart, the N/2 neuron depends on the ratio of the
analog components for the Nu/Nv time constants to select a transfer
function. In practice this means you can use a photodiode or other sensor to
change one time constant and thereby successively change the transfer
function of the N/2 Neuron from INHIBIT to ATTENUATE, REGENERATE and
AMPLIFY.
To demonstrate the N/2 binary counter example (N=1), we can manually tune
the time constants. Tuning the N/2 neuron for a specific function is
simple. For example to tune the N/2 neuron for N=1 (divide by 2), apply a
pulsing waveform (ie 2Hz microcore pulses) to the 2/N input pin. For the
components shown, the active low input pulses must be >2ms and can be any
frequency below 250 Hz. Higher frequencies can of course be achieved with
different component values. The 1M Nv pot is initially set for minimum and
then slowly adjust the pot until you observe a squarewave at the output
using a LED in series with a 5K resistor between the Nu output and Vcc for
indication. If the pot is adjusted further for smaller TC ratios, the N/2
neuron becomes a quantizing pulse multiplier, producing one output pulse for
each input (N=2=REGENERATE) or 1.5, 2, 2.5, 3, etc output pulses for each
input pulse (N>2=AMPLIFY). Note that the minimum input pulse width must
always be greater than the Nv time constant. Also note that the fractional
output pulses are a combination of a square wave and pulses which will also
cause the LED to blink.
N/2 BIOMORPHIC CLOCK
After tuning the first N/2 neuron to divide by two, measure the resistance
of the variable resistor and wire up the remaining gates (replacing the pot
with fixed resistors) for a total of four N/2 neurons capable of counting 16
input pulses . Any number of N/2 (N=1) neurons can be cascaded to divide the
input frequency by 2 to the nth power. For example 5 chips (2 ea H14 and 3
ea HC86) provide a maximum of 12 neurons which will divide input pulses by
4096. I will design a simple decoder network which will reset an eleven
stage ripple counter network clocked at one minute intervals, when the
counter reaches 1440 (the number of minutes in a day) so that the dream of a
"BIOMORPHIC CLOCK" is realized. Alternately 12 neurons and decoder networks
for count 10, 6, 24 can be used to construct a BIOMORPHIC BCD CLOCK.
Finally, we need some 7 segment decoder networks and a few neural bits to
SET the time.
While this just the beginning of a neural network clock, it is also an
opportunity to get some feedback from the reader!
N/2 COMPLEX NETWORK
I have not yet investigated complex N/2 neural networks that simulate
biological systems although there would appear to be the potential for
implementing complex processing functions using these simple N/2 networks.
While the N/2 neuron circuit works fine in simple networks, there are some
issues that need to be resolved, including normalizing the input and output
pulse widths and pulse spacing required to stabilize the behaviour of N/2
neurons in complex networks. Narrow negative going input pulses will reset
the input Nv before the gating pulse terminates and must be avoided. For a
network of N/2(N=1) neurons this is not a an issue because the neuron output
has a 50% duty cycle. However in multiple input or complex N/2 networks a
minimum pulse width must to be guaranteed at both input and output to ensure
predictable operation. The input pulsewidth can be fixed by adding a second
Nv input stage as shown in FIG 2
<>
Vcc_________________________ _______________________________
| | | | |
[100K] __ +->[1M] | __ __ |
| _|14 \_ | --))86 \_ ___|14 \__|__ OUT
IN ---||-+--' |__ / `--||--+-----))__ / `--[330K]--| |__ /
.001 Nv1 .001 Nv2 XOR | Nu
.001 ===
|
0V
FIG 2 - N/2 NEURON WITH INPUT PULSE SHAPING
QUIZ:
What features do you think are required for the BIOMORPHIC CLOCK?
ANSWER: ?
I will try have a full construction article in a few days: so hurry with
those Q&A s
>
------------------------------------------------------------------------
eGroup home: http://www.eGroups.com/list/alt-beam
Free Web-based e-mail groups by eGroups.com
Attachment: FIG1.GIF
Attachment: FIG2.GIF
Home