Spectrum Software
Industrial Strength Simulation




Spectrum Software has released Micro-Cap 11, the eleventh generation of our SPICE circuit simulator.

For users of previous Micro-Cap versions, check out the new features available in the latest version. For those of you who are new to Micro-Cap, take our features tour to see what Micro-Cap has to offer.




Memristor Macros


The memristor device is the fourth elementary passive element (in addition to the resistor, capacitor, and inductor) that was first theorized about by Prof. Leon Chua in 1971 and finally developed recently by HP Labs. The resistance of the memristor will change depending on the flow of charge for the device. If the charge flows in one direction, the resistance of the device increases. If the charge flows in the other direction, the resistance of the device decreases. The key to the memristor is that when the flow of charge stops, the device remembers the last resistance it was at, so that when the flow of charge resumes, the device also resumes operation at the previous resistance. The memristor has great potential for low power, high density memory applications.

Prof. Dalibor Biolek, who helped develop a SPICE model for the memristor (Reference 1), has generously supplied Spectrum Software with a couple of memristor macros along with four test circuits which are in Micro-Cap 9 format. The files are available in the Summer 2009 section of our Newsletter page on the website.

The first memristor macro (Memristor_J.Mac) uses the Joglekar window function which is the conventional model for simulating the nonlinear dopant drift of a memristor. Driving this memristor macro with a 1.2V, 1Hz sinusoidal voltage produces the transient simulation shown below.

Driving the memristor with a sinusoidal voltage

The top plot shows the relation between the charge and the flux of the memristor which demonstrates the one-to-one correspondence between the two as expected in memristor theory. The second plot shows the hysteresis loops within the I-V curves of the memristor. Increasing the frequency of the driving sinusoidal voltage will gradually suppress the hysteresis curves. The third plot displays the voltage and current waveforms of the memristor in the time domain. The bottom plot shows the ratio of the actual width of the doped area to the width of the entire memristor thin film. In this simulation, the ratio does not approach the boundary limits where the dominant nonlinear effects occur.

Lowering the Roff/Ron ratio of the memristor and increasing the sinusoidal voltage to 2V produces a simulation that displays the hard switching case. The transient simulation for this configuration is shown below. This simulation was run a few times with the State Variables option set to Leave in order to reach the steady state operation.

Hard switching memristor simulation

The same plots from the previous simulation are plotted again. As can be seen in the bottom plot, the hard switching occurs when the ratio of the width of the doped region to the width of the memristor is switched between the low and high boundary limits. The corresponding nonlinear effects of the hard switching can be seen in the current plots of the memristor.

The second memristor macro (Memristor_B.Mac) uses the Biolek window function for simulating the nonlinear dopant drift. The Joglekar window function used in the first macro file models the ideal memristor properties. However, this window function can have problems when the memristor is operated under some hard switching conditions. When the memristor is driven to its Ron or Roff values, the Joglekar window function can lock in on that state with no means to drive it back to normal operation. The Biolek window function includes some nonideal factors and suppresses the memory effect on the boundary states to more accurately model the probable real life operation of the device.

In order to compare the boundary effects of the two window functions, each type of memristor is driven by an identical 1.6mA current pulse source. The transient analysis results of this simulation is displayed below.

Joglekar versus Biolek window functions

The waveforms in the top plot show the voltage and current waveforms for the memristor macro that uses the Joglekar window function. Once the driving current becomes large enough to switch the memristor into one of its boundary states, the memristor locks into that state and no external stimulus can change the memristor back to another resistance value.

The waveforms in the middle plot show the voltage and current waveforms for the memristor macro that uses the Biolek window function. Even though the memristor is being driven with the same current, it is not being locked into either boundary state which is the expected operation of an actual memristor.

The waveforms in the bottom plot shows the ratio of the actual width of the doped area to the width of the entire memristor thin film for both memristor macros. The V(XJ.X) waveform plots the ratio for the memristor using the Joglekar window function, and the V(XB.X) waveform plots the ratio for the memristor using the Biolek window function. For the Joglekar plot, the waveform locks into the 0 state after the first current pulse and no longer reacts to any of the following current pulses.

The Memristor_J macro provides a macro that will simulate according to the ideal memristor theory whereas the Memristor_B macro tries to incorporate a little more of the real world effects that a memristor may have.

[1] BIOLEK, Z., BIOLEK, D., BIOLKOVA, V. "SPICE model of memristor with nonlinear dopant drift." Radioengineering, 2009, vol. 18, no. 1.

Return to the main Newsletter page