The Designer's Guide Community
Forum
Welcome, Guest. Please Login or Register. Please follow the Forum guidelines.
Jul 21st, 2024, 2:13pm
Pages: 1
Send Topic Print
spectre assertions (Read 2139 times)
achim.graupner
Community Member
***
Offline



Posts: 51

spectre assertions
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
Back to top
 
 

Achim Graupner
ZMD AG, Dresden, Silicon Saxony, Germany
View Profile   IP Logged
John O Donovan
Junior Member
**
Offline



Posts: 29
San Jose, CA
Re: spectre assertions
Reply #1 - 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.
Back to top
 
 
View Profile   IP Logged
Pages: 1
Send Topic Print
Copyright 2002-2024 Designer’s Guide Consulting, Inc. Designer’s Guide® is a registered trademark of Designer’s Guide Consulting, Inc. All rights reserved. Send comments or questions to editor@designers-guide.org. Consider submitting a paper or model.