Memristor Modeling Simulation

Interactive Simulation
SPICE Model
Theory

Memristor Characteristics

I-V Curve
Voltage
Current
Resistance

Simulation Controls


Memristor Parameters

Simulation Information

This interactive simulation demonstrates the behavior of a memristor based on the HP Labs' TiO2 memristor model. The simulation shows the characteristic hysteresis loop in the I-V curve and the relationship between voltage, current, and memristance over time.

Adjust the parameters to see how they affect the memristor's behavior:

  • RON: The resistance in the low resistance state
  • ROFF: The resistance in the high resistance state
  • Mobility (μ): Ion mobility parameter that affects switching speed
  • Device Length: The physical length of the memristor device
  • Initial State (x): The initial doped region proportion (0-1)

SPICE Model Implementation

Below is a sample SPICE model implementation for the memristor. This can be used in circuit simulators like LTspice, PSPICE, or Ngspice to incorporate memristors into more complex circuit designs.

* Memristor SPICE Model based on HP Labs TiO2 memristor
* Parameters:
* Ron - Resistance in ON state
* Roff - Resistance in OFF state
* D - Device length
* uv - Mobility
* x0 - Initial state

.SUBCKT MEMRISTOR PLUS MINUS PARAMS: Ron=100 Roff=16k D=10n uv=10e-14 x0=0.5
.PARAM a = {uv*Ron/D^2}
* State equation dx/dt = a*i*f(x)
.FUNC f(x) = 1-(2*x-1)^2
.FUNC w(x) = x*(1-x)
.PARAM xinit = {x0}
Ex memx 0 value = {idt(I(Gx)*a*f(V(memx)), xinit)}
Bx memx 0 V = {limit(V(memx), 0, 1)}
.FUNC Rmem(x) = {Ron*x + Roff*(1-x)}
Gx PLUS MINUS value = {V(PLUS,MINUS)/Rmem(V(memx))}
.ENDS MEMRISTOR

* Example usage:
* X1 input 0 MEMRISTOR Ron=100 Roff=16k D=10n uv=10e-14 x0=0.5
* Vsource input 0 SIN(0 1.0 1)
* .tran 0.01 10
* .plot V(input) I(X1)
      

Using the SPICE Model

To use this model in your SPICE simulations:

  1. Copy the above model definition into your SPICE netlist or save it as a separate file that you can include.
  2. Create instances of the memristor in your circuit using the X statement as shown in the example.
  3. Adjust the parameters to match your desired memristor characteristics.
  4. Run transient analysis to observe the memristor behavior over time.

Example Circuit

A simple test circuit could look like this:

* Include the memristor model
.include memristor.cir

* Simple test circuit with a sine wave input
Vsrc in 0 SIN(0 1.2 1 0 0)
Xmem in out MEMRISTOR Ron=100 Roff=16k D=10n uv=10e-14 x0=0.5
Rload out 0 1k

* Analysis commands
.tran 0.01 4
.probe V(in) I(Xmem) V(out)
.end
      

Memristor Theory

What is a Memristor?

A memristor (memory + resistor) is the fourth fundamental passive circuit element, alongside the resistor, capacitor, and inductor. It was theoretically described by Leon Chua in 1971 but was only physically realized by HP Labs in 2008 using a titanium dioxide (TiO2) thin film.

The key property of a memristor is that its resistance depends on the history of current that has flowed through it. This gives it a memory-like property, hence the name "memristor."

Mathematical Description

A memristor relates electric charge q and magnetic flux φ:

dφ = M(q) · dq

Where M(q) is the memristance, which depends on the charge q that has flowed through the device.

For voltage v and current i:

v = M(q) · i

HP Labs' Physical Model

The HP Labs memristor consists of a thin film of TiO2 sandwiched between platinum electrodes. The TiO2 film has two regions:

As current flows through the device, the boundary between these regions moves, changing the overall resistance of the device. The state variable x (where 0 ≤ x ≤ 1) represents the normalized position of this boundary.

The memristance can be modeled as:

R(x) = RON · x + ROFF · (1-x)

And the state evolution by:

dx/dt = μ · RON/D2 · i · f(x)

Where:

Key Properties

Applications