Modeling the HP memristor with SPICE

By eerolehtonen | July 23, 2010

After writing several memristor models with SPICE last week, I decided to post a short tutorial here on the subject. I'll concentrate on modeling the memristor introduced in the Nature Nanoletters' article Memristive Switching mechanism for metal/oxide/metal nanodevices by Yang et al., published in July 2008. More specifically the model is an enhanced version of the one derived in the article CNN Using Memristors for Neighborhood Connections (IEEE CNNA 2010) by me and Mika Laiho.

First of all, for those not familiar with SPICE, I recommend downloading the free LTSPICE IV by Linear Technology. It is a light weight analog electronic circuit simulator, and the code written here will be compatible with it. The memristor model is a subcircuit comprising of several ideal components and a couple of math formulas.

Being an element with memory, a memristor requires a state variable w, which by normalization can be assumed to lie in the interval [0,1]. Let's assume that the time derivative of w can be written in the separable form

dw/dt = a*f(w)*g(V),

where a is a constant, f and g are some functions and V is the voltage across the memristor. The window function f controls the way w changes in different parts of [0,1]. In our model f is hard-limited to the interval [0.05,0.95] and satisfies

f(w) = 1-(2w-1)^2.

In other words the rate of change of w decreases as w tends to its minimum or maximum value. Note that without the hard-limiting the rate of change would go to zero, which would effectively make the memristor's memory infinite. Let us now concentrate on the other function in the differential equation, namely g(V). The memristor investigated in [Yang et al.] programs very nonlinearly with respect to the voltage V, so let us model it by a sinh-function as

g(V) = sinh(b*V).

Now, the trick to implement the dw/dt -law in SPICE is to model w as the voltage over a capacitor with capacitance, say, 1F. The change in w is then yielded by a voltage dependent current source (symbol G in SPICE) which adds or removes a certain amount of charge to w. This certain amount is, in turn, determined by computing the functions f and g.

In [Yang et al.] the I-V characteristics of the device were approximated by

I = w^n*c1*sinh(d1*V)+c2*(exp(d2*V)-1),

so let us use that expression as well. The implementation of the I-V characteristics in SPICE is straightforward: just add a voltage dependent current source with this value between the terminals of the device. The real problem is now to find appropriate values for the constants a,b,c1,c2,d1,d2 and n, and here we would need a lot of data to work with. In the following I use values that give a similar I-V curve than the one obtained from experiments. Altogether, the SPICE model hpmemristor.lib looks like

.SUBCKT hpmemristor P M PARAMS:
+ a=25 b=8 c1=9 c2=0.01 d1=2 d2=4 s=1u n=4 p=1 lmin=0.05 lmax=0.95
*State variable:
Gsv 0 w value={f(V(w),V(P,M))*g(V(P,M))}
Csv w 0 1
.IC V(w) 0.05
*Output:
Gmem P M value = {s*((V(w)**n)*c1*sinh(d1*V(P,M))+c2*(exp(d2*V(P,M))-1))}

*Auxiliary functions:
.func sign2(var) = {(sgn(var)+1)/2}
.func trunc(var1,var2) = {(sign2(var1-lmin)+sign2(var2))*(sign2(lmax-var1)+sign2(-var2))/2}
.func f(var1,var2) = {trunc(var1,var2)*(1-(2*var1-1)**(2*p))}
.func g(var) = {a*sinh(b*var)}

.ENDS hpmemristor

Pretty self-explanatory, right? Note that Gsv and Csv are the current source and capacitor needed in the state variable, respectively, while Gmem is the actual "output" current source of the memristor. More specifically,

Gsv 0 w value={f(V(w),V(P,M))*g(V(P,M))}

means that there is a current source between 0 (ground node) and some node called w, and its value is f(V(w),V(P,M))*g(V(P,M)) amps. The value f(V(w),V(P,M))*g(V(P,M)) denotes the RHS of the differential equation, the constant a has been embedded in the function g, and f needs for a technical reason two variables (this has to do with limiting ourselves to [0.05,0.95]). V(x) gives the voltage of the node x respect to to ground and V(P,M) gives the voltage between the terminals of the memristor. Oh yes, one more thing: .IC V(x) 0.05 means that the initial value of w is assumed to be 0.05. Once you get the model running in LTSPICE, you should get an I-V curve looking something like

That's it. With different choices for functions f and g (and different parameters) you can model all sorts of memristive devices.

27 Responses to Modeling the HP memristor with SPICE

  1. Blaise Mouttet says:

    One minor critique – you are not actually modeling a memristor but rather an example of the broader class of memristive systems. For an ideal memristor dw/dt should be linearly related to the current (or voltage) over the range of operation rather than have an exponential dependence on voltage (as in the sinh function). This may seem nitpicky but I have seen other SPICE modelers being misled by the the charge vs. flux relationship of true memristors and am sensitive to the mistakes that can arise by improperly refering to memristive systems as memristors.

  2. Resat Mutlu says:

    I agree with Blaise Mouttet . A memristor memristance defined by Chua is M(q)=V/i. Therefore, it cannot be dependent on other than memristor charge. HP memristor is a memristive system not a memristor. However, for small values of i, tanh(i) is approximately i. Therefore, at small currents, it behaves as a memristor.

  3. Blaise Mouttet says:

    Resat-

    I understand your reasoning to model a memristive system with a memristor at small currents. Using similar reasoning diode behavior for ac small signals is often modeled using a linear resistor having a value determined by the inverse of the dc current (approx. 26mV/I). However, it should be noted that Chua and Kang proved that small signal ac memristive systems may be modeled using a network of resistors and capacitors without relying on memristors (see Property 7 described in “Memristive Devices and Systems” Proceedings of the IEEE, vol. 64. No. 2, 1976). This perhaps would be a better model to use (and easier to implement in SPICE) for small signal analysis of memristive systems.

  4. Zdenek says:

    I would add a small comment:

    For an ideal memristor can choose such a state description, that the time derivative of the state need not be a linear function of current (voltage) only. Eg. w=M(q) =>
    dw/dt=dM(q)/dq*dq/dt=f(q)*i,
    i.e. dw/dt depends on current and on its entire history.

    Relation
    flux=f(charge) [or charge=g(flux)]
    is the constitutive relation of memristor = unique relationship between charge and flux.

    Note that I-V approximation in [1]
    I=V**n*beta*sinh(alpha*V)+X*(exp(gama*V)-1)

    is in the same category as relation

    flux=f(charge,i) [or charge=g(flux,voltage)] = is not unique relationship between charge and flux

    that describes memristive system (not the memristor)

    [1] J. J. Yang, M. D. Pickett, X. Li, D. A. A. Ohlberg, D. R. Steward, and R. S. Williams,
    “Memristive switching mechanism for metal/oxide/metal nanodevices,” Nat.
    Nanotechnol., vol. 3, pp. 429-433, June 2008.

  5. Dear Eero, thank you for your contribution. My first SPICE model of the memristor was written in 2008. I am afraid that our effort will not lead to actually valuable models until if we will not have data from real experiments. You indicate in your tutorial that (maybe) you have them. If yes, it would be great to have a chance to share it with others.
    I have also a comment to Blaise Mouttet. I think that your note

    For an ideal memristor dw/dt should be linearly related to the current (or voltage) over the range of operation rather than have an exponential dependence on voltage

    is not correct. For ideal memristor, the time derivative of the state variable may not be a linear function of the voltage or current! The first simple reason is that you have more choices in selecting the state variable from several circuit variables. Depending on your selection, you obtain different right sides of the state equation, some of them being nonlinear functions of current or voltage. The second reason is more cogent: Consider the state equation in the form
    dw/dt=k*q*dq/dt=k*q*i
    Then the state variable is unambiguously determined by the charge q:
    w(t)=w(t0)+k*q^2(t)/2.
    When the memresistance is unambiguously determined by this state, then this system represents a true charge-controlled memristor. As a conclusion,
    It is not necessary that an ideal memristor dw/dt should be linearly related to the current (or voltage) over the range of operation.

    An interesting question appears what the nonlinear function dw/dt must fulfill in order to define true memristor.

  6. Zdenek says:

    I apologize for the mistake in I-V approximation,

    I=w**n*beta*sinh(alpha*V)+X*(exp(gama*V)-1)

  7. Blaise Mouttet says:

    Dalibor-

    My understanding is that the linear relation between the rate of change of the state variable and current (or voltage) is how Leon Chua formally defines a memristor (i.e. v = R(w)i, dw/dt = i). This is straightorward from differentiating a non-linear functional mapping between magnetic flux and charge with charge as the state variable. If there is a broader definition I am not aware of it in the literature but would be interested if you could give me a citation if it exists. If you are suggesting a new (broader) definition of a memristor including an example (as you propose) where the state variable is the square of charge perhaps you should attempt to contact Chua to see his thoughts on the matter.

    However, even if your broader definition has meaning I do not think it will cover cases where there is an exponential relation between dw/dt and current (or voltage) as discussed in relation to HP’s TiO2 memristive devices. For example, if you broadly define the state variable as an arbitrary function of charge (i.e. w = F(q)) and differentiate you get

    dw/dt = (dF/dq) dq/dt = f(q) i

    where f(q) is the derivative of F with respect to q. This is still a linear mapping between dw/dt and i but in this case the proportionality factor is charge dependent.

  8. Blaise Mouttet says:

    Giving a little more thought to the above example proposed by Dalibor it is actually expressable as a 2nd order memristive system (still not a memristor). Generally the state variable of a memristive system may be a vector quantity W = (w1,w2). Based on the above example of Dalibor w1=the square of the charge (q^2) and w2=the charge(q). The memristive system equations can then be written in terms of the following 3 coupled equations:

    v = R(w1)i
    d(w1)/dt = q i = (w2) i
    d(w2)/dt = i

  9. Blaise Mouttet says:

    Given still more thought to the matter I see that the above example proposed by Dalibor (and earlier by Zdenek) is a possible (although unusual) way to define a memristor since the resistance is still strictly charge-dependent. However, as noted in my previous comments this is more formally expressable as a second order memristive system and it would still not cover cases where dw/dt is exponentially related to current or voltage such as via the sinh function.

  10. Zdenek says:

    To Blaise Mouttet

    “Giving a little more thought to the above example proposed by Dalibor it is actually expressable as a 2nd order memristive system (still not a memristor).”

    The above example proposed by Dalibor is true memristor. It’s structural diagram is below, f(q)=w0+k*q^2/2.

    Memristor memory

    |\ ________
    | \ | nonlin. |
    i__| \__q__| f (q) |______w
    | / | | |
    | / |________| |
    |/ |
    integrator |
    ____V____
    ———————-|_________|————-
    i —–> M(w(q))
    Resistive port of memristor

    Still believe that it is not a memristor?

    The assumption that the definition of the memristor is associated with a state representation is wrong. Look in the original paper of Chua, 1971.

  11. Zdenek says:

    OOps, ASCII semigraphics have a formatting problem..

    Look please to

    http://www.roznovskastredni.cz/biolek/img/diagram.gif

    Zdenek

  12. Zdenek says:

    “..and it would still not cover cases where dw/dt is exponentially related to current or voltage such as via the sinh function.”

    I totally agree, Blaise..

    Zdenek

  13. Zdenek says:

    .. but I can not agree with

    “..this is more formally expressable as a second order memristive system..”

    This element must be an memristive system of either the first or the second order, but not both simultaneously.

    A memristor is also a memristive system (and not vice versa). In my opinion (this) memristor is a special case of the first order memristive system:

    http://www.roznovskastredni.cz/img/first.gif

    You proposed the second-order description for the same element:

    http://www.roznovskastredni.cz/img/second.gif

    Note that your two-integrator memory scheme with multiplier is so complicated because it models the relationship f(q) althouh this relation is not taking part in the memory effect.
    For more complex relationships, this scheme would be more complicated, although it was still first-order…

    Yours sincerely,
    Zdenek

  14. This is a very stimulating discussion. However, the disadvantage consists in big and stochastic delay in publishing the individual contributions.
    May I try to do some partial conclusions in the belief that I understood well the main aspects of this discussion. Any feedback is welcome.
    1) I think that the main conclusion of this discussion is the confirmation that the time derivative of the state variable of the “true” memristor may not be the linear function of current or voltage. This frequently claimed doctrine probably appears due to the simple model of HP “memristor” in which such modeling is used. In reality, the current/voltage can be multiplied by (in general) non-linear function of charge/flux. The only limitation posed on this function is such that it should lead to the constitutive relation of realizable memristor.
    The example of the memristor state which depends on the power of the charge passing through, randomly proposed in the discussion, does not represent any broader definition of the memristor. It is fully within the classical theory by Leon Chua. On the contrary, the “linear” case is rather special.
    2) As Zdenek suggested, the state description of the memristor (or memristive system) requires a carefully approach, with a knowledge of classical state-space theory of general systems. For concrete memristor, the charge-flux constitutive relation is only ONE, but one can build more different state representations of the same memristor, depending on the selection of the state variable. As shown in the recent papers from the field, the electrical quantities (Rmem, q,..) or other quantities of the non-electric nature (the width of the dopant layer) can be used as a state variable. The order of the mem-system, expressing the complexity of its memory, is not equal to the number of state equations and not to the number of state variables. It is due to the fact that the selection of the set of state variables is my subjective option (under some basic conditions which must be fulfilled) but the order is fully and unambiguously given by the nature of the system (it does not depend on my analysis approach). In other words, this order is given by the number of INDEPENDENT state variables.
    Blaise proposed the state description with the vector of two variables, w1=q and w2=q^2. However, this is a typical case of dependent variables. In reality, this memristor is only the first-order memristive system.
    Note that the problem of the state description discussed here is a fraction of more complex problem of the state description of higher-order elements, which was analyzed in details by prof. Chua in his paper
    “High-Order Non-Linear Elements: Circuit-Theoretic Properties”, Circuit Theory And Applications, Vol. 11, 187-206 (1983).
    When studying this paper, notice the rules of a proper state-space modeling of mem-devices (minimum number of integrators, no multipliers, etc.).
    3) I would like to turn the attention to the starting point of this discussion = SPICE modeling of memristors. It turns out that there are not memristors in the real world as well as we have no resistors, inductors, and capacitors, but “only” more complex devices where nonideal effects are the common reality. Whether we like it or not, the SPICE modeling, being realistic enough, should be about the modeling of memristive systems, not memristors. But I agree with Blaise that we should strictly distinguish between the terms “memristor” and “memristive system”.
    4) Any data originating from real measurements of mem-devices are welcome to be released here or on other proper place, as a basic condition of designing really good models of mem-devices.

  15. Blaise Mouttet says:

    I agree with some of the above comments but strongly disagree with others.

    An n-th order, current controlled memristive systems was originally DEFINED in “Memristive Devices and Systems” Proceedings of the IEEE, vol. 64. No. 2, 1976 by the following equations:

    (1) v = R(W,i,t) i

    (2) dW/dt = f(W,i,t)

    where v=voltage, W is an n-dimensional state vector, i = current, t=time, f is a vector function, and R is a scalar memristance function. Note that in the formal definition of memristive systems dW/dt is not explicitly a function of charge (q) as required by the examples proposed by Zdenek and Dalibor. This definition has not been broadened in any other paper by Chua or anyone else as far as I am aware. However, in accordance with the examples of Zdenek and Dalibor the dynamic equation would have to be redefined in a broader manner as:

    (3) dW/dt = f(W,q,i,t)

    While this equation does not directly fit into the memristive system framework it can be converted to the standard form of memristive systems by adding an additional state variable set equal to the charge (w1=q) producing an added state equation:

    (4) d(w1)/dt = i

    The form tof the dynamic equation thus becomes:

    (5) dW/dt = f(W,w1,i,t)

    The state vector can then be redefined as an n+1 dimensional vector W1 = (W,w1) and the dynamic equations (4) and (5) may be rewritten as:

    (6) d(W1)/dt = f(W1,i,t)

    Thus when dW/dt is a function of charge it may be converted to the standard memristive system form by increasing the dimension of the state vector by 1. For the particular example proposed by Dalibor (dw/dt = qi) this may be used in defining a memristor but must be expressed as (at least) a second order memristive system. However, for a 1st order memristive system representation it is still correct that the memristor requires a linear relationship between dw/dt and current (or voltage) as I originally stated.

  16. Dalibor Biolek says:

    I think that the weak point of your argumentation is the following:
    You think that if the system does not have the state equation exactly in the form
    (a) dW/dt=f(W,i,t),
    then it is a reason to label it as problematic. In our case, you simply specified it as “no-first-order memristive system”, and after introducing one additional state variable and managing the state equation to the form (a), you stated that it is a second-order memristive system.
    In my opinion, this approach contains two false steps. Please follow a simple self-explanatory example.

    Consider a charge-controlled memristor with the following constitutive relation:
    (1) phi=k/3*q^3
    where k is a positive real constant.
    Then the voltage-to-current relationship will be as follows:
    v=d(phi)/dt=d(phi)/dq*dq/dt=k*q^2*i.
    thus
    (2) v=Rm(q)*i, Rm(q)=k*q^2.
    It proves again that (1) defines a “true” memristor, in spite of the fact that it has rather strange behavior (its memristance can be only increased via the passing charge, thus the periodical steady state cannot be observed).

    Note that the definition doesn’t need any state description. However, we can propose it, of course. I want only emphasise that this is a memristor and simultaneously a memristive system regardless of pertinent formal problems with its state description. In addition, I show below that these problems which you have mentioned are due to our freedom in selecting the state variable(s), not problems which would originate from the nature of the system which is analyzed. If you are not aware of it, then you do the first mistake.
    Let us use three different selections of the state variable(s) W.

    1)
    (3) W=q …state variable is a charge passed through the memristor.
    Then it follows from (2) and (3)
    (4) Rm=k*W^2,
    (5) dW/dt=i
    The state equation (5) is in the form (a). Everything is OK. The above analysis proves that it is a FIRST-ORDER memristive system and that it is also a MEMRISTOR.

    2)
    (6) W=Rm…state variable is directly the memristance.
    Then
    (7) Rm=W,
    (8) dW/dt=2*k*q*i.
    A formal, not actual problem appears: The FIRST-ORDER memristive system has a state equation which is not in the form (a).
    Does that changeof the state variable means that the element is no longer a memristive system or memristor? It would be totally absurd conclusion. This element is still the 1st order memristive system, because there’s a description of the state expressed by equation (5).
    However, you recognized this FORMAL problem as actual problem, and thus the third selection of the state variables you have made (instead of the less complicated selection No. 1):

    3)
    (9) W1=q, W2=q^2.
    Then
    (10) Rm=k*W2,
    (11) dW1/dt=i, dW2/dt=2*W1*i.

    Now the formal problem is removed since (11) is in the form of (a). However, the second mistake is that you evaluated the order of this memristive system as 2. Since the above three state descriptions model the same memristive system, the order must be the same, namely 1. For Eq. (11), the order is one, not two because the state variables W1 and W2 are mutually dependent. It is absurd to make a conclusion that this element is not a memristor any more but that it is a 2nd order memristive system.
    For those still insisting in the higher order of this memristive system, we can expand your aproach “ad absurdum”:

    4)
    (12) W1=q, W2=q^2, W3=q^3.
    Then
    (13) Rm=k*W2,
    (14) dW1/dt=i, dW2/dt=2*W1*i, dW3/dt=3*W2*i.

    This example demonstrates that the same first-order system can be formally described via three state equations which are of the form exactly as in (a), but the order is not 3 but 1. Note that W3 does not affect anything in the memristor and that its definition is quite formal. Nevertheless, (14) is a valid state representation of the memristive system (of order 1).

    Conclusion: If the state equation of the memristive system IS NOT exactly in the form (a), it DOES NOT result in the conclusion that it IS NOT a memristive system of a given order. The nigger in the woodpile is in the selection of state variable(s). The correct procedure is to find such state variable(s) which lead to the state description (a) of a minimum possible order.

  17. Blaise Mouttet says:

    Dalibor,

    If you want to ignore the formal definition of memristive systems and redefine the “order” of memristive system in terms of independence of state variables that is fine with me but it is simply not in accordance with how memristive systems were originally defined. If you have a problem with this you should take it up with Chua and Kang not with me.

  18. Zdenek says:

    To Blaise:

    “If you want to ignore the formal definition of memristive systems..” – it is out of the question, lack of arguments for this claim.
    I see no such thing as ignoring the definitions, otherhands I see the paradoxes (the same component may be evaluated as the first and as the second order memristive system simultaneously) as consequences of ignoring the basic principles that are associated with these definitions.

    To Dalibor:

    Fully agree with your compelling arguments.

    One minor critique – I think that the following statement is not true:
    “..its memristance can be only increased via the passing charge, thus the periodical steady state cannot be observed”
    I can easily imagine that in this case the memristance can be raised and lowered again.

    Zdenek

  19. Dalibor Biolek says:

    Thank you, Zdenek. Of course, it is my funny mistake!

  20. Dalibor Biolek says:

    Blaise,
    I am very sorry about your response. It is an Internet discussion. Hope you came in with the aim to discuss. Hope you discuss not only to hand out but also to accept the knowledge and experience of others. Personally, it was useful for me to discuss with you. Thank you.
    Let me say the following:
    If you do not (or do not want to) understand the arguments of somebody which is ca 25 years older than you, do not tell him that he has a problem. I appreciate that you know formal definitions and formulae. However, try also to think about them. Then you will have a chance to get view of the beauty behind. The knowledge is not the same as the understanding.
    Please do not tell me that I want
    “to ignore the formal definition of memristive systems and redefine the “order” of memristive system in terms of independence of state variables..”
    I cannot ignore what I believe that is OK. I am happy that I could enjoy, utilize, and admire the state space theory for many years, and that, sometimes, “I had a chance to get view of the beauty behind”. Be sure that I don’t redefine the order (not “order”) of dynamical system as you assume, but that I only used the well-known procedure from the system theory.
    Of course, I rely on contacts with prof. Chua (it would not be for the first time) since it is a big opportunity to draw from his knowledge. But I must toil to be ready for a discussion. I am working in the field for only 30 years, and it is not enough.
    All the best to you
    D.

  21. Blaise Mouttet says:

    Dalibor,

    I believe I understand your arguments and I agree with some of your points but it still seems to me that there is confusion about the definition of the “order” of a memristive system. Based on the original DEFINITION of memristive systems described in “Memristive Devices and Systems” Proceedings of the IEEE, vol. 64. No. 2, 1976 the “order” of the system is determined by the dimension of the state vector rather than the number of independent variables as in your definition. For example if a state vector W of a memristive system is defined as

    W = (q, f(q))

    where f(q) is a non-linear function of q this would be a second order memristive system in accordance with the original definition because the vector is 2-dimensional. However, based on your above arguments you appear to be saying that this should actually be characterized as a 1st order memristive system because both components of the vector are dependent on a single variable. Perhaps you are correct but if so then the definition of memristive systems should be more clearly stated to reflect that the state variables should be independent variables and avoid the paradoxes such as noted by Zdenek.

    It is notable that as recently as 2009 Chua has used the number of state variables in the state vector in defining the “order” of memcapacitive and meminductive systems in addition to memristive systems (http://arxiv.org/abs/0901.3682). However, again it is not specified that the state variables need to be independent variables. Since you say you have contact with Prof. Chua perhaps you should send him a note letting him know that he is providing an incomplete definition of memristive systems.

  22. Dalibor Biolek says:

    Blaise,
    I think about our discussion, namely about our two controversial points (the state equation where the function of charge appears in the product with the current, Eq. (8) in the example above), and the order of the memristive system). I have some idea which (maybe) would consolidate our different opinions. I am interested what do you think of it.
    Analysing again the equation
    dW/dt=2*k*q*i, where W=Rm, and Rm = k*q^2,
    it seems me as rather problematic. Of course, it is correct, but the state variable is chosen problematically: Rm is a square power of charge, thus does not containing information about the sign of the charge. It means that even if I solve this equation for w=Rm as state variable, I get no information if charge passing through is positive or negative. Since the state equation must completely describe the system motion, it is strange that this equation does not include information about the sign of charge (if it is charge-controlled memsystem).
    This doubt can be described also formally. If we try to transform the above state equation to the “standard Chua form”, the result is as follows:
    dW/dt=2*k*q*i=2*k*sqrt(W/k)*i
    However, we are not winners because the correct right side is “plus minus square root”, and the sign depends on the sign of charge. The right side is still charge-dependent.
    So my conclusion is now fully compatible with you: this state description is problematic because the state variable W=Rm does not fully describe the system state. If Rm is selected as a state variable, then it is not enough, and we must add a second state variable, for example the charge. In other words, then the extension of the number of state variables by 1 as you proposed is the only choice how to add the missing information to the state space model.
    But we removed only the first variance. What about the problem of the order? Does the order is 1 or 2? Let me explain why I don’t think that it is a problem and why I am sure that the order is 1.
    Every memristive system can be formally divided to two parts, resistive part and dynamical part, the latter being represented, for example, by the state space description. For this part, the well-known rules of the system order can be applied (these rules originated before the memristive systems were introduced). The system order(=also the order of memristive system) is equal to the degree of freedom of parameters which are responsible for system motion. This degree is called DIMENSION of the state space of the dynamical system. Generally, this dimension is not equal to the number of state equations. The well-known example which is frequently cited in electrical engineering: Cauer-type ladder filter contains three capacitors connected in the loop plus one inductor plus two resistors. We can write 4 state equations for 4 state variables, inductor current plus voltages of 3 capacitors. However, the order of this dynamical system is only 3 (=4-1). One means one coupling condition (from three capacitor voltages, one is dependent on two others). The dimension of the state space is 3, not 4.
    Since each memristive system contains its dynamical sub-system, the above general theory of the dynamical systems is applicable also here. I am absolutely sure that prof. Chua considered it when he wrote the paper which you cite. Please read the comment 2 on Page 1 (bottom): “The number n denotes the dimension of the state space of the dynamical system”. Note that the symbol n is also used in the same paper for denoting the number of the state variables. It can be confusing.
    Blaise and Zdenek, I would be glad if you let me your opinions on this subject.
    D.

  23. Blaise Mouttet says:

    Dalibor,

    My understanding is that the “dimension” of a vector space is defined as the number of independent basis vectors required to span the space. For example, the vector space W = (q, q^2) can be decomposed as:

    W = q (1,0) + q^2 (0,1)

    having two basis vectors (1,0) and (0,1) and is thus 2-dimensional even though it is a function of a single variable. It is not clear to me that Leon Chua had a different definition in mind when he wrote his basic paper on memristive systems. At this point I would be really interested in knowing Chua (or Steve Kang’s) opinion on this since they would be the ultimate authority.

  24. John Leal says:

    I’m trying to modelling the memristor in some program, i’m trying ngspice, LTSpice, gnucap, and others.

    If someone can help to me i thanks!!

    jjlg

  25. Guangyu says:

    Hi,

    Could you tell me which version of SPICE can be used to simulate this model? I used hspice, but it gave me the following error messages:

    **error** no definition for 1:v
    it was called by 1:gsv

    **error** no definition for 1:w
    it was called by 1:gsv

    **error** no definition for 1:v
    it was called by 1:gsv

    **error** no definition for 1:m
    it was called by 1:gsv

    **error** no definition for 1:v
    it was called by 1:gmem

    **error** no definition for 1:w
    it was called by 1:gmem

    It seems Hspice cannot recognize voltage function V() and terminal names. Any suggestions?

    Thanks in advance,
    -Guangyu

  26. shiju says:

    Hai,
    Any one can give spice model of meristor synapse circuit?

Leave a Reply

Your email is never published nor shared. Required fields are marked *

*

You may use these HTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>