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). The window function is used to add non-linearity at the boundaries. In contrast, Models are used to 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 the 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 reasons, along with the tunneling effect, why the linear model can’t be used at higher voltages.

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

More details about the 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 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 a 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 the insulating region as well as the electron tunneling effect through the insulating region, which is a function of the width of the insulating region and applied voltage.



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

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

Threshold Adaptive memristor (TEAM) Model

It’s a more straightforward and generalized model that approximates the 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 any of the existing models like the linear ion drift model.

VTEAM is another variation in the 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 of various discrete electrical components that altogether give 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 the state variable is multiplied by a window function to force it to reach 0 when the state variable is at the bounds.

Properties of window functions:

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

* Boundary lock problem – When a model is dependent only on state function and not on stimuli, usually it states can’t be changed from one extreme to another. The blue line in the below images is the memristance value, and the green line is the input voltage waveform. Note that in case of the boundary-lock problem after reaching one extreme, memristance value doesn’t change 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 the 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 a maximum value at the 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 a 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 prodomain w.f. is the 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 problems. 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 , ,

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.