• Skip to main content
  • Skip to search
  • Skip to footer
Cadence Home
  • This search text may be transcribed, used, stored, or accessed by our third-party service providers per our Cookie Policy and Privacy Policy.

  1. Community Forums
  2. Custom IC Design
  3. Is it safe to ignore the checklimit warnings?

Stats

  • Locked Locked
  • Replies 1
  • Subscribers 125
  • Views 14431
  • Members are here 0
This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Is it safe to ignore the checklimit warnings?

dogrush
dogrush over 10 years ago

Using IBM PDK cmrf8sf, to perform tran simulation of an simple inverter with one nfet and one pfet. It reports some check limits listed below.

Notice from spectre during transient analysis `tran'.
No checklimit analysis defined for asserts. A default checklimit analysis 'SpectreChecklimitAnal' has been created with all asserts enabled.

The following asserts will be enabled for all subsequent analyses until the next checklimit analysis statement is found:
I2.T1.vbd_chkfwd : ON
I2.T1.vbd_check : ON
I2.T1.vbs_chkfwd : ON
I2.T1.vbs_check : ON
I2.T1.vgb_check : ON
I2.T1.vgd_check : ON
I2.T1.vgs_check : ON
I2.T1.vds_check : ON
I2.T0.vbd_chkfwd : ON
I2.T0.vbd_check : ON
I2.T0.vbs_chkfwd : ON
I2.T0.vbs_check : ON
I2.T0.vgb_check : ON
I2.T0.vgd_check : ON
I2.T0.vgs_check : ON
I2.T0.vds_check : ON

************************************************
Transient Analysis `tran': time = (0 s -> 20 ns)
************************************************
Important parameter values:
start = 0 s
outputstart = 0 s
stop = 20 ns
step = 20 ps
maxstep = 400 ps
ic = all
skipdc = no
reltol = 1e-03
abstol(I) = 1 pA
abstol(V) = 1 uV
temp = 27 C
tnom = 25 C
tempeffects = all
errpreset = moderate
method = traponly
lteratio = 3.5
relref = sigglobal
cmin = 0 F
gmin = 1 pS

tran: time = 620 ps (3.1 %), step = 320 ps (1.6 %)
tran: time = 1.71 ns (8.55 %), step = 290 ps (1.45 %)

Warning from spectre at time = 2 ns during transient analysis `tran'.
WARNING (SPECTRE-4048): I2.T1.vbd_chkfwd, instance I2.T1: Vbd drain-body diode is being forward-biased. Expression `vbs-vds' having value -1.20949e-06 has exceeded its lower bound `-0'.
Warning from spectre at time = 2.00004 ns during transient analysis `tran'.
WARNING (SPECTRE-4052): I2.T1.vbd_chkfwd, instance I2.T1: Expression `vbs-vds' having value 0 has returned to within bounds [-0, 340.282e+36]. Peak value was -38.4912e-06 at time 2.00003e-09 s. Total duration of overshoot was 40.1481e-15 s.

Warning from spectre at time = 11.5611 ns during transient analysis `tran'.
WARNING (SPECTRE-4043): I2.T0.vbd_chkfwd, instance I2.T0: Vbd drain-body diode is being forward-biased. Expression `vbs-vds' having value 435.62e-09 has exceeded its upper bound `0'.

Warning from spectre at time = 11.8306 ns during transient analysis `tran'.
WARNING (SPECTRE-4052): I2.T0.vbd_chkfwd, instance I2.T0: Expression `vbs-vds' having value 0 has returned to within bounds [-340.282e+36, 0]. Peak value was 435.62e-09 at time 11.5611e-09 s. Total duration of overshoot was 269.447e-12 s.
Warning from spectre at time = 12.1 ns during transient analysis `tran'.
WARNING (SPECTRE-4043): I2.T0.vbd_chkfwd, instance I2.T0: Vbd drain-body diode is being forward-biased. Expression `vbs-vds' having value 816.273e-09 has exceeded its upper bound `0'.
Warning from spectre at time = 12.1125 ns during transient analysis `tran'.
WARNING (SPECTRE-4052): I2.T0.vbd_chkfwd, instance I2.T0: Expression `vbs-vds' having value 0 has returned to within bounds [-340.282e+36, 0]. Peak value was 816.273e-09 at time 12.1e-09 s. Total duration of overshoot was 12.5e-12 s.

I googled it and found it was resulted by the description of the nfet and pfet models in nfet.scs and pfet.scs. Someone said he commented these lines in these two model files:

* Node voltage warning checks
+ pvlim = 1.6
+ pblim = 2.6
*
if (gbv==2) {
vds_check assert dev=pfet param=vds min=-pvlim max=0 message="Vds exceeds limit" level=warning
vgs_check assert dev=pfet param=vgs min=-pvlim max=pvlim message="Vgs exceeds limit" level=warning
vgd_check assert dev=pfet expr=(vgs-vds) min=-pvlim max=pvlim message="Vgd exceeds limit" level=warning
vgb_check assert dev=pfet expr=(vgs-vbs) min=-pblim max=pblim message="Vgb exceeds limit" level=warning
vbs_check assert dev=pfet param=vbs max=pblim message="Vbs exceeds limit" level=warning
vbs_chkfwd assert dev=pfet param=vbs min=-fwdlim message="Vbs source-body diode is being forward-biased" level=warning
vbd_check assert dev=pfet expr=(vbs-vds) max=pblim message="Vbd exceeds limit" level=warning
vbd_chkfwd assert dev=pfet expr=(vbs-vds) min=-fwdlim message="Vbd drain-body diode is being forward-biased" level=warning
}

This will not do the limit check for the fets. But I am not sure whether it is safe to ignore these warnings or no limit check? Any one knows about these issues? Thanks.

Jianlei

  • Cancel
  • Andrew Beckett
    Andrew Beckett over 10 years ago

    You should ask the foundry (IBM) or at least read the PDK/model documentation to see what it says. Rather hard to know in general whether it is "safe" to turn off what are "safe operating area" checks...

    Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel

Community Guidelines

The Cadence Design Communities support Cadence users and technologists interacting to exchange ideas, news, technical information, and best practices to solve problems and get the most from Cadence technology. The community is open to everyone, and to provide the most value, we require participants to follow our Community Guidelines that facilitate a quality exchange of ideas and information. By accessing, contributing, using or downloading any materials from the site, you agree to be bound by the full Community Guidelines.

© 2025 Cadence Design Systems, Inc. All Rights Reserved.

  • Terms of Use
  • Privacy
  • Cookie Policy
  • US Trademarks
  • Do Not Sell or Share My Personal Information