fuadfadz
Newbie level 5
Hi,
Has anyone used a spice model of memristor? I am trying to use the model proposed in BIOLEK's paper (https://www.radioeng.cz/fulltexts/2009/09_02_210_214.pdf) in LTspice.
I've manage get the I-V hysteresis loop characteristic but i could not found how to find the normalized width x which in this case V(x). same with flux and charge. i got this error when i try to change the y axis to V(x) .
And how can i get the raw data of this V(x) charge and flux with time for the memristor? so i can plot the graph in excel. Thanks
below is the code that i use.
* 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 biolek plus minus PARAMS:
+ Ron=100 Roff=16K Rinit=11K 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 *
***********************************************
*proposed by joglekar
;.func f(x,p)={1-(2*x-1)**(2*p)}
*proposed by biolek
.func f(x,i)={1-(x-stp(-i))**(2*p)}
*proposed by prodromakis
;.func f(x,p)={1-(((x-0.5)**2)+0.75)**p}
*proposed by strukov
;.func f(x,p)={x-x*2}
.ENDS memristor
Has anyone used a spice model of memristor? I am trying to use the model proposed in BIOLEK's paper (https://www.radioeng.cz/fulltexts/2009/09_02_210_214.pdf) in LTspice.
I've manage get the I-V hysteresis loop characteristic but i could not found how to find the normalized width x which in this case V(x). same with flux and charge. i got this error when i try to change the y axis to V(x) .
And how can i get the raw data of this V(x) charge and flux with time for the memristor? so i can plot the graph in excel. Thanks
below is the code that i use.
* 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 biolek plus minus PARAMS:
+ Ron=100 Roff=16K Rinit=11K 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 *
***********************************************
*proposed by joglekar
;.func f(x,p)={1-(2*x-1)**(2*p)}
*proposed by biolek
.func f(x,i)={1-(x-stp(-i))**(2*p)}
*proposed by prodromakis
;.func f(x,p)={1-(((x-0.5)**2)+0.75)**p}
*proposed by strukov
;.func f(x,p)={x-x*2}
.ENDS memristor