The Designer's Guide Community Forum
https://designers-guide.org/forum/YaBB.pl Design Languages >> Verilog-AMS >> Issues in Modelling an INV output having 10mVp-p as its VSS https://designers-guide.org/forum/YaBB.pl?num=1278322114 Message started by kumar on Jul 5th, 2010, 2:28am |
Title: Issues in Modelling an INV output having 10mVp-p as its VSS Post by kumar on Jul 5th, 2010, 2:28am Hallo All, I am designing a current starved INV which has an output high(VDD) and low (VSS). VDD = 1.8V, VSS = 200m+ 10mVp-p, 1GHZ. I wrote the following piece of code but it gives me an error saying "contribution statement encountered inside an analog event" Assume Td_p,Td_n = 1p @(cross(V(Vin)-(V(V_swing)/2),+1)) begin V(V_ph) = V(Vss); end @(cross(V(Vin)-(V(V_swing)/2),-1)) begin V(V_ph) = V(Vdd); end V(Vout) <+ transition(V(V_ph),0,Td_p,Td_n); end But the code works if I change V_ph as a real variable. But I dont see the 1Ghz 10mVp-p sinusoid on 200m(dc) VSS. Instead it is a constant 200m low and 1.8 V high. Can someone help me with this. |
Title: Re: Issues in Modelling an INV output having 10mVp-p as its VSS Post by Marq Kole on Jul 5th, 2010, 4:30am As the error says, the problem is with the contribution statement inside an event: that's not allowed. Instead, you should assign to a variable inside the event and contribute the variable value outside the event. In your case you can do without the contribution and use the variable value directly in the transition function: Code:
Cheers, Marq |
Title: Re: Issues in Modelling an INV output having 10mVp-p as its VSS Post by boe on Jul 5th, 2010, 11:08am kumar, Note that Code:
Code:
|
The Designer's Guide Community Forum » Powered by YaBB 2.2.2! YaBB © 2000-2008. All Rights Reserved. |