BTP, Hardware, memristor

Memristors: Models, Window functions and their SPICE Simulations

This post mainly covers different famous memristor models, window functions along with their SPICE simulations(done on LTSPICE). Window function are used to add non-linearity at the boundaries while Models are used establish a linear/non-linear relationship between the rate of state change and the stimulus (current/voltage).


  • Models
    • Linear
    • Non-linear
    • Threshold
    • Macro-model
  • Window functions
    • Properties of window functions
    • Types of window functions:
      • Struckov
      • Benderli
      • Joglekar
      • Biolek
      • Prodomakis
      • Jinxiang
  • SPICE simulations

Memristor Models

Linear Ion drift Model (Ideal Model)

In this model, there exists a linear relationship between the state derivative and the stimuli(Voltage/Current). It assumes that vacancies have freedom to move around the entire length of the device. It is not true since vacancies slow down a lot at boundaries. It’s one of the reason along with tunneling effect, why linear model can’t be used at higher voltages.

Further it predicts an inverse relationship between switching time(To) and applied voltage(Vo),  stimuli is voltage here. However, actual experiments shows a logarithmic inverse relationship.

More details about linear model can be found here:

Non-Linear Ionic drift model

Thanks to HostMath: for their amazing open-source tool

It is the most accurate model which predicts both static and switching dynamic behavior of a memristor. It proposes a non-linear relationship between stimuli and state derivative with asymmetric switching behavior.f(w) here, is the window function.  i(t) is basically made up of two components sinh() part that is due to tunneling effect and exp() part that is due to PN junction behavior.


Fig 1 depicts the I-V relationship for a non-linear memristor model when input is sinusoidal wave and rectangular pulse. This model properly describes the non-linear switching dynamics arising from the ionic motion which modulates the effective width of insulating region as well as the electron tunneling effect through the insulating region which is a function of the width of insulating region and applied voltage.



Figure 2 shows the variation of memristance  with the transition in state for linear and non-linear model.

Visit here for detailed information on non-linear memristor model:

Threshold Adaptive memristor (TEAM) Model

It’s a more simpler and generalized model that approximates non-linear drift model of the memristor to improve computational efficiency. The crux point here is that below a certain threshold the state variable doesn’t change.
Instead of exponential dependency, there is a polynomial dependence involved between the memristor current and the internal state drift derivative.

where k_off > 0 and k_on < 0. alpha_off and alpha_on being constants. i_on and i_off are current thresholds.

TEAM is accurate enough with a mean error of 0.2% and can boost simulation run-time by 47.5%. It also satisfies convergence conditions, computational efficiency and it can fit to any of the existing model like linear ion drift model.

VTEAM is another variation in TEAM model with some changes in threshold and thus a bit change in performance.


Macro model of memristor, unlike another previous model is made up of a circuit consisting various discrete electrical components that altogether gives characteristics like memristor.

Fig 3

Window functions

It’s used  to prevent the state variable from getting out of the bounds [0,D] and also to add more non-linearity near the bounds. The derivative of state variable is multiplied by a window unction in order to force it to reach 0 when the state variable is at the bounds.

Properties of a window functions:

  1. Boundary conditions – whether the boundary conditions at the top or the bottom electrode of device are taken into considerations or not.
  2. Boundary lock – whether a window function is able account for boundary lock problem*.
  3. Linearity of drift – whether the drift at boundaries non-linear or not.
  4. Linkage between linear and non-linear model – whether at low voltages non-linear model performs same as linear model both with same window functions.
  5. Scalability – whether it provides full scalability or not
  6. Flexibility – whether it provides control parameters for fine tuning several properties.

* Boundary lock problem – When a model is dependent only on state function and not on stimuli, usually it’s state can’t be changed from one extreme to another. Blue line in the below images is the memristance value and green line is the input voltage waveform. Note that in case of boundary-lock problem after reaching to one extreme, memristance value doesn’t changes further irrespective of input.

With boundary lock problem
without boundary-lock problem



Several window functions(w.f.)

  1.  Strukov’s w.f.
    • where w is the state variable, D be the low conductivity portion length. w = W/D
  2.  Benderli’s w.f.
    • where w is the state variable,D be the low conductivity portion length. w = W/D, W be the length of high-conductivity portion
  3.  Joglekar w.f.
    • where w is the state variable, p is the parameter that controls the amount of non-linearity.
    • Fig-4(a) shows Joglekar w.f. characteristics. Here, Boundary conditions are satisfied with maximum value at center with the only problem being boundary lock.
  4.  Biolek w.f.
    • where w is the state variable, p is the parameter that controls the amount of non-linearity, i is the current flowing.
    • Fig-4(b) shows biolek window function characteristics. Problem with biolek’s w.f. is discontinuity at boundaries and it’s not scalable.

      Fig-4 | Image courtesy :
  5.  Prodomakis w.f.
    • where w is the state variable, p is the parameter that controls the amount of non-linearity, j is the scalability factor.
    • The main issue with prodomakis w.f. is boundary lock problem.
  6.  Jinxiang w.f.
    • where w is the state variable, p is the parameter that controls the amount of non-linearity, j is the scalability factor, 0<a<1 a controls the resolution.
    • It solves most of the issues, taking into care boundary lock problem. However, it suffers a disadvantage at high voltages.

One of the recent w.f. as mentioned here is by far( as of Jan 2019) the best.


Biolek window function

Joglekar window function

Prodomakis window function

TEAM memristor model

Jinxiang memristor model


Tagged , ,

About Udit kumar agarwal

1 thought on “Memristors: Models, Window functions and their SPICE Simulations

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.