The Designer's Guide Community Forum
https://designers-guide.org/forum/YaBB.pl Simulators >> Circuit Simulators >> spectre assertions https://designers-guide.org/forum/YaBB.pl?num=1160484157 Message started by achim.graupner on Oct 10th, 2006, 5:42am |
Title: spectre assertions Post by achim.graupner on Oct 10th, 2006, 5:42am Hi all, I try to get started with spectra assertions. I did the following example R0 (net3 0) resistor r=1K V0 (net3 0) vsource dc=1 type=pulse val0=0.0 val1=3.3 rise=10u A1 assert dev=R0 param=i max=3m level=error message="Assertion: I too large" A2 assert dev=R0 param=i max=2m level=warning message="Assertion: I too large" A3 assert dev=R0 param=i max=1m level=notice message="Assertion: I too large" C0 checklimit checkallasserts=yes tran tran stop=10u errpreset=conservative write="spectre.ic" \ writefinal="spectre.fc" annotate=status maxiters=5 When simulating I get a failure when the current exceeds 3mA but nothing happens when the current exceeds 1mA resp, 2mA. There are also no messages in the log files. What I am doing wrong? You help is appreciated, Achim |
Title: Re: spectre assertions Post by John O Donovan on Oct 10th, 2006, 9:32am Achim, I'm guessing that you are using MMSIM6.1. I tried 6.0_USR2 and it works as expected. In 6.1, it appears to only print a message for the error condition. However if I save the output to a logfile, using +log or =log, it does print the messages for the warning and notice to the logfile. There seems to be a problem with the message handler. For the moment, save the output to the logfile and you can continue. Regards, John % spectre test.scs =log test.log % cat test.log ... tran: time = 2.268 us (22.7 %), step = 100 ns (1 %) tran: time = 2.768 us (27.7 %), step = 100 ns (1 %) Notice from spectre at time = 3.0675 us during transient analysis `tran'. A3: Assertion: I too large. Instance R0, Parameter `i' having value 1.01227 mA has exceeded its upper bound `1e-03'. tran: time = 3.267 us (32.7 %), step = 100 ns (1 %) tran: time = 3.767 us (37.7 %), step = 100 ns (1 %) ... tran: time = 5.767 us (57.7 %), step = 100 ns (1 %) Warning from spectre at time = 6.0675 us during transient analysis `tran'. A2: Assertion: I too large. Instance R0, Parameter `i' having value 2.00227 mA has exceeded its upper bound `2e-03'. tran: time = 6.267 us (62.7 %), step = 100 ns (1 %) tran: time = 6.767 us (67.7 %), step = 100 ns (1 %) ... tran: time = 8.768 us (87.7 %), step = 100 ns (1 %) Error found by spectre at time = 9.1675 us during transient analysis `tran'. A1: Assertion: I too large. Instance R0, Parameter `i' having value 3.02528 mA has exceeded its upper bound `3e-03'. Analysis `tran' terminated prematurely due to error. |
The Designer's Guide Community Forum » Powered by YaBB 2.2.2! YaBB © 2000-2008. All Rights Reserved. |