• 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. DCop inconsistency

Stats

  • Locked Locked
  • Replies 10
  • Subscribers 125
  • Views 16717
  • 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

DCop inconsistency

Ahmed Okasha
Ahmed Okasha over 5 years ago

I'm designing  a low voltage BGR circuit and for the last 4 days i was getting non realistic results from cadence.
In the first 2 pics. I'm perorming a temperature DC sweep and i'm getting results that is not expected.

Fullscreen 1.txt Download
Cadence (R) Virtuoso (R) Spectre (R) Circuit Simulator
Version 14.1.0.138 64bit -- 28 Sep 2014
Copyright (C) 1989-2014 Cadence Design Systems, Inc. All rights reserved worldwide. Cadence, Virtuoso and Spectre are registered trademarks of Cadence Design Systems, Inc. All others are the property of their respective holders.

Includes RSA BSAFE(R) Cryptographic or Security Protocol Software from RSA Security, Inc.

User: cadence   Host: berkeley   HostID: 7F0100   PID: 25528
Memory  available: 7.3759 GB  physical: 10.1192 GB
CPU Type: Intel(R) Core(TM) i7-7500U CPU @ 2.70GHz
          Processor PhysicalID CoreID Frequency Load
              0         0        0     2904.0     8.8
              1         2        0     2904.0     8.0


Simulating `input.scs' on berkeley at 4:55:31 PM, Sat Oct 3, 2020 (process id: 25528).
Current working directory: /home/cadence/simulation/BGR/spectre/schematic/netlist
Environment variable:
    SPECTRE_DEFAULTS=-E
Command line:
    /usr/local/cadence/MMSIM141/tools/bin/spectre -64 input.scs  \
        +escchars +log ../psf/spectre.out +inter=mpsc  \
        +mpssession=spectre1_21754_23 -format psfxl -raw ../psf  \
        +lqtimeout 900 -maxw 5 -maxn 5
spectre pid = 25528

Loading /usr/local/cadence/MMSIM141/tools.lnx86/cmi/lib/64bit/5.0/libinfineon_sh.so ...
Loading /usr/local/cadence/MMSIM141/tools.lnx86/cmi/lib/64bit/5.0/libphilips_o_sh.so ...
Loading /usr/local/cadence/MMSIM141/tools.lnx86/cmi/lib/64bit/5.0/libphilips_sh.so ...
Loading /usr/local/cadence/MMSIM141/tools.lnx86/cmi/lib/64bit/5.0/libsparam_sh.so ...
Loading /usr/local/cadence/MMSIM141/tools.lnx86/cmi/lib/64bit/5.0/libstmodels_sh.so ...
Reading file:  /home/cadence/simulation/BGR/spectre/schematic/netlist/input.scs
Reading file:  /usr/local/cadence/MMSIM141/tools.lnx86/spectre/etc/configs/spectre.cfg
Reading file:  /usr/include/stdc-predef.h
Reading file:  /home/cadence/tsmc65nm/models/spectre/crn65gplus_2d5_lk_v1d0.scs
Reading file:  /home/cadence/tsmc65nm/models/spectre/mosCAPrf_ahdl.va
Reading link:  /usr/local/cadence/MMSIM141/tools.lnx86/spectre/etc/ahdl/discipline.h
Reading file:  /usr/local/cadence/MMSIM141/tools.lnx86/spectre/etc/ahdl/disciplines.vams
Reading link:  /usr/local/cadence/MMSIM141/tools.lnx86/spectre/etc/ahdl/constants.h
Reading file:  /usr/local/cadence/MMSIM141/tools.lnx86/spectre/etc/ahdl/constants.vams
Reading file:  /home/cadence/tsmc65nm/models/spectre/mosCap_ahdl.va
Time for NDB Parsing: CPU = 1.144 s, elapsed = 1.1556 s.
Time accumulated: CPU = 1.16 s, elapsed = 1.15561 s.
Peak resident memory used = 120 Mbytes.

Time for Elaboration: CPU = 296 ms, elapsed = 293.254 ms.
Time accumulated: CPU = 1.456 s, elapsed = 1.44908 s.
Peak resident memory used = 137 Mbytes.

Time for EDB Visiting: CPU = 96 ms, elapsed = 95.737 ms.
Time accumulated: CPU = 1.552 s, elapsed = 1.54502 s.
Peak resident memory used = 144 Mbytes.


Global user options:
             reltol = 0.001
            vabstol = 1e-06
            iabstol = 1e-12
               temp = 27
               tnom = 27
             scalem = 1
              scale = 1
               gmin = 1e-12
             rforce = 1
           maxnotes = 5
           maxwarns = 5
             digits = 5
               cols = 80
             pivrel = 0.001
           sensfile = ../psf/sens.output
     checklimitdest = psf
               save = allpub
               tnom = 27
             scalem = 1
              scale = 1

Circuit inventory:
              nodes 3641
                bjt 2     
              bsim4 10    
     bsource_572a4a 2424  
     bsource_e911f3 1212  
          capacitor 3030  
            vsource 1     

Analysis and control statement inventory:
                 dc 2     
               info 7     

Output statements:
             .probe 0     
           .measure 0     
               save 1     

Time for parsing: CPU = 32 ms, elapsed = 32.531 ms.
Time accumulated: CPU = 1.584 s, elapsed = 1.57775 s.
Peak resident memory used = 147 Mbytes.

~~~~~~~~~~~~~~~~~~~~~~
Pre-Simulation Summary
~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~
Entering remote command mode using MPSC service (spectre, ipi, v0.0, spectre1_21754_23, ).

Warning from spectre.
    WARNING (SPECTRE-16707): Only tran supports psfxl format, result of other analyses will be in psfbin format.


******************
DC Analysis `dcOp'
******************
Important parameter values:
    reltol = 1e-03
    abstol(V) = 1 uV
    abstol(I) = 1 pA
    temp = 27 C
    tnom = 27 C
    tempeffects = all
    gmindc = 1 pS
Convergence achieved in 13 iterations.
Total time required for dc analysis `dcOp': CPU = 120 ms, elapsed = 119.421 ms.
Time accumulated: CPU = 1.708 s, elapsed = 1.76332 s.
Peak resident memory used = 151 Mbytes.

dcOpInfo: writing operating point information to rawfile.

*****************************************
DC Analysis `dc': temp = (-40 C -> 125 C)
*****************************************
Important parameter values:
    reltol = 1e-03
    abstol(V) = 1 uV
    abstol(I) = 1 pA
    temp = -40 C
    tnom = 27 C
    tempeffects = all
    gmindc = 1 pS
    dc: temp = -33.4 C        (4 %), step = 3.3 C           (2 %)
    dc: temp = -30.1 C        (6 %), step = 3.3 C           (2 %)
    dc: temp = -26.8 C        (8 %), step = 3.3 C           (2 %)
    dc: temp = -23.5 C       (10 %), step = 3.3 C           (2 %)
    dc: temp = -20.2 C       (12 %), step = 3.3 C           (2 %)
    dc: temp = -16.9 C       (14 %), step = 3.3 C           (2 %)
    dc: temp = -13.6 C       (16 %), step = 3.3 C           (2 %)
    dc: temp = -10.3 C       (18 %), step = 3.3 C           (2 %)
    dc: temp = -7 C          (20 %), step = 3.3 C           (2 %)
    dc: temp = -3.7 C        (22 %), step = 3.3 C           (2 %)
    dc: temp = -400 mC       (24 %), step = 3.3 C           (2 %)
    dc: temp = 2.9 C         (26 %), step = 3.3 C           (2 %)
    dc: temp = 6.2 C         (28 %), step = 3.3 C           (2 %)
    dc: temp = 9.5 C         (30 %), step = 3.3 C           (2 %)
    dc: temp = 12.8 C        (32 %), step = 3.3 C           (2 %)
    dc: temp = 16.1 C        (34 %), step = 3.3 C           (2 %)
    dc: temp = 19.4 C        (36 %), step = 3.3 C           (2 %)
    dc: temp = 22.7 C        (38 %), step = 3.3 C           (2 %)
    dc: temp = 26 C          (40 %), step = 3.3 C           (2 %)
    dc: temp = 29.3 C        (42 %), step = 3.3 C           (2 %)
    dc: temp = 32.6 C        (44 %), step = 3.3 C           (2 %)
    dc: temp = 35.9 C        (46 %), step = 3.3 C           (2 %)
    dc: temp = 39.2 C        (48 %), step = 3.3 C           (2 %)
    dc: temp = 42.5 C        (50 %), step = 3.3 C           (2 %)
    dc: temp = 45.8 C        (52 %), step = 3.3 C           (2 %)
    dc: temp = 49.1 C        (54 %), step = 3.3 C           (2 %)
    dc: temp = 52.4 C        (56 %), step = 3.3 C           (2 %)
    dc: temp = 55.7 C        (58 %), step = 3.3 C           (2 %)
    dc: temp = 59 C          (60 %), step = 3.3 C           (2 %)
    dc: temp = 62.3 C        (62 %), step = 3.3 C           (2 %)
    dc: temp = 65.6 C        (64 %), step = 3.3 C           (2 %)
    dc: temp = 68.9 C        (66 %), step = 3.3 C           (2 %)
    dc: temp = 72.2 C        (68 %), step = 3.3 C           (2 %)
    dc: temp = 75.5 C        (70 %), step = 3.3 C           (2 %)
    dc: temp = 78.8 C        (72 %), step = 3.3 C           (2 %)
    dc: temp = 82.1 C        (74 %), step = 3.3 C           (2 %)
    dc: temp = 85.4 C        (76 %), step = 3.3 C           (2 %)
    dc: temp = 88.7 C        (78 %), step = 3.3 C           (2 %)
    dc: temp = 92 C          (80 %), step = 3.3 C           (2 %)
    dc: temp = 95.3 C        (82 %), step = 3.3 C           (2 %)
    dc: temp = 98.6 C        (84 %), step = 3.3 C           (2 %)
    dc: temp = 101.9 C       (86 %), step = 3.3 C           (2 %)
    dc: temp = 105.2 C       (88 %), step = 3.3 C           (2 %)
    dc: temp = 108.5 C       (90 %), step = 3.3 C           (2 %)
    dc: temp = 111.8 C       (92 %), step = 3.3 C           (2 %)
    dc: temp = 115.1 C       (94 %), step = 3.3 C           (2 %)
    dc: temp = 118.4 C       (96 %), step = 3.3 C           (2 %)
    dc: temp = 121.7 C       (98 %), step = 3.3 C           (2 %)
    dc: temp = 125 C        (100 %), step = 3.3 C           (2 %)
Total time required for dc analysis `dc': CPU = 12.488 s, elapsed = 12.5376 s.
Time accumulated: CPU = 14.468 s, elapsed = 14.5776 s.
Peak resident memory used = 153 Mbytes.

modelParameter: writing model parameter values to rawfile.
element: writing instance parameter values to rawfile.
outputParameter: writing output parameter values to rawfile.
designParamVals: writing netlist parameters to rawfile.
primitives: writing primitives to rawfile.
subckts: writing subcircuits to rawfile.

But if i sweep the temperature backwards (125 to -40) i get the results i'm expecting.

Fullscreen 2.txt Download
Cadence (R) Virtuoso (R) Spectre (R) Circuit Simulator
Version 14.1.0.138 64bit -- 28 Sep 2014
Copyright (C) 1989-2014 Cadence Design Systems, Inc. All rights reserved worldwide. Cadence, Virtuoso and Spectre are registered trademarks of Cadence Design Systems, Inc. All others are the property of their respective holders.

Includes RSA BSAFE(R) Cryptographic or Security Protocol Software from RSA Security, Inc.

User: cadence   Host: berkeley   HostID: 7F0100   PID: 25630
Memory  available: 7.3686 GB  physical: 10.1192 GB
CPU Type: Intel(R) Core(TM) i7-7500U CPU @ 2.70GHz
          Processor PhysicalID CoreID Frequency Load
              0         0        0     2904.0     8.8
              1         2        0     2904.0     8.0


Simulating `input.scs' on berkeley at 4:59:03 PM, Sat Oct 3, 2020 (process id: 25630).
Current working directory: /home/cadence/simulation/BGR/spectre/schematic/netlist
Environment variable:
    SPECTRE_DEFAULTS=-E
Command line:
    /usr/local/cadence/MMSIM141/tools/bin/spectre -64 input.scs  \
        +escchars +log ../psf/spectre.out +inter=mpsc  \
        +mpssession=spectre1_21754_24 -format psfxl -raw ../psf  \
        +lqtimeout 900 -maxw 5 -maxn 5
spectre pid = 25630

Loading /usr/local/cadence/MMSIM141/tools.lnx86/cmi/lib/64bit/5.0/libinfineon_sh.so ...
Loading /usr/local/cadence/MMSIM141/tools.lnx86/cmi/lib/64bit/5.0/libphilips_o_sh.so ...
Loading /usr/local/cadence/MMSIM141/tools.lnx86/cmi/lib/64bit/5.0/libphilips_sh.so ...
Loading /usr/local/cadence/MMSIM141/tools.lnx86/cmi/lib/64bit/5.0/libsparam_sh.so ...
Loading /usr/local/cadence/MMSIM141/tools.lnx86/cmi/lib/64bit/5.0/libstmodels_sh.so ...
Reading file:  /home/cadence/simulation/BGR/spectre/schematic/netlist/input.scs
Reading file:  /usr/local/cadence/MMSIM141/tools.lnx86/spectre/etc/configs/spectre.cfg
Reading file:  /usr/include/stdc-predef.h
Reading file:  /home/cadence/tsmc65nm/models/spectre/crn65gplus_2d5_lk_v1d0.scs
Reading file:  /home/cadence/tsmc65nm/models/spectre/mosCAPrf_ahdl.va
Reading link:  /usr/local/cadence/MMSIM141/tools.lnx86/spectre/etc/ahdl/discipline.h
Reading file:  /usr/local/cadence/MMSIM141/tools.lnx86/spectre/etc/ahdl/disciplines.vams
Reading link:  /usr/local/cadence/MMSIM141/tools.lnx86/spectre/etc/ahdl/constants.h
Reading file:  /usr/local/cadence/MMSIM141/tools.lnx86/spectre/etc/ahdl/constants.vams
Reading file:  /home/cadence/tsmc65nm/models/spectre/mosCap_ahdl.va
Time for NDB Parsing: CPU = 1.168 s, elapsed = 1.17971 s.
Time accumulated: CPU = 1.184 s, elapsed = 1.17972 s.
Peak resident memory used = 121 Mbytes.

Time for Elaboration: CPU = 276 ms, elapsed = 277.906 ms.
Time accumulated: CPU = 1.464 s, elapsed = 1.45781 s.
Peak resident memory used = 137 Mbytes.

Time for EDB Visiting: CPU = 100 ms, elapsed = 101.166 ms.
Time accumulated: CPU = 1.564 s, elapsed = 1.55921 s.
Peak resident memory used = 144 Mbytes.


Global user options:
             reltol = 0.001
            vabstol = 1e-06
            iabstol = 1e-12
               temp = 27
               tnom = 27
             scalem = 1
              scale = 1
               gmin = 1e-12
             rforce = 1
           maxnotes = 5
           maxwarns = 5
             digits = 5
               cols = 80
             pivrel = 0.001
           sensfile = ../psf/sens.output
     checklimitdest = psf
               save = allpub
               tnom = 27
             scalem = 1
              scale = 1

Circuit inventory:
              nodes 3641
                bjt 2     
              bsim4 10    
     bsource_572a4a 2424  
     bsource_e911f3 1212  
          capacitor 3030  
            vsource 1     

Analysis and control statement inventory:
                 dc 2     
               info 7     

Output statements:
             .probe 0     
           .measure 0     
               save 1     

Time for parsing: CPU = 36 ms, elapsed = 41.8222 ms.
Time accumulated: CPU = 1.6 s, elapsed = 1.60144 s.
Peak resident memory used = 147 Mbytes.

~~~~~~~~~~~~~~~~~~~~~~
Pre-Simulation Summary
~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~
Entering remote command mode using MPSC service (spectre, ipi, v0.0, spectre1_21754_24, ).

Warning from spectre.
    WARNING (SPECTRE-16707): Only tran supports psfxl format, result of other analyses will be in psfbin format.


******************
DC Analysis `dcOp'
******************
Important parameter values:
    reltol = 1e-03
    abstol(V) = 1 uV
    abstol(I) = 1 pA
    temp = 27 C
    tnom = 27 C
    tempeffects = all
    gmindc = 1 pS
Convergence achieved in 13 iterations.
Total time required for dc analysis `dcOp': CPU = 112 ms, elapsed = 111.633 ms.
Time accumulated: CPU = 1.712 s, elapsed = 1.76409 s.
Peak resident memory used = 151 Mbytes.

dcOpInfo: writing operating point information to rawfile.

*****************************************
DC Analysis `dc': temp = (125 C -> -40 C)
*****************************************
Important parameter values:
    reltol = 1e-03
    abstol(V) = 1 uV
    abstol(I) = 1 pA
    temp = 125 C
    tnom = 27 C
    tempeffects = all
    gmindc = 1 pS
    dc: temp = 118.4 C        (4 %), step = -3.3 C          (2 %)
    dc: temp = 115.1 C        (6 %), step = -3.3 C          (2 %)
    dc: temp = 111.8 C        (8 %), step = -3.3 C          (2 %)
    dc: temp = 108.5 C       (10 %), step = -3.3 C          (2 %)
    dc: temp = 105.2 C       (12 %), step = -3.3 C          (2 %)
    dc: temp = 101.9 C       (14 %), step = -3.3 C          (2 %)
    dc: temp = 98.6 C        (16 %), step = -3.3 C          (2 %)
    dc: temp = 95.3 C        (18 %), step = -3.3 C          (2 %)
    dc: temp = 92 C          (20 %), step = -3.3 C          (2 %)
    dc: temp = 88.7 C        (22 %), step = -3.3 C          (2 %)
    dc: temp = 85.4 C        (24 %), step = -3.3 C          (2 %)
    dc: temp = 82.1 C        (26 %), step = -3.3 C          (2 %)
    dc: temp = 78.8 C        (28 %), step = -3.3 C          (2 %)
    dc: temp = 75.5 C        (30 %), step = -3.3 C          (2 %)
    dc: temp = 72.2 C        (32 %), step = -3.3 C          (2 %)
    dc: temp = 68.9 C        (34 %), step = -3.3 C          (2 %)
    dc: temp = 65.6 C        (36 %), step = -3.3 C          (2 %)
    dc: temp = 62.3 C        (38 %), step = -3.3 C          (2 %)
    dc: temp = 59 C          (40 %), step = -3.3 C          (2 %)
    dc: temp = 55.7 C        (42 %), step = -3.3 C          (2 %)
    dc: temp = 52.4 C        (44 %), step = -3.3 C          (2 %)
    dc: temp = 49.1 C        (46 %), step = -3.3 C          (2 %)
    dc: temp = 45.8 C        (48 %), step = -3.3 C          (2 %)
    dc: temp = 42.5 C        (50 %), step = -3.3 C          (2 %)
    dc: temp = 39.2 C        (52 %), step = -3.3 C          (2 %)
    dc: temp = 35.9 C        (54 %), step = -3.3 C          (2 %)
    dc: temp = 32.6 C        (56 %), step = -3.3 C          (2 %)
    dc: temp = 29.3 C        (58 %), step = -3.3 C          (2 %)
    dc: temp = 26 C          (60 %), step = -3.3 C          (2 %)
    dc: temp = 22.7 C        (62 %), step = -3.3 C          (2 %)
    dc: temp = 19.4 C        (64 %), step = -3.3 C          (2 %)
    dc: temp = 16.1 C        (66 %), step = -3.3 C          (2 %)
    dc: temp = 12.8 C        (68 %), step = -3.3 C          (2 %)
    dc: temp = 9.5 C         (70 %), step = -3.3 C          (2 %)
    dc: temp = 6.2 C         (72 %), step = -3.3 C          (2 %)
    dc: temp = 2.9 C         (74 %), step = -3.3 C          (2 %)
    dc: temp = -400 mC       (76 %), step = -3.3 C          (2 %)
    dc: temp = -3.7 C        (78 %), step = -3.3 C          (2 %)
    dc: temp = -7 C          (80 %), step = -3.3 C          (2 %)
    dc: temp = -10.3 C       (82 %), step = -3.3 C          (2 %)
    dc: temp = -13.6 C       (84 %), step = -3.3 C          (2 %)
    dc: temp = -16.9 C       (86 %), step = -3.3 C          (2 %)
    dc: temp = -20.2 C       (88 %), step = -3.3 C          (2 %)
    dc: temp = -23.5 C       (90 %), step = -3.3 C          (2 %)
    dc: temp = -26.8 C       (92 %), step = -3.3 C          (2 %)
    dc: temp = -30.1 C       (94 %), step = -3.3 C          (2 %)
    dc: temp = -33.4 C       (96 %), step = -3.3 C          (2 %)
    dc: temp = -36.7 C       (98 %), step = -3.3 C          (2 %)
    dc: temp = -40 C        (100 %), step = -3.3 C          (2 %)
Total time required for dc analysis `dc': CPU = 12.34 s, elapsed = 12.4091 s.
Time accumulated: CPU = 14.316 s, elapsed = 14.4389 s.
Peak resident memory used = 153 Mbytes.

modelParameter: writing model parameter values to rawfile.
element: writing instance parameter values to rawfile.
outputParameter: writing output parameter values to rawfile.
designParamVals: writing netlist parameters to rawfile.
primitives: writing primitives to rawfile.
subckts: writing subcircuits to rawfile.

I can live with that problem. But there's a bigger one. The DCop that cadence give me when i ran at a specific temperature is from the wrong graphs. And I need to run AC and Transient analysis at the nominal 27 temperature.

  • Cancel
Parents
  • ShawnLogan
    ShawnLogan over 5 years ago

    Dear Ahmed,

    In looking over your question and very helpful log files and plots, a thought came to mind immediately that I wanted to verify with you. As I am sure you know, bandgap circuits do not always start up in the desired state. In essence, the data can be one that produces a near 0 output and a state that produces the desired output. I am not sure if you are plotting the actual bandgap outputs or any of its internal nodes. Have you verified in those cases were your result does not fall within your expectations that the DC operating point of the bandgap is at its non-zero state? In essence, is your startup circuit working properly over all temperatures and starting the bandgap reference to its non-zero state? Sometimes the start-up circuit will only show issues over a specific temperature range.

    I also compared the temperatures at which your forward and reverse simulations were performed (to within the accuracy of the log file temperatures) and found a couple of differences - which may be a clue as to the range where a start-up circuit is not consistently working as desired.

    This may be obvious to you (please excuse my comment if it is!), but I thought I would at least mention it based on my experiences simulating this type of circuit.

    Shawn

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Ahmed Okasha
    Ahmed Okasha over 5 years ago in reply to ShawnLogan

    Dear Shawn, 
    Thanks for your reply. At the first I should mention that I'm a 2nd year student and don't know cadence that much. My circuit has it's working startup circuit that I verified using DC sweeps and ramping in transient analysis. I didn't really understand what you mean in your note about log temperature .

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Reply
  • Ahmed Okasha
    Ahmed Okasha over 5 years ago in reply to ShawnLogan

    Dear Shawn, 
    Thanks for your reply. At the first I should mention that I'm a 2nd year student and don't know cadence that much. My circuit has it's working startup circuit that I verified using DC sweeps and ramping in transient analysis. I didn't really understand what you mean in your note about log temperature .

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Children
No Data

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