*Memristor modeling based on its constitutive relation
*Viera Biolkova, Zdenek Kolka, Zdenek Biolek, and Dalibor Biolek
.subckt QC_memristor in+ in- params: qinit 0.03
.param r1 5 r3 10k
EQ Q 0 value={qinit+SDT(i(ER))}
R1 in+ 1 {r1}
ER 1 in- value={(3*r3*V(Q)^2)*i(ER)}
.ends QC_memristor
CNN Using Memristors for Neighborhood Connections
Eero Lehtonen, Mika Laiho
University of Turku
*CNN Using Memristors for Neighborhood Connections
*Eero Lehtonen, Mika Laiho
.SUBCKT memristor Plus Minuss 0 PARAMS:
+ a=2 b=9 c=0.01 g=4 n=4 q=13 p=1
+lim_max=0.95 lim_min=0.05 skaala=10n 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 }
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
SPICE Modeling of Memristive, Memcapacitative
and Meminductive Systems
Circuit Theory and Design, 2009. ECCTD 2009. European Conference on
*
SPICE Modeling of Memristive, Memcapacitative
*and Meminductive Systems with joglekar window function
*Dalibor Biolek
.SUBCKT memristor Plus Minus PARAMS:
+ Ron=1K Roff=100K Rinit=80K D=10N uv=10F p=1
***********************************************
* STATE EQUATION MODELING *
Gx 0 x value={ I(Emem)*uv*Ron/D^2*f(V(x),p)}
Cx x 0 1 IC={(Roff-Rinit)/(Roff-Ron)}
Raux x 0 1G
***********************************************
* RESISTIVE PORT MODELING *
Emem plus aux value={-I(Emem)*V(x)*(Roff-Ron)}
Roff aux minus {Roff}
***********************************************
* WINDOW FUNCTION MODELING *
.func f(x,p)={1-(2*x-1)^(2*p)}
.ENDS memristor
Macromodeling of the Memristor in SPICE
IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS, VOL. 29, NO. 4, APRIL 2010
***Macromodelling of memristor
.SUBCKT memristor 1 2 6
Eres 1 9 POLY(2)
+(8, 0) (11, 0) 0 0 0 0 1
Vsense 9 4 DC 0V
Fcopy 0 8 Vsense 1
Rstep 8 0 1K
Rser 2 4 10
Fmem 6 0 POLY(2) Vsense
+Ecopy -0.5E-10 0 1E-10 0 -1 0 0 0 1
Cmem 6 0 90nF
Rsp 6 0 1000Meg
Ecopy 7 0 0 6 1
Rc 7 0 1
Ecpy2 10 0 6 0 1
Vref ref 0 DC 1V
R1 10 11 100K
Ssat1 11 0 0 11 SWX
Ssat2 11 ref 11 ref SWX
.MODEL SWX SW(Ron=0.001, Roff=1000Meg,
+Vt=0.00001V, Vh=0.00001V)
.ENDS
SPICE model of memristive devices with threshold
Yuriy V. PERSHIN1, Massimiliano DI VENTRA2
http://arxiv.org/abs/1204.2600v5
***SPICE model of memristive devices with threshold
****Yuriy V. Pershin and Massimiliano Di Ventra
.subckt memristor pl mn PARAMS: Ron=1K Roff=10K Rinit=5K beta=1E13 Vt=4.6 nu1=0.0001 nu2=0.1
Gx 0 x value={f1(V(pl)-V(mn))*(f2(f1(V(pl)-V(mn)))*f3(Roff-V(x))+f2(-f1(V(pl)-V(mn)))*f3(V(x)-Ron))}
Raux x 0 1E12
Cx x 0 1 IC={Rinit}
Gpm pl mn value={(V(pl)-V(mn))/V(x)}
.func f1(y)={beta*(y-Vt)*f2(y-Vt)+beta*(y+Vt)*f2(-y-Vt)}
.func f2(y)={1/(exp(-y/nu1)+1)}
.func f3(y)={1/(exp(-y/nu2)+1)}
.endS
*With window function given in A Versatile Memristor Model With
Nonlinear Dopant Kinetics : IEEE TRANSACTIONS ON ELECTRON DEVICES, VOL. 58, NO. 9, SEPTEMBER 2011
*Zdenek BIOLEK, Dalibor BIOLEK, Viera BIOLKOVÁ
* HP Memristor SPICE Model
* For Transient Analysis only
* created by Zdenek and Dalibor Biolek
**************************
* Ron, Roff - Resistance in ON / OFF States
* Rinit - Resistance at T=0
* D - Width of the thin film
* uv - Migration coefficient
* p - Parameter of the WINDOW-function
* for modeling nonlinear boundary conditions
* x - W/D Ratio, W is the actual width
* of the doped area (from 0 to D)
*
.SUBCKT memristor Plus Minus PARAMS:
+ Ron=1K Roff=100K Rinit=80K D=10N uv=10F p=10
***********************************************
* DIFFERENTIAL EQUATION MODELING *
***********************************************
Gx 0 x value={ I(Emem)*uv*Ron/D^2*f(V(x),p)}
Cx x 0 1 IC={(Roff-Rinit)/(Roff-Ron)}
Raux x 0 1T
* RESISTIVE PORT OF THE MEMRISTOR *
*******************************
Emem plus aux value={-I(Emem)*V(x)*(Roff-Ron)}
Roff aux minus {Roff}
***********************************************
*Flux computation*
***********************************************
Eflux flux 0 value={SDT(V(plus,minus))}
***********************************************
*Charge computation*
***********************************************
Echarge charge 0 value={SDT(I(Emem))}
***********************************************
* WINDOW FUNCTIONS
* FOR NONLINEAR DRIFT MODELING *
***********************************************
*window function, according to Joglekar
;.func f(x,p)={1-(2*x-1)^(2*p)}
*proposed window function
;.func f(x,i,p)={1-(x-stp(-i))^(2*p)}
*proposed by prodromakis
.func f(x,p)={1-(((x-0.5)**2)+0.75)**p}
.ENDS memristor
SPICE Model of Memristor with Nonlinear Dopant Drift
RADIOENGINEERING, VOL. 18, NO. 2, JUNE 2009
*SPICE Model of Memristor with Nonlinear Dopant Drift
*Zdenek BIOLEK, Dalibor BIOLEK, Viera BIOLKOVÁ
* HP Memristor SPICE Model
* For Transient Analysis only
* created by Zdenek and Dalibor Biolek
**************************
* Ron, Roff - Resistance in ON / OFF States
* Rinit - Resistance at T=0
* D - Width of the thin film
* uv - Migration coefficient
* p - Parameter of the WINDOW-function
* for modeling nonlinear boundary conditions
* x - W/D Ratio, W is the actual width
* of the doped area (from 0 to D)
*
.SUBCKT memristor Plus Minus PARAMS:
+ Ron=1K Roff=100K Rinit=80K D=10N uv=10F p=10
***********************************************
* DIFFERENTIAL EQUATION MODELING *
***********************************************
Gx 0 x value={ I(Emem)*uv*Ron/D^2*f(V(x),I(Emem),p)}
Cx x 0 1 IC={(Roff-Rinit)/(Roff-Ron)}
Raux x 0 1T
* RESISTIVE PORT OF THE MEMRISTOR *
*******************************
Emem plus aux value={-I(Emem)*V(x)*(Roff-Ron)}
Roff aux minus {Roff}
***********************************************
*Flux computation*
***********************************************
Eflux flux 0 value={SDT(V(plus,minus))}
***********************************************
*Charge computation*
***********************************************
Echarge charge 0 value={SDT(I(Emem))}
***********************************************
* WINDOW FUNCTIONS
* FOR NONLINEAR DRIFT MODELING *
***********************************************
*window function, according to Joglekar
;.func f(x,p)={1-(2*x-1)^(2*p)}
*proposed window function
.func f(x,i,p)={1-(x-stp(-i))^(2*p)}
.ENDS memristor
SPICE Model of Memristor with Nonlinear Dopant Drift
*Zdenek BIOLEK, Dalibor BIOLEK, Viera BIOLKOVÁ
* HP Memristor SPICE Model
* For Transient Analysis only
*With Strokov window function (Published in Nature paper "Missing Memristor found")
* created by Zdenek and Dalibor Biolek
**************************
* Ron, Roff - Resistance in ON / OFF States
* Rinit - Resistance at T=0
* D - Width of the thin film
* uv - Migration coefficient
* p - Parameter of the WINDOW-function
* for modeling nonlinear boundary conditions
* x - W/D Ratio, W is the actual width
* of the doped area (from 0 to D)
*
.SUBCKT memristor Plus Minus PARAMS:
+ Ron=1K Roff=100K Rinit=80K D=10N uv=10F p=10
***********************************************
* DIFFERENTIAL EQUATION MODELING *
***********************************************
Gx 0 x value={ I(Emem)*uv*Ron/D^2*f(V(x),p)}
Cx x 0 1 IC={(Roff-Rinit)/(Roff-Ron)}
Raux x 0 1T
* RESISTIVE PORT OF THE MEMRISTOR *
*******************************
Emem plus aux value={-I(Emem)*V(x)*(Roff-Ron)}
Roff aux minus {Roff}
***********************************************
*Flux computation*
***********************************************
Eflux flux 0 value={SDT(V(plus,minus))}
***********************************************
*Charge computation*
***********************************************
Echarge charge 0 value={SDT(I(Emem))}
***********************************************
* WINDOW FUNCTIONS
* FOR NONLINEAR DRIFT MODELING *
***********************************************
*window function, according to Joglekar
;.func f(x,p)={1-(2*x-1)^(2*p)}
*proposed window function
;.func f(x,i,p)={1-(x-stp(-i))^(2*p)}
*Strokov window function
.func f(x,p)={x-x*2}
.ENDS memristor
SPICE Modeling of Memristors
Circuits and Systems (ISCAS), 2011 IEEE International Symposium on
**SPICE Modeling of Memristors
*****Hisham Abdalla
.SUBCKT modelmemristor plus minus PARAMS:
+phio=0.95 Lm=0.0998 w1=0.1261 foff=3.5e-6
+ioff=115e-6 aoff=1.2 fon=40e-6 ion=8.9e-6
+aon=1.8 b=500e-6 wc=107e-3
G1 plus internal value={sgn(V(x))*(1/V(dw))^2*0.0617*(V(phiI)*exp(-V(B)*V(sr))-(V(phiI)+abs(V(x)))*exp(-V(B)*V(sr2)))}
Esr sr 0 value={sqrt(V(phiI))}
Esr2 sr2 0 value={sqrt(V(phiI)+abs(V(x)))}
Rs internal minus 215
Eg x 0 value={V(plus)-V(internal)}
Elamda Lmda 0 value={Lm/V(w)}
Ew2 w2 0 value={w1+V(w)-(0.9183/(2.85+4*V(Lmda)-2*abs(V(x))))}
EDw dw 0 value={V(w2)-w1}
EB B 0 value={10.246*V(dw)}
ER R 0 value={(V(w2)/w1)*(V(w)-w1)/(V(w)-V(w2))}
EphiI phiI 0 value={phio-abs(V(x))*((w1+V(w2))/(2*V(w)))-1.15*V(Lmda)*V(w)*log(V(R))/V(dw)}
C1 w 0 1e-9 IC=1.2
R w 0 1e8MEG
Ec c 0 value={abs(V(internal)-V(minus))/215}
Emon1 mon1 0 value={((V(w)-aoff)/wc)-(V(c)/b)}
Emon2 mon2 0 value={(aon-V(w))/wc-(V(c)/b)}
Goff 0 w value={foff*sinh(stp(V(x))*V(c)/ioff)*exp(-exp(V(mon1))-V(w)/wc)}
Gon w 0 value={fon*sinh(stp(-V(x))*V(c)/ion)*exp(-exp(V(mon2))-V(w)/wc)}
.ENDS modelmemristor
VERY GOOD LINKhttp://nonlinear.eecs.berkeley.edu/chaos/chaos.html http://spectrum.ieee.org/robotics/artificial-intelligence/moneta-a-mind-made-from-memristors/0
Monte carlo Simulation of Memristors (Memristor Framework) :
http://vlsi.die.upm.es/memristor