Professional Documents
Culture Documents
I. I NTRODUCTION
Memristors have been proposed to work as synaptic weights
in neural networks [1] due to the natural implementation
of learning the weights (e.g., Hebbian learning). In cellular
nonlinear networks (CNNs) the template weights are usually
known and need to be updated between each template in a
sequence of templates. Therefore, there needs to be a way to
rapidly change the weights. Also, the CNN cell needs to be
modified to work with passive memristors as programmable
couplings. Programming a memristor selectively requires that
either each memristor is equipped with programming circuits,
or programming circuit is shared by a group of memristors so
that an individual device can be isolated. The latter one is the
only practical option if dense implementations are of interest.
Isolation of transistors can be arranged when memristors are
arranged in a crossbar formation, and the memristors require
a certain threshold voltage in order to be programmed [2].
The use of crossbar connections, arranged in a flossbar [3]
yields a locally connected, large neighborhood well suited for
implementing a CNN.
The programming threshold assures that half-selected devices will not be programmed. It is also needed to guarantee
that the devices will not get programmed unintentionally
during normal use. However, reporting of the first experimental
memristor [4] did not show the existence of such a threshold.
After that, there have been numerous articles on memristor
modeling, for example [5] and [6]. These articles focus on
the current controlled memristor (without the programming
threshold), for which the time derivative of the state variable
is directly proportional to the current.
In this paper we investigate and improve the empirical
model of [7]. In our model, the state variable depends nonlinearly on the voltage across the memristor, effectively yielding a
THE
M EMRISTOR
(1)
x 10
(s1 , s2 ) 7 7 Vm .
III. E NHANCING
THE
M ODEL
mem
0.5
V
0.5
0
0.5
1
1.5
2
2
0
Time (s)
2
Time (s)
4
7
x 10
x 10
2
0.5
1.5
0.8
1
Imem
1.5
I/V curve
1.5
0.6
0.5
0
0.4
0.5
0.2
1.5
2
Time (s)
Fig. 1.
x 10
2
Time (s)
rleak=0.01
**********************************
* DIFFERENTIAL EQUATION MODELING *
**********************************
Rseries Minuss Minus 0.01Meg
Gxpos 0 x value={ sign2(-V(x) +
lim_max)*sign2(V(plus,minus))*
(( V(Plus,Minus) )q)*f(V(x),p) }
Gxneg 0 x value={ sign2( V(x) lim_min)*sign2(V(minus,plus))*
(( V(Plus,Minus) )q)*f(V(x),p) }
Cx x 0 0.00008
Raux x 0 0.01T
.IC V(x) 0.15
***********************************
* RESISTIVE PORT OF THE MEMRISTOR *
***********************************
Gmem plus minus value={ (((V(x)n)+
rleak)*b*sinh(a*V(plus,minus))+
c*( exp(g*V(plus,minus))-1 ))
*skaala }
Exn xn 0 value={ (V(x))n }
x 10
Rxn xn 0 0.01T
*window function, according to Joglekar
.func f(x,p)={1-(2*x-1)(2*p)}
.func sign2(val)=(sign(val)+1)/2
.ENDS memristor
***********************************
IV. CNN
CELL STRUCTURE
PROG
GLOBAL
s8a
RP
s8b
RC
IN
Vp
s9a
+
-
S Q
R Q
s9b
s1n
VDD
s7
s2
CNN_OUT
OPA_OUT
s3
VDD-
VSS
s5
s1p
s6
s4
GND
-1
VSS+
S
Fig. 2.
0.6
CNN OUT
0.4
0.2
IN
OPA OUT
0
0
0.2
1
0
0.4
0.6
0.8
0.2
0.4
0.6
0.8
x 10
2
CNN OUT
IN
OPA OUT
1.5
1
1
0.5
0
0
0.2
0.4
0.6
0.8
0.2
0.4
0.6
0.8
x 10
1
W
1
W
1
6
x 10
0.5
0
0.5
0
0.2
0.4
0.6
0.8
0.2
0.4
0.6
0.8
1
6
x 10
1
6
x 10
x 10
x 10
x 10
Imem
mem
0
1
0.2
0.4
0.6
0.8
0.2
Fig. 3.
0.4
0.6
0.8
Time (s)
x 10
Fig. 4.
1
6
x 10