The Designer's Guide Community Forum
https://designers-guide.org/forum/YaBB.pl Design Languages >> Verilog-AMS >> How to introduce delay in verilogA? https://designers-guide.org/forum/YaBB.pl?num=1456541731 Message started by Nishtha on Feb 26th, 2016, 6:55pm |
Title: How to introduce delay in verilogA? Post by Nishtha on Feb 26th, 2016, 6:55pm Hello, I am working on a verilogA model for a spintronic device. I want to incorporate a delay to represent the switching delay of the magnetic layer and initially just put in a constant number (200ps) by which the output is just delayed whenever an input switching event occurs. The input swing is between -0.1V and 0.1V and the output swing is between 19mV and 79mV. I tried to use the transition filter. It's giving me convergence issues. Can you please suggest me a function for incorporating delay please? Best, Nishtha |
Title: Re: How to introduce delay in verilogA? Post by Ken Kundert on Feb 29th, 2016, 1:56am You would use transition if your signal is piecewise constant. If you want to delay a continuous signal, you would use absdelay(). You should include your model in your post. It it would make it easier to offer help. -Ken |
Title: Re: How to introduce delay in verilogA? Post by Nishtha on Mar 8th, 2016, 3:03pm I really appreciate your help on this. Unfortunately, I am unable to post my model here at this time. I tried 'transition' filter and it gives me a perfectly delayed output only when I add an extra terminal. Code:
In the above code, only after adding "state" as an extra terminal, I could delay the output V(D,S). "vout" is an internal node being assigned the value of the output per the cases in if-else statements. Tau is the delay I want to introduce in the output. I really want to remove the extra terminal since it affects the device performance and functionality as a whole. Best, Nishtha |
Title: Re: How to introduce delay in verilogA? Post by Ken Kundert on Mar 9th, 2016, 10:21am Without more of the model or a description of the actual problem, I don't think anyone will be able to help you. In particular interest is how vout is being updated. It is piecewise constant, right? How do you force a time point at the instant it is expected to change? -Ken |
The Designer's Guide Community Forum » Powered by YaBB 2.2.2! YaBB © 2000-2008. All Rights Reserved. |