The Designer's Guide Community
Forum
Welcome, Guest. Please Login or Register. Please follow the Forum guidelines.
Aug 18th, 2019, 11:46pm
Pages: 1
Send Topic Print
Variable resistor (Read 6634 times)
Seario
New Member
*
Offline



Posts: 7
Michoacán
Variable resistor
Jan 29th, 2009, 8:05am
 
Hello again  :)

Now, I have to implement a variable resistor. The equation that I have to use is a polynomial equation such as eq1 = ax^2+bx+c as an I-V curve. Following the diffusion-resistor tutorial V =IR, give us an integral in function of current such as

I(v) = int (dv / eq1)

this because of conservation law.

The question goes in the way that I'm right or I misunderstand everything?

Cheers
Seario
Back to top
 
 
View Profile   IP Logged
Geoffrey_Coram
Senior Fellow
******
Offline



Posts: 1971
Massachusetts, USA
Re: Variable resistor
Reply #1 - Jan 30th, 2009, 6:51am
 
Quote:
eq1 = ax^2+bx+c as an I-V curve


Is this an I-V curve, or is it R(V)?  There are several ways to describe a nonlinear resistor, R(V) or G(V) or R(I) or ...

I will say that I don't like polynomials; they're not physical and if you choose your coefficients poorly, you can get negative resistance.
Back to top
 
 

If at first you do succeed, STOP, raise your standards, and stop wasting your time.
View Profile WWW   IP Logged
Seario
New Member
*
Offline



Posts: 7
Michoacán
Re: Variable resistor
Reply #2 - Jan 30th, 2009, 9:27am
 
Hello Geoffrey,

Yes, this is a I-V curve. Polynomial function represents leakage current for small amounts of voltage such as 0.001 to 0.1V. With this function I need to model a resistor or variable resistor. Following the diffusion resistor manual, I did integrate the polynomial as mentioned in the first post, and I used the result to drive the current. But I'm not sure if the things that I did are right.

Which are the other ways that you mentioned to implement the nonlinear resitor?

Cheers
Seario
Back to top
 
 
View Profile   IP Logged
Geoffrey_Coram
Senior Fellow
******
Offline



Posts: 1971
Massachusetts, USA
Re: Variable resistor
Reply #3 - Jan 30th, 2009, 1:58pm
 
Isn't eq1 = R(v) = a v^2 + b v + c ?
then i = int(dv/R(v))

If eq1 = G(v), then i = int(G(v) dv)

When you say eq1 is an "I-V curve" then it sounded to me like
I(V) = a V^2 + b V + c
and then you'd differentiate this to get the (small-signal) conductance at a particular bias point.

That's why I was asking exactly what eq1 was representing.
Back to top
 
 

If at first you do succeed, STOP, raise your standards, and stop wasting your time.
View Profile WWW   IP Logged
Andrew Beckett
Senior Fellow
******
Offline

Life, don't talk to
me about Life...

Posts: 1708
Bracknell, UK
Re: Variable resistor
Reply #4 - Feb 3rd, 2009, 9:19pm
 
I agree entirely with Geoffrey - I see too many cases where resistor models are implemented using polynomial (often quadratic) equations of voltage, and the model writer forgets that there are multiple roots - some of which may be completely meaningless, but that doesn't stop a circuit simulator from being able to converge to them. I've seen examples from a perfectly respectable foundry PDK where negative resistors result, leading to operating points of 25-30 volts (in a 3V process), with lots of breakdown messages ensuing from the transistors as a result! Also, I had a complaint from another saying that spectre was wrong when it found that the voltage at one end of a nonlinear resistor (polynomial model) connected to an ideal current source was -1000V (there was nothing wrong with spectre; the model had two roots).

So be very careful when creating models like this. You can often prevent the problem with some bounds limiting in the code to stop the other roots from occurring, but it's not that straightforward.

Regards,

Andrew.
Back to top
 
 
View Profile WWW   IP Logged
jbdavid
Community Fellow
*****
Offline



Posts: 377
Silicon Valley
Re: Variable resistor
Reply #5 - Feb 4th, 2009, 6:07pm
 
I think the Phillips "rdiff" model is the best one to use for diffusion resistors.. but what you are describing is a "non-linear" resistor, not a "variable" resistor.
after all, a Variable resistor will have a control signal, either discrete, or continuous.

V(p,m) <+ I(p,m)*(Rfixed + Rvar*V(cont) + Rpoly*V(cont)*V(cont));
or
V(p,m)<+ I(p,m)*transition(Rstep*Rbits,0,tr,tf);

a diffusion resistor is non-linear, with a variation determined by the substrate or well, voltage, but is not "variable" unless you can vary that particular voltage, with respect to the resistor terminal voltage.
Back to top
 
 

jbdavid
Mixed Signal Design Verification
View Profile WWW   IP Logged
Seario
New Member
*
Offline



Posts: 7
Michoacán
Re: Variable resistor
Reply #6 - Feb 23rd, 2009, 3:01am
 
Hello again guys...

Reviewing my signal as I mentioned before it is an I-V curve, However I didn't understand at the beginning what it was about, and probably I still without understand properly. Geoffrey you are right my curve is an I(V) curve. Following all your advices I fit the curve for an exponential function instead of polynomial one, I did this because I had several problems as described in here by Andrew.

The equation is

I(V) = 1e-124*exp(15.282*V), for 15.0 - 15.05 V

I(V) = 4e-43*exp(3.1609*V), for 15.51 - 20 V

These equations represent my I(V) curve. So What should I do in order to model this variable resistor?

Cheers
Seario

Back to top
 
 
View Profile   IP Logged
Andrew Beckett
Senior Fellow
******
Offline

Life, don't talk to
me about Life...

Posts: 1708
Bracknell, UK
Re: Variable resistor
Reply #7 - Feb 23rd, 2009, 4:46am
 
Those coefficients look a little crazy! 1e-124 - are you sure? What's the curve going to do outside of the ranges you've listed?

Regards,

Andrew.
Back to top
 
 
View Profile WWW   IP Logged
Seario
New Member
*
Offline



Posts: 7
Michoacán
Re: Variable resistor
Reply #8 - Feb 23rd, 2009, 5:20am
 
Hi Andrew,

It is a SiO2 tunnel barrier. Those crazy coefficients are because I need to fit a curve for low voltage 15-15.5 V (which represents electrons leakage) and the other equation is for a normal operation. Beyond those limits, the function is not important for my tunnel barrier.

Cheers
Mario A.
Back to top
 
 
View Profile   IP Logged
Geoffrey_Coram
Senior Fellow
******
Offline



Posts: 1971
Massachusetts, USA
Re: Variable resistor
Reply #9 - Feb 24th, 2009, 6:06am
 
Even if you don't care what happens outside those ranges, you have to define the I(V) for the entire range -- because the simulator might try to evaluate well outside those voltages when trying to converge at a timepoint.

Best is if you can construct a function that is continuous and has at least one continuous derivative at the transition points (15.0, 15.05, 15.51, 20).
Back to top
 
 

If at first you do succeed, STOP, raise your standards, and stop wasting your time.
View Profile WWW   IP Logged
Peng_Li
New Member
*
Offline



Posts: 9
Hangzhou, China
Re: Variable resistor
Reply #10 - Dec 27th, 2018, 12:16am
 
Hi,
I encounter a similar problem recently. After some struggle, I finally solved this problem. For your reference, the details are as follows.

I need to model a resistor whose value varies with the voltage on itself. I read this thread and the other one. (http://www.designers-guide.org/Forum/YaBB.pl?num=1216113653/0)

Hinted by Geoffrey and Andrew, I work out the following module.
And, it works.

Code:
module vc_res(p, n);
	inout p, n;
	electrical p, n;
	parameter real abit0=293.15 from (0:inf);  //this parameter is for my work
	real rvary;

	analog begin
		rvary=1133*sin(0.001469*( V(p,n)+ abit0 )+6.241);
		I(p,n) <+ V(p,n)/rvary;
		//V(p,n) <+ I(p,n)*rvary;  //this sentence also works fine
	end
endmodule 

Back to top
 
 
View Profile   IP Logged
Pages: 1
Send Topic Print
Copyright 2002-2019 Designer’s Guide Consulting, Inc. Designer’s Guide® is a registered trademark of Designer’s Guide Consulting, Inc. All rights reserved. Send comments or questions to editor@designers-guide.org. Consider submitting a paper or model.