• 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. ERROR (SFE-874). Not able to resolve this issue

Stats

  • Replies 2
  • Subscribers 125
  • Views 1501
  • Members are here 0

ERROR (SFE-874). Not able to resolve this issue

akaraguppi
akaraguppi 4 months ago

SIMERROR:

Error found by spectre during circuit read-in. ERROR (SFE-874): "/scratch/ak106252/simulation/aa96_sim/AK_TB_qw_tb_VGX_OCP_10uA/maestro/results/maestro/Interactive.37/1/aa96_sim_qw_tb_VGX_OCP_1/netlist/stimuli/dyn_floating_node.scs" 2: Cannot run the simulation because syntax error `Unexpected equals "="' was encountered at line 2, column 8. Correct the syntax error and rerun the simulation.

dyn_floating_node.scs:

myfnccheck dyn_float_tran_stat \
domains = VDD00 AGND \
ping_count = 300 \
ping_start = \[20u\]
ping_duration =10u \
ping_resistor_min =10M \
ping_resistor_max =10G \
seed =1154 \
save =ping \
ping_ibias=100n \
ping_iabsthresh =500n \
ping_iabsthresh_ramp =1u \
ping_irelthresh =10000 \
xsubckt = \[V5ISO_SVT_TIELC V5ISO_SVT_TIELC\]

//*
parameters Vdd_check_float=3.3 time_check_float=0.5e-3 time_check_Jmax_float =50e-9 Vgg_check_float=2 Vgg1p5_check_float=2 time_check_float_soa=5e-3
parameters iss_check_float=100n
//*
check options dochecklimit=yes
check options gmin_start=1
check options gmin_converge=1e-15
check options gmin=0
//*
ifloat_chk0_nch_svt_iso_5p0v assert subs=nch_svt_iso_5p0v expr="i(s)" max=iss_check_float min=-iss_check_float level=error anal_types=\[tran\] duration=time_check_float message="### Floating Violation by icheck ###"
ifloat_chk1_nch_svt_iso_5p0v assert subs=nch_svt_iso_5p0v expr="i(s)" max=iss_check_float min=-iss_check_float level=error anal_types=\[dc ac\] duration=time_check_float message="### Floating Violation by icheck ###"
vfloat_chk0_nch_svt_iso_5p0v assert subs=nch_svt_iso_5p0v expr="Floating check condition; ( V(g,s)<3.1 && V(g,s)>0.1 && V(s)<0.1 )" duration=time_check_float message="### Floating Violation by vcheck ###"
vfloat_chk1_nch_svt_iso_5p0v assert subs=nch_svt_iso_5p0v expr="Floating check condition; ( V(g,d)<3.1 && V(g,d)>0.1 && V(d)<0.1 )" duration=time_check_float message="### Floating Violation by vcheck ###"
//*
ifloat_chk0_nch_lvt_pm_iso_5p0v assert subs=nch_lvt_pm_iso_5p0v expr="i(s)" max=iss_check_float min=-iss_check_float level=error anal_types=\[tran\] duration=time_check_float message="### Floating Violation by icheck ###"
ifloat_chk1_nch_lvt_pm_iso_5p0v assert subs=nch_lvt_pm_iso_5p0v expr="i(s)" max=iss_check_float min=-iss_check_float level=error anal_types=\[dc ac\] duration=time_check_float message="### Floating Violation by icheck ###"
vfloat_chk0_nch_lvt_pm_iso_5p0v assert subs=nch_lvt_pm_iso_5p0v expr="Floating check condition; ( V(g,s)<3.1 && V(g,s)>0.1 && V(s)<0.1 )" duration=time_check_float message="### Floating Violation by vcheck ###"
vfloat_chk1_nch_lvt_pm_iso_5p0v assert subs=nch_lvt_pm_iso_5p0v expr="Floating check condition; ( V(g,d)<3.1 && V(g,d)>0.1 && V(d)<0.1 )" duration=time_check_float message="### Floating Violation by vcheck ###"
//*
ifloat_chk0_nch_xs_iso_5p0v assert subs=nch_xs_iso_5p0v expr="i(s)" max=iss_check_float min=-iss_check_float level=error anal_types=\[tran\] duration=time_check_float message="### Floating Violation by icheck ###"
ifloat_chk1_nch_xs_iso_5p0v assert subs=nch_xs_iso_5p0v expr="i(s)" max=iss_check_float min=-iss_check_float level=error anal_types=\[dc ac\] duration=time_check_float message="### Floating Violation by icheck ###"
vfloat_chk0_nch_xs_iso_5p0v assert subs=nch_xs_iso_5p0v expr="Floating check condition; ( V(g,s)<3.1 && V(g,s)>0.1 && V(s)<0.1 )" duration=time_check_float message="### Floating Violation by vcheck ###"
vfloat_chk1_nch_xs_iso_5p0v assert subs=nch_svt_iso_5p0v expr="Floating check condition; ( V(g,d)<3.1 && V(g,d)>0.1 && V(d)<0.1 )" duration=time_check_float message="### Floating Violation by vcheck ###"
//*
ifloat_chk0_pch_svt_iso_5p0v assert subs=pch_svt_iso_5p0v expr="i(s)" max=iss_check_float min=-iss_check_float level=error anal_types=\[tran\] duration=time_check_float message="### Floating Violation by icheck ###"
ifloat_chk1_pch_svt_iso_5p0v assert subs=pch_svt_iso_5p0v expr="i(s)" max=iss_check_float min=-iss_check_float level=error anal_types=\[dc ac\] duration=time_check_float message="### Floating Violation by icheck ###"
vfloat_chk0_pch_svt_iso_5p0v assert subs=pch_svt_iso_5p0v expr="Floating check condition; ( V(g,s)<-0.1 && V(g,s)>-3.2 && V(s)>3.2 )" duration=time_check_float message="### Floating Violation by vcheck ###"
vfloat_chk1_pch_svt_iso_5p0v assert subs=pch_svt_iso_5p0v expr="Floating check condition; ( V(g,d)<-0.1 && V(g,d)>-3.2 && V(d)>3.2 )" duration=time_check_float message="### Floating Violation by vcheck ###"
//*
ifloat_chk0_pch_lvt_pm_iso_5p0v assert subs=pch_lvt_pm_iso_5p0v expr="i(s)" max=iss_check_float min=-iss_check_float level=error anal_types=\[tran\] duration=time_check_float message="### Floating Violation by icheck ###"
ifloat_chk1_pch_lvt_pm_iso_5p0v assert subs=pch_lvt_pm_iso_5p0v expr="i(s)" max=iss_check_float min=-iss_check_float level=error anal_types=\[dc ac\] duration=time_check_float message="### Floating Violation by icheck ###"
vfloat_chk0_pch_lvt_pm_iso_5p0v assert subs=pch_lvt_pm_iso_5p0v expr="Floating check condition; ( V(g,s)<-0.1 && V(g,s)>-3.2 && V(s)>3.2 )" duration=time_check_float message="### Floating Violation by vcheck ###"
vfloat_chk1_pch_lvt_pm_iso_5p0v assert subs=pch_lvt_pm_iso_5p0v expr="Floating check condition; ( V(g,d)<-0.1 && V(g,d)>-3.2 && V(d)>3.2 )" duration=time_check_float message="### Floating Violation by vcheck ###"
//*
ifloat_chk0_pch_xs_iso_5p0v assert subs=pch_xs_iso_5p0v expr="i(s)" max=iss_check_float min=-iss_check_float level=error anal_types=\[tran\] duration=time_check_float message="### Floating Violation by icheck ###"
ifloat_chk1_pch_xs_iso_5p0v assert subs=pch_xs_iso_5p0v expr="i(s)" max=iss_check_float min=-iss_check_float level=error anal_types=\[dc ac\] duration=time_check_float message="### Floating Violation by icheck ###"
vfloat_chk0_pch_xs_iso_5p0v assert subs=pch_xs_iso_5p0v expr="Floating check condition; ( V(g,s)<-0.1 && V(g,s)>-3.2 && V(s)>3.2 )" duration=time_check_float message="### Floating Violation by vcheck ###"
vfloat_chk1_pch_xs_iso_5p0v assert subs=pch_xs_iso_5p0v expr="Floating check condition; ( V(g,d)<-0.1 && V(g,d)>-3.2 && V(d)>3.2 )" duration=time_check_float message="### Floating Violation by vcheck ###"
//*
ifloat_chk0_nch_svt_iso_5p0vC assert subs=nch_svt_iso_5p0vC expr="i(s)" max=iss_check_float min=-iss_check_float level=error anal_types=\[tran\] duration=time_check_float message="### Floating Violation by icheck ###"
ifloat_chk1_nch_svt_iso_5p0vC assert subs=nch_svt_iso_5p0vC expr="i(s)" max=iss_check_float min=-iss_check_float level=error anal_types=\[dc ac\] duration=time_check_float message="### Floating Violation by icheck ###"
vfloat_chk0_nch_svt_iso_5p0vC assert subs=nch_svt_iso_5p0vC expr="Floating check condition; ( V(g,s)<3.1 && V(g,s)>0.1 && V(s)<0.1 )" duration=time_check_float message="### Floating Violation by vcheck ###"
vfloat_chk1_nch_svt_iso_5p0vC assert subs=nch_svt_iso_5p0vC expr="Floating check condition; ( V(g,d)<3.1 && V(g,d)>0.1 && V(d)<0.1 )" duration=time_check_float message="### Floating Violation by vcheck ###"
//*
ifloat_chk0_nch_lvt_pm_iso_5p0vC assert subs=nch_lvt_pm_iso_5p0v expr="i(s)" max=iss_check_float min=-iss_check_float level=error anal_types=\[tran\] duration=time_check_float message="### Floating Violation by icheck ###"
ifloat_chk1_nch_lvt_pm_iso_5p0vC assert subs=nch_lvt_pm_iso_5p0v expr="i(s)" max=iss_check_float min=-iss_check_float level=error anal_types=\[dc ac\] duration=time_check_float message="### Floating Violation by icheck ###"
vfloat_chk0_nch_lvt_pm_iso_5p0vC assert subs=nch_lvt_pm_iso_5p0v expr="Floating check condition; ( V(g,s)<3.1 && V(g,s)>0.1 && V(s)<0.1 )" duration=time_check_float message="### Floating Violation by vcheck ###"
vfloat_chk1_nch_lvt_pm_iso_5p0vC assert subs=nch_lvt_pm_iso_5p0v expr="Floating check condition; ( V(g,d)<3.1 && V(g,d)>0.1 && V(d)<0.1 )" duration=time_check_float message="### Floating Violation by vcheck ###"
//*
ifloat_chk0_nch_xs_iso_5p0vC assert subs=nch_xs_iso_5p0v expr="i(s)" max=iss_check_float min=-iss_check_float level=error anal_types=\[tran\] duration=time_check_float message="### Floating Violation by icheck ###"
ifloat_chk1_nch_xs_iso_5p0vC assert subs=nch_xs_iso_5p0v expr="i(s)" max=iss_check_float min=-iss_check_float level=error anal_types=\[dc ac\] duration=time_check_float message="### Floating Violation by icheck ###"
vfloat_chk0_nch_xs_iso_5p0vC assert subs=nch_xs_iso_5p0v expr="Floating check condition; ( V(g,s)<3.1 && V(g,s)>0.1 && V(s)<0.1 )" duration=time_check_float message="### Floating Violation by vcheck ###"
vfloat_chk1_nch_xs_iso_5p0vC assert subs=nch_svt_iso_5p0v expr="Floating check condition; ( V(g,d)<3.1 && V(g,d)>0.1 && V(d)<0.1 )" duration=time_check_float message="### Floating Violation by vcheck ###"
//*
ifloat_chk0_pch_svt_iso_5p0vC assert subs=pch_svt_iso_5p0vC expr="i(s)" max=iss_check_float min=-iss_check_float level=error anal_types=\[tran\] duration=time_check_float message="### Floating Violation by icheck ###"
ifloat_chk1_pch_svt_iso_5p0vC assert subs=pch_svt_iso_5p0vC expr="i(s)" max=iss_check_float min=-iss_check_float level=error anal_types=\[dc ac\] duration=time_check_float message="### Floating Violation by icheck ###"
vfloat_chk0_pch_svt_iso_5p0vC assert subs=pch_svt_iso_5p0vC expr="Floating check condition; ( V(g,s)<-0.1 && V(g,s)>-3.2 && V(s)>3.2 )" duration=time_check_float message="### Floating Violation by vcheck ###"
vfloat_chk1_pch_svt_iso_5p0vC assert subs=pch_svt_iso_5p0vC expr="Floating check condition; ( V(g,d)<-0.1 && V(g,d)>-3.2 && V(d)>3.2 )" duration=time_check_float message="### Floating Violation by vcheck ###"
//*
ifloat_chk0_pch_lvt_pm_iso_5p0vC assert subs=pch_lvt_pm_iso_5p0v expr="i(s)" max=iss_check_float min=-iss_check_float level=error anal_types=\[tran\] duration=time_check_float message="### Floating Violation by icheck ###"
ifloat_chk1_pch_lvt_pm_iso_5p0vC assert subs=pch_lvt_pm_iso_5p0v expr="i(s)" max=iss_check_float min=-iss_check_float level=error anal_types=\[dc ac\] duration=time_check_float message="### Floating Violation by icheck ###"
vfloat_chk0_pch_lvt_pm_iso_5p0vC assert subs=pch_lvt_pm_iso_5p0v expr="Floating check condition; ( V(g,s)<-0.1 && V(g,s)>-3.2 && V(s)>3.2 )" duration=time_check_float message="### Floating Violation by vcheck ###"
vfloat_chk1_pch_lvt_pm_iso_5p0vC assert subs=pch_lvt_pm_iso_5p0v expr="Floating check condition; ( V(g,d)<-0.1 && V(g,d)>-3.2 && V(d)>3.2 )" duration=time_check_float message="### Floating Violation by vcheck ###"
//*
ifloat_chk0_pch_xs_iso_5p0vC assert subs=pch_xs_iso_5p0v expr="i(s)" max=iss_check_float min=-iss_check_float level=error anal_types=\[tran\] duration=time_check_float message="### Floating Violation by icheck ###"
ifloat_chk1_pch_xs_iso_5p0vC assert subs=pch_xs_iso_5p0v expr="i(s)" max=iss_check_float min=-iss_check_float level=error anal_types=\[dc ac\] duration=time_check_float message="### Floating Violation by icheck ###"
vfloat_chk0_pch_xs_iso_5p0vC assert subs=pch_xs_iso_5p0v expr="Floating check condition; ( V(g,s)<-0.1 && V(g,s)>-3.2 && V(s)>3.2 )" duration=time_check_float message="### Floating Violation by vcheck ###"
vfloat_chk1_pch_xs_iso_5p0vC assert subs=pch_xs_iso_5p0v expr="Floating check condition; ( V(g,d)<-0.1 && V(g,d)>-3.2 && V(d)>3.2 )" duration=time_check_float message="### Floating Violation by vcheck ###"
//*
ifloat_chk0_pch_svt_iso_dpw_5p0v assert subs=pch_svt_iso_dpw_5p0v expr="i(s)" max=iss_check_float min=-iss_check_float level=error anal_types=\[tran\] duration=time_check_float message="### Floating Violation by icheck ###"
ifloat_chk1_pch_svt_iso_dpw_5p0v assert subs=pch_svt_iso_dpw_5p0v expr="i(s)" max=iss_check_float min=-iss_check_float level=error anal_types=\[dc ac\] duration=time_check_float message="### Floating Violation by icheck ###"
vfloat_chk0_pch_svt_iso_dpw_5p0v assert subs=pch_svt_iso_dpw_5p0v expr="Floating check condition; ( V(g,s)<-0.1 && V(g,s)>-3.2 && V(s)>3.2 )" duration=time_check_float message="### Floating Violation by vcheck ###"
vfloat_chk1_pch_svt_iso_dpw_5p0v assert subs=pch_svt_iso_dpw_5p0v expr="Floating check condition; ( V(g,d)<-0.1 && V(g,d)>-3.2 && V(d)>3.2 )" duration=time_check_float message="### Floating Violation by vcheck ###"
//*
ifloat_chk0_nch_ldm_iso_5v assert subs=nch_ldm_iso_5v expr="i(s)" max=iss_check_float min=-iss_check_float level=error anal_types=\[tran\] duration=time_check_float message="### Floating Violation by icheck ###"
ifloat_chk1_nch_ldm_iso_5v assert subs=nch_ldm_iso_5v expr="i(s)" max=iss_check_float min=-iss_check_float level=error anal_types=\[dc ac\] duration=time_check_float message="### Floating Violation by icheck ###"
vfloat_chk0_nch_ldm_iso_5v assert subs=nch_ldm_iso_5v expr="Floating check condition; ( V(g,s)<3.1 && V(g,s)>0.1 && V(s)<0.1 )" duration=time_check_float message="### Floating Violation by vcheck ###"
vfloat_chk1_nch_ldm_iso_5v assert subs=nch_ldm_iso_5v expr="Floating check condition; ( V(g,d)<3.1 && V(g,d)>0.1 && V(d)<0.1 )" duration=time_check_float message="### Floating Violation by vcheck ###"
//*
ifloat_chk0_pch_ldm_n_5v assert subs=pch_ldm_n_5v expr="i(s)" max=iss_check_float min=-iss_check_float level=error anal_types=\[tran\] duration=time_check_float message="### Floating Violation by icheck ###"
ifloat_chk1_pch_ldm_n_5v assert subs=pch_ldm_n_5v expr="i(s)" max=iss_check_float min=-iss_check_float level=error anal_types=\[dc ac\] duration=time_check_float message="### Floating Violation by icheck ###"
vfloat_chk0_pch_ldm_n_5v assert subs=pch_ldm_n_5v expr="Floating check condition; ( V(g,s)<-0.1 && V(g,s)>-3.2 && V(s)>3.2 )" duration=time_check_float message="### Floating Violation by vcheck ###"
vfloat_chk1_pch_ldm_n_5v assert subs=pch_ldm_n_5v expr="Floating check condition; ( V(g,d)<-0.1 && V(g,d)>-3.2 && V(d)>3.2 )" duration=time_check_float message="### Floating Violation by vcheck ###"
//*

*ping_count: Number of statistical periods being used. Default is 300.
*ping_start: Time at which the check is initiated.
*ping_duration: Duration of a ping. A ping consists of two phases: high/low forcing phase and ramp up forcing phase. Length of each phase is half of ping_duration. Default is none.
*seed: Seed for random number generation.
*ping_ibias: Lowest bias current in the design. It is recommended to set this parameter to 10% of bias current in the design. Default is none. If specified, then ping_resistor is evaluated to be equal to: *ping_resistor=domain_voltage/ping_ibias.
*ping_iabsthres: Current threshold for floating node detection during high/low forcing. Default is domain_voltage/ping_resistor.
*ping_iabsthresh_ramp: Current threshold for floating node detection during ramp forcing. Default is 100*domain_voltage/ping_resistor.
*ping_irelthresh: Relative threshold for floating node detection for both high/low and ramp forcing. Default is 1000.
*save=: To probe gate voltage of MOSFETs, base voltage of BJTs, drain current of MOSFETs and collector current of BJTs. When value is set to ping or all, a new waveform file will be written in raw directory. The format of this new waveform file will be <CheckName>_<PingStart>.tran.tran, where <CheckName> is the name of check statement and <PingStart> is the time specified in ping_start parameter. The waveform will start from PingStart until ping simulation is finished. If save=ping, only save ping voltages and mos/bjt currents. If save=all, both of signals in the save=ping and the ones saved in the netlist are saved. Default is no. Possible values are ping, no and all.
*omain_detection_method=dev Domain detection, find the ping nodes through device or node. Possible values are dev and node.

*dyn_float_tran_stat Algorithm
*Transient simulation is run till ping_start.
*Qualified nodes are identified to exercise pings according to domains.
*For each qualified node, domain_voltage is evaluated.
*Pings are created randomly using seed value. One third of the qualified nodes are selected for HIGH. One third of qualified nodes are selected for LOW. One third of qualified nodes are selected for RAMP.
*ping_duration and ping_resistor are evaluated
*Pings are applied sequentially at ping_start.
*For each ping:
* All MOSFET drain currents and BJT collector currents are stored as reference current (Iref) right before applying the ping
*For the first half of ping_duration:
* HIGH/LOW to each node is forced through a resistor with ping_resistor value.
* Device current (Iping) is checked at 0.95 of 0.5*ping_duration. A fail is detected if:
* |Iref-Iping| > max(pingibsthresh, pingirelthresh * min(|Iref|,|Iping|))
*For the second half of ping_duration:
*The RAMP is forced to each node through a resistor with the ping_resistor value and the maximum (Iping,max) and minimum (Iping,min) device current is checked during the RAMP. A fail is detected in any of the following cases:
* |Iref-Iping,max| > max(pingiabsthresh_ramp, pingirelthresh*min(|Iref|,|Iping,max|))
* |Iref-Iping,min| > max(pingiabsthresh_ramp, pingirelthresh*min(|Iref|,|Iping,min|))
*The results are written to the dynamic.xml file, which can be viewed in a Web browser. This design check is supported only in Spectre and Spectre APS modes. It is not supported in Spectre XPS FastSPICE, Spectre XPS SPICE, and Spectre MS modes.
//op1 options stahiz_ping_all=yes

I am not sure how to resolve this error. Need help. 

 

  • Sign in to reply
  • Cancel
  • Andrew Beckett
    Andrew Beckett 4 months ago

    There are several problems:

    1. If you are directly running "spectre dyn_floating_node.scs" then the first line is treated as the "title" line (a common convention that SPICE always had). Because of this, the very first line is ignored and so that means it's missing the dyn_float_tran_stat check and just getting the parameters (which is why it complains about the equals)
    2. The domains parameter should be specified as a vector (i.e. surrounded by [])
    3. The line with ping_start defined (your line 4) is omitting the continuation escape (backslash) at the end of the line
    4. All your vectors in the file have been escaped - you have \[...\] instead of [...]. Why? I wondered whether maybe you were using a stimulus file in ADE (which does some name translation) - my recommendation if you were doing this would be to use a definition file in ADE instead as this does not do any mapping and allows you to enter directly in Spectre syntax.

    I corrected all of these, and then it runs OK. The start of the file looks like this:

    // my title
    myfnccheck dyn_float_tran_stat \
    domains = [VDD00 AGND] \
    ping_count = 300 \
    ping_start = [20u] \
    ping_duration =10u \
    ping_resistor_min =10M \
    ping_resistor_max =10G \
    seed =1154 \
    save =ping \
    ping_ibias=100n \
    ping_iabsthresh =500n \
    ping_iabsthresh_ramp =1u \
    ping_irelthresh =10000 \
    xsubckt = [V5ISO_SVT_TIELC V5ISO_SVT_TIELC]

    //*

    Andrew

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • akaraguppi
    akaraguppi 3 months ago in reply to Andrew Beckett

    Hi Andrew, removing all the escape characters like you have in the attached code and using this file as a definition instead of stimulus resolved it. Thanks.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • 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