Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

exponential delay on/off transition?

Status
Not open for further replies.

NiC

Junior Member level 2
Joined
May 26, 2004
Messages
21
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,281
Location
Thessaloniki, Greece
Activity points
138
Hi everyone,
I would like to apply an exponential time delay to an current source that i model using verilog-a using Cadence.
I would like something like the transition operator but with emponential delay not a linear.
One more thing is that I want the on time delay to be different than the off time delay.

I have tried to implement this using RC network, but the network messes up the function of the circuit in time slots it supposed not to.

Any other idea?
 

There are op amp circuits that achieve logarithmic response. Never constructed one.

One of those might produce output to fit your exponential curve.

Or else it might charge a capacitor to a level based on your exponential curve.
 
  • Like
Reactions: NiC

    NiC

    Points: 2
    Helpful Answer Positive Rating
In verilog-a you can use your own smoothing function that creates the behavior you need. For example:
Code:
analog function real my_fun;
input x; real x;
my_fun=(x<0)?0:(x>=1)?1:(1-exp(x/T);
endfunction
and you can use it in the analog block as:
Code:
output=my_fun(input);
 

In verilog-a you can use your own smoothing function that creates the behavior you need. For example:
Code:
analog function real my_fun;
input x; real x;
my_fun=(x<0)?0:(x>=1)?1:(1-exp(x/T);
endfunction
and you can use it in the analog block as:
Code:
output=my_fun(input);

where x is what? the simulation time?

---------- Post added at 19:54 ---------- Previous post was at 19:51 ----------

There are op amp circuits that achieve logarithmic response. Never constructed one.

One of those might produce output to fit your exponential curve.

Or else it might charge a capacitor to a level based on your exponential curve.

my exponential curve is just the response curve to a final value which is depended on specific voltages which are given from a formula..

---------- Post added at 20:58 ---------- Previous post was at 19:54 ----------

where x is what? the simulation time?


---------- Post added at 19:54 ---------- Previous post was at 19:51 ----------

ok I think I got it. x is the input formula. I just have to use the correct smothing function and apply the correct parameters.
 
Last edited:

ok I think I got it. x is the input formula. I just have to use the correct smothing function and apply the correct parameters.
Not exactly: x is the variable you want to shape (voltage in your case).
 

actually i want to shape the output current. so I do this:

I(V) <+ my_sine(transition(Id,0,2e-3,1e-3));

where Id is a pulse in time and my_sine:

analog function real sinfn;
input x; real x;
sinefn = (x<=0) ? 0 : (x>=1) ? 1 : x-sin(`twopi*x)/`twopi;
endfunction


---------- Post added 10-11-11 at 00:04 ---------- Previous post was 09-11-11 at 23:41 ----------

I now notice that the problem with this kind of implementation is that that my upper limit is not constant..
 

I do not understand what you mean: only when the signal is between 0 and 1 the transition will be affected.
I believe your current Id takes 2 discrete values and you might need to modify the function to take care of that appropriately scaling x in your formula.
 

I decoupled from the load the cap and it is working perfect. Thank you all
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top