The Designer's Guide Community Forum
https://designers-guide.org/forum/YaBB.pl Design Languages >> Verilog-AMS >> how to monitor analog signal using verilog-ams https://designers-guide.org/forum/YaBB.pl?num=1322842951 Message started by xuedashun on Dec 2nd, 2011, 8:22am |
Title: how to monitor analog signal using verilog-ams Post by xuedashun on Dec 2nd, 2011, 8:22am If I have 3 analog blocks: AAA BBB CCC, AAA is toplevel block, BBB is inside AAA and CCC is inside BBB block, if these is an analog signal called as xxx in CCC, now I want to monitor the xxx signal in another block (verilogams), how to do this in verilogasm? I know if they are digital, we can use assignment to do it wire xxx_monitor = AAA.BBB.CCC.xxx; I read the Ken Kundert's book: The Designer's Guide to Verilog-AMS, but did not find which command or function I can use in verilogams. Could you give me some suggestions? Thank you! |
Title: Re: how to monitor analog signal using verilog-ams Post by Geoffrey_Coram on Dec 5th, 2011, 1:13pm I would expect you could do real xxx_monitor; xxx_monitor = V(AAA.BBB.CCC.xxx); but you'll have to write some kind of function to decide if the value has changed "enough" to warrant printing. A digital $monitor isn't appropriate for an analog value, which will change by tiny amounts (every iteration of) every timestep. |
Title: Re: how to monitor analog signal using verilog-ams Post by Marq Kole on Jan 17th, 2012, 5:41am Use the absdelay event function if you're using Cadence tooling (it is a Cadence propietary extension). Code:
For non-Cadence tooling you can do the same but using the above event function: Code:
Cheers, Marq |
The Designer's Guide Community Forum » Powered by YaBB 2.2.2! YaBB © 2000-2008. All Rights Reserved. |