• 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. Running the power sic MOSFET model using the spectre si...

Stats

  • Locked Locked
  • Replies 13
  • Subscribers 126
  • Views 12213
  • 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

Running the power sic MOSFET model using the spectre simulator

liangqunshan
liangqunshan over 2 years ago

I used onsem's sic mosfet model (NTHL040N120M3S)for double  pulse test simulation which will generates  large voltage and current, but the simulation results were not satisfactory,just  as follows:

This is the schematic diagram I built:

the NTHL040N120M3S model was downloaded from this website :  Case: 00451022 (site.com)

the datasheet download website for this device :Silicon Carbide (SiC) MOSFETs (onsemi.com)

The corresponding netlist is as follows:

// Design view name: schematic
simulator lang=spectre
global 0
include "/home/student1/PDK/csmc600v/Docs/Spice_Mode/10HVCSDST60V19/10HVCSDST60V19/s10hvcsdst60v19.scs" section=tt_20v
include "/home/student1/model_stage2/NTHL040N120M3S_spectre/NTHL040N120M3S_Rev1.scs"

// Library name: qsliang_sic
// Cell name: NTHL040N120M3S_3P_DPT
// View name: schematic
V10 (net012 GND) vsource dc=18 type=dc
V9 (inv_in GND) vsource dc=0 type=dc
V8 (net011 GND) vsource dc=-5 type=dc
V7 (inv_in GND) vsource dc=0 type=dc
V6 (net014 VD) vsource dc=-5 type=dc
V5 (GND 0) vsource dc=0 type=dc
V0 (net016 GND) vsource dc=800 type=dc
V2 (net6 GND) vsource dc=15 type=dc
V1 (net4 GND) vsource dc=-5 type=dc
M4 (Tj inv_in net011 net011) mn20v m=1 mt=100 w=10u l=1.4u as=12.625p \
ad=80.64p ps=22.725u pd=40u
M0 (Tcase inv_in net4 net4) mn20v m=1 mt=100 w=10u l=1.4u as=12.625p \
ad=80.64p ps=22.725u pd=40u
M3 (net016 net014 VD Tj Tcase) NTHL040N120M3S_5P
M2 (VD VGS GND Tj Tcase) NTHL040N120M3S_5P
M5 (Tj inv_in net012 net012) mp20v m=1 mt=200 w=10u l=1.6u as=12.5625p \
ad=72.8p ps=22.6125u pd=38.4u
M1 (Tcase inv_in net6 net6) mp20v m=1 mt=200 w=10u l=1.6u as=12.5625p \
ad=72.8p ps=22.6125u pd=38.4u
L0 (net016 VD) inductor l=200u
V4 (in GND) vsource dc=0 type=pwl \
file="/home/student1/qsliang/sic/qsliang_sic/doupul.txt"
C0 (net016 GND) capacitor c=660u
R0 (in VGS) resistor r=10.00
simulatorOptions options reltol=1e-3 vabstol=1e-6 iabstol=1e-12 temp=27 \
tnom=27 scalem=1.0 scale=1.0 gmin=1e-12 rforce=1 diagnose=yes \
maxnotes=5 maxwarns=5 digits=5 cols=80 dc_pivot_check=yes pivrel=1e-3 \
sensfile="../psf/sens.output" checklimitdest=psf
tran tran stop=10u errpreset=moderate write="spectre.ic" \
writefinal="spectre.fc" annotate=status maxiters=5
finalTimeOP info what=oppoint where=rawfile
modelParameter info what=models where=rawfile
element info what=inst where=rawfile
outputParameter info what=output where=rawfile
designParamVals info what=parameters where=rawfile
primitives info what=primitives where=rawfile
subckts info what=subckts where=rawfile
save M2:1
saveOptions options save=allpub

The version of spectre I use is 19.1.0.496.isr12 64bit -- 16 Oct 2020

Does' The results calculated by Spectre may be incorrect because the junction current model has been linearized ' mean that the current value is not correct ?

What impact will those "Top 10 Residue Convergence failure counts accumulated from the beginning of `dc gmin stepping' analysis、warnings and notices" have on the simulation results? Do I need to do something to eliminate them?

Additionally, do I need to set "bin-relref=yes, highvoltage=yes" ? If so, how do I set it ?

  • Cancel
Parents
  • ShawnLogan
    ShawnLogan over 2 years ago

    Dear ialngqunshan,

    liangqunshan said:
    Does' The results calculated by Spectre may be incorrect because the junction current model has been linearized ' mean that the current value is not correct ?

    Without providing any of your waveforms or simulation results, and not knowing the characteristics of your model, I certainly can not tell. I think you are the only one who can judge if the simulated results are inaccurate. Spectre can only report that it linearized the model and that linearization may result in a simulation answer that "may be inaccurate".

    liangqunshan said:

    Do I need to do something to eliminate them?

    Additionally, do I need to set "bin-relref=yes, highvoltage=yes" ? If so, how do I set it

    I might suggest you follow the guidance that the messages provide. Specifically, prior to recommending setting global option "bin-refref = yes", the message indicates to change your errpreset setting rom your simulation setting of "moderate" to "conservative". Second, with the magnitude of voltages you are using (V0 is 800 V), I would suggest, as does the spectre.out message, you enable the highvoltage option. For instructions as to how to enable the highvoltage option in a transient simulation, please refer to the On-line support article at URL:

    https://support.cadence.com/apex/ArticleAttachmentPortal?id=a1O0V000009ESxtUAG&pageName=ArticleContent

    Shawn

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • liangqunshan
    liangqunshan over 2 years ago in reply to ShawnLogan

    Hello shawnLogan

    Thank you very much for your advice!

    I have tried many times, but I cannot access the website you provided,so I hope you can tell me how to set 'hignvoltage=yes and bin-relref=yes',or copy the relevant operating procedures here ,thank you very much !

    second ,here is the screenshot of the simulation waveform and Related error preset settings

    The first waveform is clearly incorrect  ,The second one is also incorrect as there is no oscillation of the waveform,the NTHL040N120M3S model is a sic MOSFET model which is very similar to the Si MOSFET ,the difference between them is that the sic mosfet switching performance is better .

    The waveform I want is similar to that in the picture below (obtained from a paper).

    I think I should change the settings of the simulator to solve the current problem, can you give me some suggestions ?

    Regards

    Liangqunshan

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • ShawnLogan
    ShawnLogan over 2 years ago in reply to liangqunshan

    Dear lalngqunshan,

    liangqunshan said:
    I have tried many times, but I cannot access the website you provided,

    If you do not have a Cadence On-line support site account, you will not be able to access that site. I would seriously consider getting an account as there is a lot of information available that might answer some of your questions very quickly.

    You can enable the highvoltage option from the ADE menu item sequence Simulation > Options > Analog and from the Main tab, enable the radio button "yes" to the right of  highvoltage".

    liangqunshan said:
    The first waveform is clearly incorrect  ,The second one is also incorrect as there is no oscillation of the waveform

    1. I am not sure how you can tell the "first waveform is clearly incorrect" if you are referring to the upper waveform screen capture. Although I can barely read the time axis, it appears to be in nanoseconds while the lower waveform screen capture has a time axis in microseconds. It appears to me that the topmost screen capture only shows about 52 ns of your 10 us simulation and as such, the input waveform may not be sufficient to turn on your MOSFET (see Figure 1).

    2. Secondly, by the term "oscillation", from your accompanying figure from the reference you included in your post, are you referring to the overshoot and undershoot? Once again, referring to Figure 1 shown below, I clearly see evidence of overshoot and undershoot ("ringing") in the 50 us, errpreset "moderate" simulation result. I don't think you can expect to see the same degree of overshoot and undershoot you show in your accompanying figure from the reference you included in your post, as I doubt you know the parasitic elements of its SiC devices and board/IC layout nor the exact SiC model parameters. The amount of overshoot and undershoot are highly dependent on SiC model parameters, the package parasitics, the driving waveform, and the load. I don't see any parasitic elements in your netlist. Are you including any?

    3. The component:

    C0 (net016 GND) capacitor c=660u

    is shorted out by your source:

    V0 (net016 GND) vsource dc=800 type=dc

    and should be removed.

    4. The inductor component:

    L0 (net016 VD) inductor l=200u

    has no real impedance. I highly recommend you include some model of its series resistance to better model performance.

    5. Your input source:

    V4 (in GND) vsource dc=0 type=pwl \
    file="/home/student1/qsliang/sic/qsliang_sic/doupul.txt"

    only has an ideal real impedance of:

    R0 (in VGS) resistor r=10.00.

    Are you sure this is a good model of a real driving source? I would recommend driving your ideal PWL source through its R0 into a component based driving source to better model the output impedance of an actual driver.

    Shawn

    Figure 1

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • liangqunshan
    liangqunshan over 2 years ago in reply to ShawnLogan

    Hello  ShawnLogan

    Thank you very much for your help  !

    Regarding the application for a Cadence On line support site account, I have applied to our management personnel for the LMS key, reference key required for account registration.

    secondly,I cannot set the high voltage option through the method you mentioned, as there is no such option at all, as shown in the following figure

    Thirdly,The reason why I said "The first waveform is clearly incorrect "  is that the simulation cannot go on . After listening to your opinions and making changes to the circuit, this issue still exists, as follows

    ************************************************
    Transient Analysis `tran': time = (0 s -> 10 us)
    ************************************************
    Trying `homotopy = gmin' for initial conditions.
    Top 10 Solution Convergence failure counts accumulated from the beginning of `dc gmin stepping' analysis
    3 11.11 % M4.mcore1:int_d
    2 7.41 % M0.mcore1:int_d
    1 3.70 % V1:p
    1 3.70 % M0.mcore1:int_s
    1 3.70 % M5.mcore1:int_d
    Top 10 Residue Convergence failure counts accumulated from the beginning of `dc gmin stepping' analysis:
    14 51.85 % M4.mcore1:int_d
    5 18.52 % M5.mcore1:int_s
    3 11.11 % M0.mcore1:int_d

    Trying `homotopy = source' for initial conditions.

    Warning from spectre during IC analysis, during transient analysis `tran'.
    WARNING (SPECTRE-16093): Cannot find solution at the specified relative tolerance (reltol).
    As a result, the value of reltol is loosened to 0.005. Use `+diagnose' to get more information.
    WARNING (SPECTRE-17192):
    Tolerance relaxation is used during DC simulation which may affect the accuracy of the result. This is mainly caused by the high impedance nodes in the circuit. Use the dyn_highz check to determine the high impedance nodes. Setting/assigning appropriate initial values to these nodes will usually help to improve both performance and accuracy of DC simulations.

    DC simulation time: CPU = 200.633 ms, elapsed = 201.107 ms.

    Opening the PSF file ../psf/tran.tran.tran ...
    Important parameter values:
    start = 0 s
    outputstart = 0 s
    stop = 10 us
    step = 10 ns
    maxstep = 100 ns
    ic = all
    useprevic = no
    skipdc = no
    reltol = 100e-06
    abstol(V) = 1 uV
    abstol(I) = 1 pA
    temp = 27 C
    tnom = 27 C
    tempeffects = all
    errpreset = conservative
    method = gear2only
    lteratio = 10
    relref = alllocal
    cmin = 0 F
    gmin = 1 pS


    Output and IC/nodeset summary:
    save 13 (current)
    save 16 (voltage)

    Zero diagonal found in Jacobian at `Protected Signal' and `Protected Signal'.

    Notice from spectre at time = 20e-21 s during transient analysis `tran'.
    Newton iteration fails to converge at time = 20e-21 s step = 20e-21 s.
    Disaster recovery algorithm is enabled to search for a converged solution.

    State File: input.scs.tran.srf.

    Notice from spectre at time = 30.8728 ps during transient analysis `tran'.
    Newton iteration fails to converge at time = 30.8728 ps step = 20e-21 s.
    Disaster recovery algorithm is enabled to search for a converged solution.
    Notice from spectre at time = 30.8804 ps during transient analysis `tran'.
    Newton iteration fails to converge at time = 30.8804 ps step = 20e-21 s.
    Disaster recovery algorithm is enabled to search for a converged solution.
    Notice from spectre at time = 30.9031 ps during transient analysis `tran'.
    Newton iteration fails to converge at time = 30.9031 ps step = 20e-21 s.
    Disaster recovery algorithm is enabled to search for a converged solution.
    Notice from spectre at time = 30.9035 ps during transient analysis `tran'.
    Newton iteration fails to converge at time = 30.9035 ps step = 20e-21 s.
    Disaster recovery algorithm is enabled to search for a converged solution.
    Further occurrences of this notice will be suppressed.

    tran: time = 12.87 ns (129 m%), step = 31.66e-21 s (317 f%)

    Error found by spectre at time = 12.8707 ns during transient analysis `tran'.
    ERROR (SPECTRE-16927): Cannot run the simulation because transient analysis has reached the maximum allowed number of timesteps with timestep size of 'minstep', in a period of 5% of stop time. Use the 'max_minstep_nonconv' option to adjust the maximum allowed number of convergence failures with 'minstep', and rerun the simulation.
    Last acceptable solution computed at 12.8707 ns.

    The values for every node on the last Newton iteration are given below. For those nodes that did not converge, the manner in which the convergence criteria were not satisfied is also given.
    Failed test: | Value | > RelTol*Ref + AbsTol

    Top 10 Solution too large Convergence failure:
    I(V6:p) = -504.114 uA, previously -433.093 uA.
    update too large: | -38.6527 uA | > 119.107 nA + 1 pA
    I(M2:1) = -116.337 uA, previously 20.441 uA.
    update too large: | -74.4382 uA | > 301.6 nA + 1 pA
    I(V5:p) = 550.315 uA, previously 640.638 uA.
    update too large: | -35.3376 uA | > 10.055 uA + 1 pA

    ~~~~~~~~~~~~~~~~~
    Diagnosis Summary
    ~~~~~~~~~~~~~~~~~
    Number of Accepted steps in (1e-20 ~ 1e-19) : 178 (26.69 %)
    Number of Accepted steps in (1e-19 ~ 1e-18) : 50 ( 7.50 %)
    Number of Accepted steps in (1e-18 ~ 1e-17) : 37 ( 5.55 %)
    Number of Accepted steps in (1e-17 ~ 1e-16) : 68 (10.19 %)
    Number of Accepted steps in (1e-16 ~ 1e-15) : 85 (12.74 %)
    Number of Accepted steps in (1e-15 ~ 1e-14) : 67 (10.04 %)
    Number of Accepted steps in (1e-14 ~ 1e-13) : 37 ( 5.55 %)
    Number of Accepted steps in (1e-13 ~ 1e-12) : 20 ( 3.00 %)
    Number of Accepted steps in (1e-12 ~ 1e-11) : 38 ( 5.70 %)
    Number of Accepted steps in (1e-11 ~ 1e-10) : 35 ( 5.25 %)
    Number of Accepted steps in (1e-10 ~ 1e-9) : 52 ( 7.80 %)
    Maximum time step = 3.800879e-10
    Minimum time step = 1.999957e-20
    Number of steps bounded by devices = 20
    The top 1 devices bounded counts
    20 : V3

    Number of drastic step size changes = 106
    Number of steps to recover from drastic step size drop = 1052
    Top 10 Solution Convergence failure counts accumulated from time = 0 s to time = 12.8707 ns of analysis:
    991 27.47 % V6:p
    978 27.11 % M2:1
    675 18.71 % V7:p
    497 13.78 % V5:p
    464 12.86 % V9:p
    1 0.03 % V3:p
    1 0.03 % in

    Top 10 step size limiting signals accumulated from time = 0 s to time = 12.8707 ns of analysis:

    ~~~~~~~~~~~~~~~~~

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    Post-Transient Simulation Summary
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    - To further speed up simulation, consider
    add ++aps on command line
    - Non-default settings that could significantly slow down simulation
    errpreset = conservative, default moderate
    - The circuit contains signals of the voltage > 10V, consider to set highvoltage=yes to get better accuracy and convergence ability.
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


    During simulation, the CPU load for active processors is :
    0 (8.2 %) 1 (6.9 %) 2 (8.4 %) 3 (9.0 %)
    4 (7.4 %) 5 (6.8 %) 6 (8.8 %) 7 (7.0 %)
    Total: 62.4%

    The following set of suggestions might help you avoid convergence difficulties.

    1. Evaluate and resolve any notice, warning, or error messages.
    2. Use realistic device models. Check all component parameters, particularly nonlinear device model parameters, to ensure that they are reasonable.
    3. Small floating resistors connected to high impedance nodes can cause convergence difficulties. Avoid very small floating resistors, particularly small parasitic resistors in semiconductors. Instead, use voltage sources or iprobes to measure current.
    4. Ensure that a complete set of parasitic capacitors is used on nonlinear devices to avoid jumps in the solution waveforms. On MOS models, specify nonzero source and drain areas.
    5. Perform sanity check on the parameter values by using the parameter range checker (use ``+param param-limits-file'' as a command line argument) and heed any warnings. Print the minimum and maximum parameter value by using `info' analysis. Ensure that the bounds given for instance, model, output, temperature-dependent, and operating-point (if possible) parameters are reasonable.

    6. Check the direction of both independent and dependent current sources. Convergence problems might result if current sources are connected such that they force current backward through diodes.
    7. Use the `cmin' parameter to install a small capacitor from every node in the circuit to ground. This usually eliminates any jump in the solution.
    8. Loosen tolerances, particularly absolute tolerances like `iabstol' (on options statement). If tolerances are set too tight, they might preclude convergence.
    9. Try to simplify the nonlinear component models to avoid regions that might contribute to convergence problems in the model.

    Analysis `tran' was terminated prematurely due to an error.

    Notice from spectre.
    195 notices suppressed.

    finalTimeOP: writing operating point information to rawfile.

    Opening the PSF file ../psf/finalTimeOP.info ...
    Trying `homotopy = gmin'.
    Top 10 Solution Convergence failure counts accumulated from the beginning of `dc gmin stepping' analysis
    2 7.41 % M4.mcore2:int_d
    2 7.41 % M0.mcore1:int_d
    1 3.70 % V1:p
    1 3.70 % M4.mcore1:int_d
    1 3.70 % M0.mcore1:int_s
    1 3.70 % M5.mcore1:int_d
    Top 10 Residue Convergence failure counts accumulated from the beginning of `dc gmin stepping' analysis:
    12 44.44 % M4.mcore1:int_d
    6 22.22 % M0.mcore1:int_d
    2 7.41 % M5.mcore1:int_s
    1 3.70 % M4.mcore2:int_d

    Trying `homotopy = source'.

    Warning from spectre during DC analysis, during info `finalTimeOP'.
    WARNING (SPECTRE-16093): Cannot find solution at the specified relative tolerance (reltol).
    As a result, the value of reltol is loosened to 0.005. Use `+diagnose' to get more information.
    WARNING (SPECTRE-17192):
    Tolerance relaxation is used during DC simulation which may affect the accuracy of the result. This is mainly caused by the high impedance nodes in the circuit. Use the dyn_highz check to determine the high impedance nodes. Setting/assigning appropriate initial values to these nodes will usually help to improve both performance and accuracy of DC simulations.

    DC simulation time: CPU = 207.132 ms, elapsed = 207.621 ms.
    modelParameter: writing model parameter values to rawfile.

    Opening the PSF file ../psf/modelParameter.info ...
    element: writing instance parameter values to rawfile.

    Opening the PSF file ../psf/element.info ...
    outputParameter: writing output parameter values to rawfile.

    Opening the PSF file ../psf/outputParameter.info ...
    designParamVals: writing netlist parameters to rawfile.

    Opening the PSFASCII file ../psf/designParamVals.info ...
    primitives: writing primitives to rawfile.

    Opening the PSFASCII file ../psf/primitives.info.primitives ...
    subckts: writing subcircuits to rawfile.

    Opening the PSFASCII file ../psf/subckts.info.subckts ...

    -------------------------------------------------------------------------------------------

    The circuit diagram has been modified as follows:

    The corresponding netlist is as follows:

    // Generated for: spectre
    // Generated on: Jun 20 11:21:36 2023
    // Design library name: qsliang_sic
    // Design cell name: NTHL040N120M3S_3P_DPT
    // Design view name: schematic
    simulator lang=spectre
    global 0
    include "/home/student1/PDK/csmc600v/Docs/Spice_Mode/10HVCSDST60V19/10HVCSDST60V19/s10hvcsdst60v19.scs" section=tt_20v
    include "/home/student1/model_stage2/NTHL040N120M3S_spectre/NTHL040N120M3S_Rev1.scs"

    // Library name: qsliang_sic
    // Cell name: NTHL040N120M3S_3P_DPT
    // View name: schematic
    V10 (net012 GND) vsource dc=18 type=dc
    V9 (net010 GND) vsource dc=0 type=dc
    V8 (net011 GND) vsource dc=-5 type=dc
    V6 (net014 VD) vsource dc=-5 type=dc
    V5 (GND 0) vsource dc=0 type=dc
    V0 (net019 GND) vsource dc=800 type=dc
    V7 (net06 GND) vsource dc=0 type=dc
    V2 (net6 GND) vsource dc=15 type=dc
    V1 (net4 GND) vsource dc=-5 type=dc
    M4 (Tj net010 net011 net011) mn20v m=1 mt=100 w=10u l=1.4u as=12.625p \
    ad=80.64p ps=22.725u pd=40u
    M0 (Tcase net06 net4 net4) mn20v m=1 mt=100 w=10u l=1.4u as=12.625p \
    ad=80.64p ps=22.725u pd=40u
    M2 (VD VGS GND Tj Tcase) NTHL040N120M3S_5P
    M3 (net03 net014 VD Tj Tcase) NTHL040N120M3S_5P
    M5 (Tj net010 net012 net012) mp20v m=1 mt=200 w=10u l=1.6u as=12.5625p \
    ad=72.8p ps=22.6125u pd=38.4u
    M1 (Tcase net06 net6 net6) mp20v m=1 mt=200 w=10u l=1.6u as=12.5625p \
    ad=72.8p ps=22.6125u pd=38.4u
    L3 (net03 net016) inductor l=40n r=2
    L0 (net03 VD) inductor l=200u r=4
    V3 (in GND) vsource type=pwl wave=[ 0 0 100n 20 5.1u 20 5.2u 0 6.2u 0 6.3u \
    20 7.3u 20 7.4u 0 ]
    C0 (net016 GND) capacitor c=660u
    R1 (net016 net019) resistor r=5
    R0 (in VGS) resistor r=5.00
    simulatorOptions options reltol=1e-3 vabstol=1e-6 iabstol=1e-12 temp=27 \
    tnom=27 scalem=1.0 scale=1.0 gmin=1e-12 rforce=1 diagnose=yes \
    maxnotes=5 maxwarns=5 digits=5 cols=80 dc_pivot_check=yes pivrel=1e-3 \
    sensfile="../psf/sens.output" checklimitdest=psf
    tran tran stop=10u errpreset=moderate write="spectre.ic" \
    writefinal="spectre.fc" annotate=status maxiters=5
    finalTimeOP info what=oppoint where=rawfile
    modelParameter info what=models where=rawfile
    element info what=inst where=rawfile
    outputParameter info what=output where=rawfile
    designParamVals info what=parameters where=rawfile
    primitives info what=primitives where=rawfile
    subckts info what=subckts where=rawfile
    save M2:1
    saveOptions options save=allpub

    -------------------------------------------------------------------------------------------------------------------

    The corresponding simulation waveform is as follows:

    According to the information I have found, choosing conservative instead of moderate can improve the accuracy of  simulation, and if so,  I hope to be able to solve the above problem to conduct higher precision simulation,it seems to mean that I need to make changes to the  "max_minstep_nonconv"option,However , I am not familiar with the "max_minstep_nonconv"option, so I hope you can give me some suggestions (such as the meaning of setting this option and how to set it). Thank you very much !

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • ShawnLogan
    ShawnLogan over 2 years ago in reply to liangqunshan

    Dear liangqunshan,

    liangqunshan said:
    Regarding the application for a Cadence On line support site account, I have applied to our management personnel for the LMS key, reference key required for account registration.

    Very good!!

    liangqunshan said:
    secondly,I cannot set the high voltage option through the method you mentioned, as there is no such option at all, as shown in the following figure

    Are you using ADE-L or Assembler or Explorer? From the GUI you included, I have a feeling you may be sing ADE-L, which is no longer supported by Cadence. I would suggest you migrate to Assembler or Explorer as they have far more capabilities than ADE-L and are supported.

    You mentioned you are using spectre 19.1.0.496.isr12 64bit -- 16 Oct 2020 which is a very old version of spectre and many improvements have been made since that version. This may be part of the reason you are experiencing convergence problems.

    In any case, if you do not find the "highvoltage" option in the GUI, please create a text file with a name such as "highvoltage_enable.scs" with the following in it:

    ******************************************************************
    simulator lang=spectre
    opt1 options highvoltage=yes
    ******************************************************************

    From your ADE, access the GUI ADE->Setup->Model Libraries

    and add the filename "highvoltage_enable.scs" (with its UNX path) .

    When you re-create a netlist, you should see the highvoltage=yes statement included as an option. It will also be present in the spectre.out flag from a simulation in which it was enabled.

    liangqunshan said:
    Thirdly,The reason why I said "The first waveform is clearly incorrect "  is that the simulation cannot go on . After listening to your opinions and making changes to the circuit, this issue still exists, as follows

    Thank you for this added information. I did not realize the errpreset "conservative" simulation did not complete successfully.

    1. I see you have added a series resistor R1. The series resistor R1 will now introduce capacitor C0 into your matrix. (my suggestion 3 in my prior post).  You also added a new inductor L3. I also find you added series resistances to the inductor L3 and L1 - good!

    2. The voltage driving source is still basically ideal, and I would like to see a more realistic driver.

    3. I also still recommend you change from an errpreset of "moderate" to "conservative". If you set the highvoltage option, it will set the value of bin_relref=yes. I notced in your netlist, you chose a value of "moderate".

    4. Have you tried using spectre +aps? In your simulation setup, you are using spectre.

    5. You might try including a value for maxstep. This is the maximum time step the simulator will take and is determined by the errpreset setting and your simulation stop time (10 us). In your spectre.out file, it is set to 100 ns. Since you have a lot of fast edge transitions, I might suggest you reduce this value to something on the order of your expected edge transitions. You can set this in your transient simulation GUI under "options".

    6. Your spectre.out file has a number of suggestions you should consider. For example, set an initial condition to high impedance nodes. Please review the suggestions.

    7. Speak with your IT personnel about accessing a more recent version of spectre. I know this will help.

    liangqunshan said:
    I am not familiar with the "max_minstep_nonconv"option,

    8. Please consider adding the following to your ADE GUI under:

    ADE -> Simulation -> Options -> Analog -> Miscellaneous-> "Additional arguments”

    max_approach_minstep=1000

    Shawn

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • liangqunshan
    liangqunshan over 2 years ago in reply to ShawnLogan

    Hello ShawnLogan

    Your guidance has benefited me a lot. Thank you very much !

    Following your suggestion,I tried using ADE explorer, ADE assembler, and spectre APS to obtain better simulation results ,however, some issues were also encountered.

    Firstly , When using ADE Explorer, I also did not find the highvoltage option (as shown in the following figure), which can also cause simulation interruption issues. To solve this problem, I added highvoltage_enable.scs  in the model library setup interface and the problem was resolved.

    Secondly,After completing the setting of highvoltage=yes, the simulation can proceed normally and obtain the desired simulation results.However, there is a warning,as follows:

    ------------------------------------------------------------------------------------------------------------------------------------------------------WARNING (SPECTRE-17192):
    Tolerance relaxation is used during DC simulation which may affect the accuracy of the result. This is mainly caused by the high impedance nodes in the circuit. Use the dyn_highz check to determine the high impedance nodes. Setting/assigning appropriate initial values to these nodes will usually help to improve both performance and accuracy of DC simulations.

    ------------------------------------------------------------------------------------------------------------------------------------------------------

    In your last post,you also suggest that I should pay attention to the issue of high impedance nodes,but  I am not familiar with the impact of initial values on high impedance nodes in simulation. Could you give me some suggestions on this?

    Thirdly , there is a another warning prompt to set Option dc_pivot_check=yes,as follows:

    ------------------------------------------------------------------------------------------------------------------------------------------------------
    Notice from spectre during IC analysis, during transient analysis `tran'.
    Bad pivoting is found during DC analysis. Option dc_pivot_check=yes is recommended for possible improvement of convergence.

    ------------------------------------------------------------------------------------------------------------------------------------------------------

    However, after setting dc_pivot_check=yes as suggested, I encountered the issue of simulation interruption again.Following your last suggestion, I made the following settings: max_ Approach_ Minstep=1000, as shown in the following figure.

    But it cannot solve the problem,The simulation results are as follows:

    --------------------------------------------------------------------------------------------------------------------------------

    Spectre (R) Circuit Simulator
    Version 19.1.0.496.isr12 64bit -- 16 Oct 2020
    Copyright (C) 1989-2020 Cadence Design Systems, Inc. All rights reserved worldwide. Cadence 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: student1 Host: lincon HostID: 7F0100 PID: 209013
    Memory available: 9.7526 GB physical: 66.8733 GB
    Linux : CentOS Linux release 7.9.2009 (Core)
    CPU Type: Intel(R) Xeon(R) Bronze 3206R CPU @ 1.90GHz
    All processors running at 1900.0 MHz
    Socket: Processors
    0: 0, 1, 2, 3, 4, 5, 6, 7

    System load averages (1min, 5min, 15min) : 33.8 %, 36.2 %, 34.9 %
    HPC is enabled


    Simulating `input.scs' on lincon at 4:32:57 PM, Wed Jun 21, 2023 (process id: 209013).
    Current working directory: /home/student1/simulation/qsliang_sic/NTHL040N120M3S_3P_DPT/maestro/results/maestro/ExplorerRun.0/1/qsliang_sic:NTHL040N120M3S_3P_DPT:1/netlist
    Command line:
    /home/tools/cadence/AMSIM/tools.lnx86/bin/spectre -64 input.scs \
    +escchars +log ../psf/spectre.out -format psfbin -raw ../psf \
    ++aps=conservative +lqtimeout 900 -maxw 5 -maxn 5 -ahdllibdir \
    /home/student1/simulation/qsliang_sic/NTHL040N120M3S_3P_DPT/maestro/results/maestro/ExplorerRun.0/sharedData/CDS/ahdl/input.ahdlSimDB \
    +logstatus

    Loading /home/tools/cadence/AMSIM/tools.lnx86/cmi/lib/64bit/5.0/libinfineon_sh.so ...
    Loading /home/tools/cadence/AMSIM/tools.lnx86/cmi/lib/64bit/5.0/libphilips_o_sh.so ...
    Loading /home/tools/cadence/AMSIM/tools.lnx86/cmi/lib/64bit/5.0/libphilips_sh.so ...
    Loading /home/tools/cadence/AMSIM/tools.lnx86/cmi/lib/64bit/5.0/libsparam_sh.so ...
    Loading /home/tools/cadence/AMSIM/tools.lnx86/cmi/lib/64bit/5.0/libstmodels_sh.so ...
    Reading file: /home/student1/simulation/qsliang_sic/NTHL040N120M3S_3P_DPT/maestro/results/maestro/ExplorerRun.0/1/qsliang_sic:NTHL040N120M3S_3P_DPT:1/netlist/input.scs
    Reading file: /home/tools/cadence/AMSIM/tools.lnx86/spectre/etc/configs/spectre.cfg
    Reading file: /home/student1/PDK/csmc600v/Docs/Spice_Mode/10HVCSDST60V19/10HVCSDST60V19/s10hvcsdst60v19.scs
    Reading file: /home/student1/qsliang/sic/model_stage2/NTHL040N120M3S_spectre/NTHL040N120M3S_Rev1.scs
    Reading file: /home/student1/qsliang/sic/ADE_L_setup/highvoltage_enable.scs
    Time for NDB Parsing: CPU = 233.901 ms, elapsed = 218.535 ms.
    Time accumulated: CPU = 309.781 ms, elapsed = 218.541 ms.
    Peak resident memory used = 60.4 Mbytes.

    Reading link: /home/tools/cadence/AMSIM/tools.lnx86/spectre/etc/ahdl/discipline.h
    Reading file: /home/tools/cadence/AMSIM/tools.lnx86/spectre/etc/ahdl/disciplines.vams
    Reading link: /home/tools/cadence/AMSIM/tools.lnx86/spectre/etc/ahdl/constants.h
    Reading file: /home/tools/cadence/AMSIM/tools.lnx86/spectre/etc/ahdl/constants.vams
    Existing shared object for module encrypted model is up to date.
    Installed compiled interface for _465424a7754b150834a0a898642e5ffc.
    Existing shared object for module encrypted model is up to date.
    Installed compiled interface for _0bbc49abc5196c55c724f1892f37ebb3.
    Existing shared object for module encrypted model is up to date.
    Installed compiled interface for _8e23283c450cad16a3266b392ad6cc2d.
    Existing shared object for module encrypted model is up to date.
    Installed compiled interface for _de2fdc0c26dcf6566752edd89f5de1f1.
    Existing shared object for module encrypted model is up to date.
    Installed compiled interface for _b285a96c1040ca498b40a45f8ce4bfd7.
    Existing shared object for module encrypted model is up to date.
    Installed compiled interface for _c803d1ea988d877a5f54fa8a4076e8f4.
    Existing shared object for module encrypted model is up to date.
    Installed compiled interface for _e841a5bb926680b32bc8b2fc35c78a41.
    Existing shared object for module encrypted model is up to date.
    Installed compiled interface for _06a4bb8aa19459e06fba2eab62287c4e.
    Existing shared object for module encrypted model is up to date.
    Installed compiled interface for _28498f5c8916348dd4b6511d1a5d238d.
    Existing shared object for module encrypted model is up to date.
    Installed compiled interface for _fa1e9549142b1a91dcf3262c52ad3e4e.
    Existing shared object for module encrypted model is up to date.
    Installed compiled interface for _0a6e4c92a928323a94e9c2ade1ef90f2.
    Existing shared object for module encrypted model is up to date.
    Installed compiled interface for _56a11d113cb09e3403d1de48313a8cd7.
    Existing shared object for module encrypted model is up to date.
    Installed compiled interface for _f803f2080a67025f78f91b463ea67a16.
    Existing shared object for module encrypted model is up to date.
    Installed compiled interface for _6e39a951c7f779372ce3f96c5878d952.
    Existing shared object for module encrypted model is up to date.
    Installed compiled interface for _c4b8f89c3d1effd631e5587fb60a08b5.
    Existing shared object for module encrypted model is up to date.
    Installed compiled interface for _ff41ad369c189c3d16e8c340a1e982da.
    Existing shared object for module encrypted model is up to date.
    Installed compiled interface for _786ecc4632a757be448dbecce643c787.
    Existing shared object for module encrypted model is up to date.
    Installed compiled interface for _6d5812b5ed7c5e421818fa8bc916d3f2.
    Existing shared object for module encrypted model is up to date.
    Installed compiled interface for _cafc8a9dcd577e9a1afb449b13e2e1b1.
    Existing shared object for module encrypted model is up to date.
    Installed compiled interface for _701b4668c1c789206d0a66716c9bcb6c.
    Existing shared object for module encrypted model is up to date.
    Installed compiled interface for _d416ff76bbfe69eef11d96be4fcfcb8d.
    Existing shared object for module encrypted model is up to date.
    Installed compiled interface for _f45a12ba2672c5f98fb50508cdf03a3b.
    Existing shared object for module encrypted model is up to date.
    Installed compiled interface for _9c88319401f7cca692d8bd337aa74f75.
    Existing shared object for module encrypted model is up to date.
    Installed compiled interface for _bae175dbb67c6af94951d31f7dc51924.
    Existing shared object for module encrypted model is up to date.
    Installed compiled interface for _eb826f4b2e518faf7bb55c27fba18785.
    Existing shared object for module encrypted model is up to date.
    Installed compiled interface for _b21b700edd31e73e4bbb27bef4abf0db.
    Existing shared object for module encrypted model is up to date.
    Installed compiled interface for _f0d243ab67c67a7865327f8cf7498b78.
    Existing shared object for module encrypted model is up to date.
    Installed compiled interface for _564e94d73f1a483c9ec8bc1e4e63568b.
    Existing shared object for module encrypted model is up to date.
    Installed compiled interface for _ee88cc3e564dcbbdc1c5d48fc6e65ddd.


    Time for Elaboration: CPU = 147.502 ms, elapsed = 74.0571 ms.
    Time accumulated: CPU = 457.601 ms, elapsed = 292.756 ms.
    Peak resident memory used = 74.4 Mbytes.


    Warning from spectre during hierarchy flattening.
    WARNING (SPECTRE-17101): The value 'psf' specified for the 'checklimitdest' option will no longer be supported in future releases. Use 'spectre -h' to see other recommended values for the 'checklimitdest' option.


    Time for EDB Visiting: CPU = 13.682 ms, elapsed = 6.85906 ms.
    Time accumulated: CPU = 471.633 ms, elapsed = 299.789 ms.
    Peak resident memory used = 75.8 Mbytes.


    Notice from spectre during initial setup.
    Multithreading is disabled due to the size of the design being too small.


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

    Scoped user options:

    Circuit inventory:
    nodes 17
    iprobe 1
    bsim3v3 8
    capacitor 1
    inductor 2
    resistor 3
    vsource 10

    Analysis and control statement inventory:
    info 7
    tran 1

    Output statements:
    .probe 0
    .measure 0
    save 1


    Notice from spectre during initial setup.
    Protected devices exist and are not included in the circuit inventory.
    8 vsources are short because their absolute value is less than or equal to 'vabsshort'.
    4 resistors are changed to resistance form because their value are less than 'rthresh'.
    Fast APS Enabled.

    Time for parsing: CPU = 16.838 ms, elapsed = 8.83007 ms.
    Time accumulated: CPU = 488.806 ms, elapsed = 308.785 ms.
    Peak resident memory used = 77.6 Mbytes.

    ~~~~~~~~~~~~~~~~~~~~~~
    Pre-Simulation Summary
    ~~~~~~~~~~~~~~~~~~~~~~
    ~~~~~~~~~~~~~~~~~~~~~~

    ************************************************
    Transient Analysis `tran': time = (0 s -> 10 us)
    ************************************************
    Trying `homotopy = gmin' for initial conditions.
    Top 10 Solution Convergence failure counts accumulated from the beginning of `dc gmin stepping' analysis
    5 14.71 % M4.mcore1_turbo_m0:int_d
    2 5.88 % M4.mcore1_turbo_m0:int_s
    1 2.94 % V8:p
    1 2.94 % M0.mcore1_turbo_m0:int_s
    1 2.94 % M5.mcore1_turbo_m0:int_d
    1 2.94 % M1.mcore1_turbo_m0:int_s
    Top 10 Residue Convergence failure counts accumulated from the beginning of `dc gmin stepping' analysis:
    12 35.29 % M4.mcore1_turbo_m0:int_d
    6 17.65 % M5.mcore1_turbo_m0:int_s
    5 14.71 % M0.mcore1_turbo_m0:int_d

    Trying `homotopy = source' for initial conditions.

    Warning from spectre during IC analysis, during transient analysis `tran'.
    WARNING (SPECTRE-16093): Cannot find solution at the specified relative tolerance (reltol).
    As a result, the value of reltol is loosened to 0.005. Use `+diagnose' to get more information.
    WARNING (SPECTRE-17192):
    Tolerance relaxation is used during DC simulation which may affect the accuracy of the result. This is mainly caused by the high impedance nodes in the circuit. Use the dyn_highz check to determine the high impedance nodes. Setting/assigning appropriate initial values to these nodes will usually help to improve both performance and accuracy of DC simulations.

    DC simulation time: CPU = 439.167 ms, elapsed = 227.371 ms.

    Opening the PSF file ../psf/tran.tran.tran ...
    Important parameter values:
    start = 0 s
    outputstart = 0 s
    stop = 10 us
    step = 10 ns
    maxstep = 100 ns
    ic = all
    useprevic = no
    skipdc = no
    reltol = 100e-06
    abstol(V) = 1 uV
    abstol(I) = 1 pA
    temp = 27 C
    tnom = 27 C
    tempeffects = all
    errpreset = conservative_sigglobal
    method = gear2only
    lteratio = 10
    relref = sigglobal
    cmin = 0 F
    gmin = 1 pS
    rabsshort = 1 mOhm


    Notice from spectre during transient analysis `tran'.
    Multithreading is disabled due to the size of the design being too small.


    Output and IC/nodeset summary:
    save 11 (current)
    save 17 (voltage)


    Notice from spectre at time = 846.82 ps during transient analysis `tran'.
    Newton iteration fails to converge at time = 846.82 ps step = 20e-21 s.
    Disaster recovery algorithm is enabled to search for a converged solution.
    Notice from spectre at time = 7.70705 ns during transient analysis `tran'.
    Newton iteration fails to converge at time = 7.70705 ns step = 19.9996e-21 s.
    Disaster recovery algorithm is enabled to search for a converged solution.
    Notice from spectre at time = 10.9378 ns during transient analysis `tran'.
    Maximum value for quantity `I' has increased to 7.99937 A (detected at V5:p).
    If this value is unreasonably large, it will result in an overall loosening of the convergence criteria. In this case, consider performing a transient analysis with transient option errpreset=conservative or global option bin_relref=yes.
    Notice from spectre at time = 10.9378 ns during transient analysis `tran'.
    Newton iteration fails to converge at time = 10.9378 ns step = 19.9996e-21 s.
    Disaster recovery algorithm is enabled to search for a converged solution.
    Notice from spectre at time = 10.9378 ns during transient analysis `tran'.
    Newton iteration fails to converge at time = 10.9378 ns step = 19.9996e-21 s.
    Disaster recovery algorithm is enabled to search for a converged solution.
    Notice from spectre at time = 10.9378 ns during transient analysis `tran'.
    Newton iteration fails to converge at time = 10.9378 ns step = 19.9996e-21 s.
    Disaster recovery algorithm is enabled to search for a converged solution.
    Further occurrences of this notice will be suppressed.
    Notice from spectre at time = 10.9378 ns during transient analysis `tran'.
    Maximum value for quantity `I' has increased to 255.999 A (detected at V5:p).
    If this value is unreasonably large, it will result in an overall loosening of the convergence criteria. In this case, consider performing a transient analysis with transient option errpreset=conservative or global option bin_relref=yes.

    tran: time = 11.11 ns (111 m%), step = 125.7 as (1.26 n%)

    Error found by spectre at time = 11.5487 ns during transient analysis `tran'.
    ERROR (SPECTRE-16927): Cannot run the simulation because transient analysis has reached the maximum allowed number of timesteps with timestep size of 'minstep', in a period of 5% of stop time. Use the 'max_minstep_nonconv' option to adjust the maximum allowed number of convergence failures with 'minstep', and rerun the simulation.
    Last acceptable solution computed at 11.5487 ns.

    The values for every node on the last Newton iteration are given below. For those nodes that did not converge, the manner in which the convergence criteria were not satisfied is also given.
    Failed test: | Value | > RelTol*Ref + AbsTol

    Top 10 Solution too large Convergence failure:
    I(V5:p) = 686.825 uA, previously 635.026 uA.
    update too large: | 145.789 uA | > 2.06283 uA + 1 pA
    I(M2:1) = 676.921 uA, previously 729.079 uA.
    update too large: | 53.2826 uA | > 2.06263 uA + 1 pA
    I(V6:p) = -51.7552 uA, previously -24.6784 uA.
    update too large: | 27.6707 uA | > 2.04982 uA + 1 pA

    ~~~~~~~~~~~~~~~~~
    Diagnosis Summary
    ~~~~~~~~~~~~~~~~~
    Number of Accepted steps in (1e-19 ~ 1e-18) : 14 ( 0.63 %)
    Number of Accepted steps in (1e-18 ~ 1e-17) : 73 ( 3.28 %)
    Number of Accepted steps in (1e-17 ~ 1e-16) : 199 ( 8.93 %)
    Number of Accepted steps in (1e-16 ~ 1e-15) : 408 (18.30 %)
    Number of Accepted steps in (1e-15 ~ 1e-14) : 731 (32.79 %)
    Number of Accepted steps in (1e-14 ~ 1e-13) : 396 (17.77 %)
    Number of Accepted steps in (1e-13 ~ 1e-12) : 210 ( 9.42 %)
    Number of Accepted steps in (1e-12 ~ 1e-11) : 116 ( 5.20 %)
    Number of Accepted steps in (1e-11 ~ 1e-10) : 54 ( 2.42 %)
    Number of Accepted steps in (1e-10 ~ 1e-9) : 28 ( 1.26 %)
    Maximum time step = 8.512269e-10
    Minimum time step = 1.043257e-19
    Number of steps bounded by devices = 5
    The top 1 devices bounded counts
    5 : V3

    Number of drastic step size changes = 183
    Number of steps to recover from drastic step size drop = 1022
    Top 10 Solution Convergence failure counts accumulated from time = 0 s to time = 11.5487 ns of analysis:
    942 60.08 % V5:p
    336 21.43 % M2:1
    290 18.49 % V6:p

    Top 10 step size limiting signals accumulated from time = 0 s to time = 11.5487 ns of analysis:

    ~~~~~~~~~~~~~~~~~

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    Post-Transient Simulation Summary
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    - Non-default settings that could significantly slow down simulation
    errpreset = conservative_sigglobal, default moderate
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


    During simulation, the CPU load for active processors is :
    0 (34.7 %) 1 (45.7 %) 2 (34.1 %) 3 (32.3 %)
    4 (44.8 %) 5 (98.8 %) 6 (31.4 %) 7 (39.4 %)
    Total: 361.1%

    The following set of suggestions might help you avoid convergence difficulties.

    1. Evaluate and resolve any notice, warning, or error messages.
    2. Use realistic device models. Check all component parameters, particularly nonlinear device model parameters, to ensure that they are reasonable.
    3. Small floating resistors connected to high impedance nodes can cause convergence difficulties. Avoid very small floating resistors, particularly small parasitic resistors in semiconductors. Instead, use voltage sources or iprobes to measure current.
    4. Ensure that a complete set of parasitic capacitors is used on nonlinear devices to avoid jumps in the solution waveforms. On MOS models, specify nonzero source and drain areas.
    5. Perform sanity check on the parameter values by using the parameter range checker (use ``+param param-limits-file'' as a command line argument) and heed any warnings. Print the minimum and maximum parameter value by using `info' analysis. Ensure that the bounds given for instance, model, output, temperature-dependent, and operating-point (if possible) parameters are reasonable.

    6. Check the direction of both independent and dependent current sources. Convergence problems might result if current sources are connected such that they force current backward through diodes.
    7. Use the `cmin' parameter to install a small capacitor from every node in the circuit to ground. This usually eliminates any jump in the solution.
    8. Loosen tolerances, particularly absolute tolerances like `iabstol' (on options statement). If tolerances are set too tight, they might preclude convergence.
    9. Try to simplify the nonlinear component models to avoid regions that might contribute to convergence problems in the model.

    Analysis `tran' was terminated prematurely due to an error.

    Notice from spectre.
    195 notices suppressed.

    finalTimeOP: writing operating point information to rawfile.

    Opening the PSF file ../psf/finalTimeOP.info ...
    Finding DC approximate solution failed with try_fast_op=yes, continue running with try_fast_op=no.
    Trying `homotopy = gmin'.
    Top 10 Solution Convergence failure counts accumulated from the beginning of `dc gmin stepping' analysis
    5 14.71 % M4.mcore1_turbo_m0:int_d
    2 5.88 % M4.mcore1_turbo_m0:int_s
    1 2.94 % V8:p
    1 2.94 % V6:p
    1 2.94 % M0.mcore1_turbo_m0:int_s
    1 2.94 % M5.mcore1_turbo_m0:int_d
    Top 10 Residue Convergence failure counts accumulated from the beginning of `dc gmin stepping' analysis:
    14 41.18 % M4.mcore1_turbo_m0:int_d
    6 17.65 % M5.mcore1_turbo_m0:int_s
    3 8.82 % M0.mcore1_turbo_m0:int_d

    Trying `homotopy = source'.

    Warning from spectre during DC analysis, during info `finalTimeOP'.
    WARNING (SPECTRE-16093): Cannot find solution at the specified relative tolerance (reltol).
    As a result, the value of reltol is loosened to 0.005. Use `+diagnose' to get more information.
    WARNING (SPECTRE-17192):
    Tolerance relaxation is used during DC simulation which may affect the accuracy of the result. This is mainly caused by the high impedance nodes in the circuit. Use the dyn_highz check to determine the high impedance nodes. Setting/assigning appropriate initial values to these nodes will usually help to improve both performance and accuracy of DC simulations.

    DC simulation time: CPU = 196.484 ms, elapsed = 197.003 ms.
    modelParameter: writing model parameter values to rawfile.

    Opening the PSF file ../psf/modelParameter.info ...
    element: writing instance parameter values to rawfile.

    Opening the PSF file ../psf/element.info ...
    outputParameter: writing output parameter values to rawfile.

    Opening the PSF file ../psf/outputParameter.info ...
    designParamVals: writing netlist parameters to rawfile.

    Opening the PSFASCII file ../psf/designParamVals.info ...
    primitives: writing primitives to rawfile.

    Opening the PSFASCII file ../psf/primitives.info.primitives ...
    subckts: writing subcircuits to rawfile.

    Opening the PSFASCII file ../psf/subckts.info.subckts ...

    Aggregate audit (4:33:13 PM, Wed Jun 21, 2023):
    Time used: CPU = 18.8 s, elapsed = 16 s, util. = 118%.
    Time spent in licensing: elapsed = 51.3 ms.
    Peak memory used = 84.5 Mbytes.
    Simulation started at: 4:32:57 PM, Wed Jun 21, 2023, ended at: 4:33:13 PM, Wed Jun 21, 2023, with elapsed time (wall clock): 16 s.
    spectre completes with 1 error, 5 warnings, and 15 notices.

    --------------------------------------------------------------------------------------------------------------------------------------------------------------------------

    The corresponding schematic diagram 、 netlist、and waveforms are as follows:

    // Generated for: spectre
    // Generated on: Jun 21 16:27:19 2023
    // Design library name: qsliang_sic
    // Design cell name: NTHL040N120M3S_3P_DPT
    // Design view name: schematic
    simulator lang=spectre
    global 0
    include "/home/student1/PDK/csmc600v/Docs/Spice_Mode/10HVCSDST60V19/10HVCSDST60V19/s10hvcsdst60v19.scs" section=tt_20v
    include "/home/student1/qsliang/sic/model_stage2/NTHL040N120M3S_spectre/NTHL040N120M3S_Rev1.scs"
    include "/home/student1/qsliang/sic/ADE_L_setup/highvoltage_enable.scs"

    // Library name: qsliang_sic
    // Cell name: NTHL040N120M3S_3P_DPT
    // View name: schematic
    V10 (net012 GND) vsource dc=18 type=dc
    V9 (net010 GND) vsource dc=0 type=dc
    V8 (net011 GND) vsource dc=-5 type=dc
    V6 (net014 VD) vsource dc=-5 type=dc
    V5 (GND 0) vsource dc=0 type=dc
    V0 (net019 GND) vsource dc=800 type=dc
    V7 (net06 GND) vsource dc=0 type=dc
    V2 (net6 GND) vsource dc=15 type=dc
    V1 (net4 GND) vsource dc=-5 type=dc
    M4 (Tj net010 net011 net011) mn20v m=1 mt=100 w=10u l=1.4u as=12.625p \
    ad=80.64p ps=22.725u pd=40u
    M0 (Tcase net06 net4 net4) mn20v m=1 mt=100 w=10u l=1.4u as=12.625p \
    ad=80.64p ps=22.725u pd=40u
    M2 (VD VGS GND Tj Tcase) NTHL040N120M3S_5P
    M3 (net03 net014 VD Tj Tcase) NTHL040N120M3S_5P
    M5 (Tj net010 net012 net012) mp20v m=1 mt=200 w=10u l=1.6u as=12.5625p \
    ad=72.8p ps=22.6125u pd=38.4u
    M1 (Tcase net06 net6 net6) mp20v m=1 mt=200 w=10u l=1.6u as=12.5625p \
    ad=72.8p ps=22.6125u pd=38.4u
    L3 (net03 net016) inductor l=40n r=2
    L0 (net03 VD) inductor l=200u r=4
    V3 (net020 GND) vsource type=pwl wave=[ 0 0 100n 20 5.1u 20 5.2u 0 6.2u 0 \
    6.3u 20 7.3u 20 7.4u 0 ]
    C0 (net016 GND) capacitor c=660u
    R2 (in net020) resistor r=5
    R1 (net016 net019) resistor r=5
    R0 (in VGS) resistor r=5.00
    simulatorOptions options reltol=1e-3 vabstol=1e-6 iabstol=1e-12 temp=27 \
    tnom=27 scalem=1.0 scale=1.0 gmin=1e-12 rforce=1 diagnose=yes \
    maxnotes=5 maxwarns=5 digits=5 cols=80 dc_pivot_check=yes pivrel=1e-3 \
    sensfile="../psf/sens.output" checklimitdest=psf \
    max_approach_minstep=1000
    tran tran stop=10u errpreset=conservative write="spectre.ic" \
    writefinal="spectre.fc" annotate=status maxiters=5
    finalTimeOP info what=oppoint where=rawfile
    modelParameter info what=models where=rawfile
    element info what=inst where=rawfile
    outputParameter info what=output where=rawfile
    designParamVals info what=parameters where=rawfile
    primitives info what=primitives where=rawfile
    subckts info what=subckts where=rawfile
    save in VGS VD M2:1
    saveOptions options save=allpub

    So, should I set " dc_pivot_check=yes " to achieve better convergence ?

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • ShawnLogan
    ShawnLogan over 2 years ago in reply to liangqunshan

    Dear liangqunshan,

    liangqunshan said:
    To solve this problem, I added highvoltage_enable.scs  in the model library setup interface and the problem was resolved.

    Very good!

    liangqunshan said:
    Secondly,After completing the setting of highvoltage=yes, the simulation can proceed normally and obtain the desired simulation results.

    This is good news too.

    liangqunshan said:
    In your last post,you also suggest that I should pay attention to the issue of high impedance nodes,but  I am not familiar with the impact of initial values on high impedance nodes in simulation. Could you give me some suggestions on this?

    You can initialize any node in the circuit you want using an initial condition (ic) command in the netlist or from the ADE GUI (Simulation > Convergence Aids > Initial Condition.). There is also a video at:

    https://support.cadence.com/apex/ArticleAttachmentPortal?id=a1O3w000009xyeWEAQ&pageName=ArticleContent

    that details how to set an initial condition.

    The spectre.out file provided a means to determine high impedance nodes using the dyn_highz command. This command can be placed in the file you use to set the highvoltage option to "yes'. Specify a time duration for how long you want to look for a high-impedance state and any time window you want to examine. This will list high impedance nodes that you might want to set initial confitions. However, I am concerned this will identify many nodes in your models.

    liangqunshan said:
    However, after setting dc_pivot_check=yes as suggested, I encountered the issue of simulation interruption again.

    I would not do this as it is not helping solve your problem.

    1. Please consider adding a value for maxstep of less than 100 ns and on the order of your rise or fall times (set this in the transient GUI options).

    2. Please do not use ++aps, but just +aps.

    Shawn

    hz1 dyn_highz node=["*"] duration=2e-09 time_window=[1e-09 1e-08]

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • liangqunshan
    liangqunshan over 2 years ago in reply to ShawnLogan

    Hello,ShawnLogan,thank you for your advice !

    As you suggested, I added the “hz1 dyn_highz node=["*"] duration=2e-09 time_window=[1e-09 1e-08] ” command to the file called highvoltage_enable.scs,but it does not work .

    Secondly,I still have doubts about the following warning:

    “Warning (CMI-2138):junction current of an protected device is too large .The results computed by Spectre may be inaccurate because the junction current model has been linearized ”

    I would like to know how the simulator linearizes the junction current model? Is it similar to replacing function y=exp (x) with function y=x+1 near x=0? In addition ,at some specific  moments, the simulation value of the current approximates the calculated theoretical value. Considering the parasitic parameters in the circuit, the simulation value may be closer to the theoretical value. Does this mean that the simulation results are acceptable within the allowable error range?

    Regards

    Liangqunshan

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • ShawnLogan
    ShawnLogan over 2 years ago in reply to liangqunshan

    Dear Liangqunshan,

    liangqunshan said:
    As you suggested, I added the “hz1 dyn_highz node=["*"] duration=2e-09 time_window=[1e-09 1e-08] ” command to the file called highvoltage_enable.scs,but it does not work .

    I am not sure what you mean when you note "but it does not work". Are any nodes shown? Are you sure the duration of 2 ns is appropriate? Is the time window of 1 ns to 10 ns appropriate? 

    liangqunshan said:

    Secondly,I still have doubts about the following warning:

    “Warning (CMI-2138):junction current of an protected device is too large .The results computed by Spectre may be inaccurate because the junction current model has been linearized ”

    I would like to know how the simulator linearizes the junction current model?

    I do not work for Cadence and have no information nor insight into the exact linearization process. Sorry!

    liangqunshan said:
    In addition ,at some specific  moments, the simulation value of the current approximates the calculated theoretical value. Considering the parasitic parameters in the circuit, the simulation value may be closer to the theoretical value. Does this mean that the simulation results are acceptable within the allowable error range?

    I am afraid that is a judgement you can only make. If the theoretical results are close to the simulated results and you can show that the simulation results approach the theoretical (i.e., expected) results as the parasitics are reduced, perhaps this is sufficient information to give you confidence in the linearization process.

    Shawn

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • liangqunshan
    liangqunshan over 2 years ago in reply to ShawnLogan

    Hello,ShawnLogan

    The reason why I said " I added the “hz1 dyn_highz node=["*"] duration=2e-09 time_window=[1e-09 1e-08] ” command to the file called highvoltage_enable.scs,but it does not work" is that the simulation results for adding this command are the same as those for not adding this command. the simulation results did not provide high impedance nodes, even though I adjusted the duration time and time window,for example:

    The "time window "contains the entire process from the beginning of signal input to the end of signal input.I have learned that if there are high impedance nodes, the simulation results will provide a table similar to the one below:

    But I didn't see such a table.

    The simulation results are as follows:

    -----------------------------------------------------------------------------------

    Spectre (R) Circuit Simulator
    Version 19.1.0.496.isr12 64bit -- 16 Oct 2020
    Copyright (C) 1989-2020 Cadence Design Systems, Inc. All rights reserved worldwide. Cadence 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: student1 Host: lincon HostID: 7F0100 PID: 26546
    Memory available: 583.2212 MB physical: 66.8733 GB
    Linux : CentOS Linux release 7.9.2009 (Core)
    CPU Type: Intel(R) Xeon(R) Bronze 3206R CPU @ 1.90GHz
    All processors running at 1900.0 MHz
    Socket: Processors
    0: 0, 1, 2, 3, 4, 5, 6, 7

    System load averages (1min, 5min, 15min) : 13.6 %, 10.4 %, 6.5 %
    HPC is enabled


    Simulating `input.scs' on lincon at 8:26:25 PM, Thur Jun 29, 2023 (process id: 26546).
    Current working directory: /home/student1/simulation/qsliang_sic/NTHL040N120M3S_3P_DPT/maestro/results/maestro/ExplorerRun.0/1/qsliang_sic:NTHL040N120M3S_3P_DPT:1/netlist
    Command line:
    /home/tools/cadence/AMSIM/tools.lnx86/bin/spectre -64 input.scs \
    +escchars +log ../psf/spectre.out -format psfbin -raw ../psf \
    +aps=conservative +lqtimeout 900 -maxw 5 -maxn 5 -ahdllibdir \
    /home/student1/simulation/qsliang_sic/NTHL040N120M3S_3P_DPT/maestro/results/maestro/ExplorerRun.0/sharedData/CDS/ahdl/input.ahdlSimDB \
    +logstatus

    Loading /home/tools/cadence/AMSIM/tools.lnx86/cmi/lib/64bit/5.0/libinfineon_sh.so ...
    Loading /home/tools/cadence/AMSIM/tools.lnx86/cmi/lib/64bit/5.0/libphilips_o_sh.so ...
    Loading /home/tools/cadence/AMSIM/tools.lnx86/cmi/lib/64bit/5.0/libphilips_sh.so ...
    Loading /home/tools/cadence/AMSIM/tools.lnx86/cmi/lib/64bit/5.0/libsparam_sh.so ...
    Loading /home/tools/cadence/AMSIM/tools.lnx86/cmi/lib/64bit/5.0/libstmodels_sh.so ...
    Reading file: /home/student1/simulation/qsliang_sic/NTHL040N120M3S_3P_DPT/maestro/results/maestro/ExplorerRun.0/1/qsliang_sic:NTHL040N120M3S_3P_DPT:1/netlist/input.scs
    Reading file: /home/tools/cadence/AMSIM/tools.lnx86/spectre/etc/configs/spectre.cfg
    Reading file: /home/student1/PDK/csmc600v/Docs/Spice_Mode/10HVCSDST60V19/10HVCSDST60V19/s10hvcsdst60v19.scs
    Reading file: /home/student1/model_stage2/NTHL040N120M3S_spectre/NTHL040N120M3S_Rev1.scs
    Reading file: /home/student1/qsliang/sic/model_stage2/highvoltage_enable.scs
    Time for NDB Parsing: CPU = 233.373 ms, elapsed = 214.18 ms.
    Time accumulated: CPU = 310.235 ms, elapsed = 214.185 ms.
    Peak resident memory used = 56.7 Mbytes.

    Reading link: /home/tools/cadence/AMSIM/tools.lnx86/spectre/etc/ahdl/discipline.h
    Reading file: /home/tools/cadence/AMSIM/tools.lnx86/spectre/etc/ahdl/disciplines.vams
    Reading link: /home/tools/cadence/AMSIM/tools.lnx86/spectre/etc/ahdl/constants.h
    Reading file: /home/tools/cadence/AMSIM/tools.lnx86/spectre/etc/ahdl/constants.vams
    Existing shared object for module encrypted model is up to date.
    Installed compiled interface for _465424a7754b150834a0a898642e5ffc.
    Existing shared object for module encrypted model is up to date.
    Installed compiled interface for _0bbc49abc5196c55c724f1892f37ebb3.
    Existing shared object for module encrypted model is up to date.
    Installed compiled interface for _8e23283c450cad16a3266b392ad6cc2d.
    Existing shared object for module encrypted model is up to date.
    Installed compiled interface for _de2fdc0c26dcf6566752edd89f5de1f1.
    Existing shared object for module encrypted model is up to date.
    Installed compiled interface for _b285a96c1040ca498b40a45f8ce4bfd7.
    Existing shared object for module encrypted model is up to date.
    Installed compiled interface for _c803d1ea988d877a5f54fa8a4076e8f4.
    Existing shared object for module encrypted model is up to date.
    Installed compiled interface for _e841a5bb926680b32bc8b2fc35c78a41.
    Existing shared object for module encrypted model is up to date.
    Installed compiled interface for _06a4bb8aa19459e06fba2eab62287c4e.
    Existing shared object for module encrypted model is up to date.
    Installed compiled interface for _28498f5c8916348dd4b6511d1a5d238d.
    Existing shared object for module encrypted model is up to date.
    Installed compiled interface for _fa1e9549142b1a91dcf3262c52ad3e4e.
    Existing shared object for module encrypted model is up to date.
    Installed compiled interface for _0a6e4c92a928323a94e9c2ade1ef90f2.
    Existing shared object for module encrypted model is up to date.
    Installed compiled interface for _56a11d113cb09e3403d1de48313a8cd7.
    Existing shared object for module encrypted model is up to date.
    Installed compiled interface for _f803f2080a67025f78f91b463ea67a16.
    Existing shared object for module encrypted model is up to date.
    Installed compiled interface for _6e39a951c7f779372ce3f96c5878d952.
    Existing shared object for module encrypted model is up to date.
    Installed compiled interface for _c4b8f89c3d1effd631e5587fb60a08b5.
    Existing shared object for module encrypted model is up to date.
    Installed compiled interface for _ff41ad369c189c3d16e8c340a1e982da.
    Existing shared object for module encrypted model is up to date.
    Installed compiled interface for _786ecc4632a757be448dbecce643c787.
    Existing shared object for module encrypted model is up to date.
    Installed compiled interface for _6d5812b5ed7c5e421818fa8bc916d3f2.
    Existing shared object for module encrypted model is up to date.
    Installed compiled interface for _cafc8a9dcd577e9a1afb449b13e2e1b1.
    Existing shared object for module encrypted model is up to date.
    Installed compiled interface for _701b4668c1c789206d0a66716c9bcb6c.
    Existing shared object for module encrypted model is up to date.
    Installed compiled interface for _d416ff76bbfe69eef11d96be4fcfcb8d.
    Existing shared object for module encrypted model is up to date.
    Installed compiled interface for _f45a12ba2672c5f98fb50508cdf03a3b.
    Existing shared object for module encrypted model is up to date.
    Installed compiled interface for _9c88319401f7cca692d8bd337aa74f75.
    Existing shared object for module encrypted model is up to date.
    Installed compiled interface for _bae175dbb67c6af94951d31f7dc51924.
    Existing shared object for module encrypted model is up to date.
    Installed compiled interface for _eb826f4b2e518faf7bb55c27fba18785.
    Existing shared object for module encrypted model is up to date.
    Installed compiled interface for _b21b700edd31e73e4bbb27bef4abf0db.
    Existing shared object for module encrypted model is up to date.
    Installed compiled interface for _f0d243ab67c67a7865327f8cf7498b78.
    Existing shared object for module encrypted model is up to date.
    Installed compiled interface for _564e94d73f1a483c9ec8bc1e4e63568b.
    Existing shared object for module encrypted model is up to date.
    Installed compiled interface for _ee88cc3e564dcbbdc1c5d48fc6e65ddd.


    Time for Elaboration: CPU = 142.95 ms, elapsed = 71.645 ms.
    Time accumulated: CPU = 453.503 ms, elapsed = 285.988 ms.
    Peak resident memory used = 70.8 Mbytes.


    Warning from spectre during hierarchy flattening.
    WARNING (SPECTRE-17101): The value 'psf' specified for the 'checklimitdest' option will no longer be supported in future releases. Use 'spectre -h' to see other recommended values for the 'checklimitdest' option.


    Time for EDB Visiting: CPU = 13.285 ms, elapsed = 6.65903 ms.
    Time accumulated: CPU = 467.111 ms, elapsed = 292.808 ms.
    Peak resident memory used = 72.2 Mbytes.


    Notice from spectre during initial setup.
    Multithreading is disabled due to the size of the design being too small.


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

    Scoped user options:

    Circuit inventory:
    nodes 17
    iprobe 1
    bsim3v3 8
    capacitor 1
    inductor 2
    resistor 3
    vsource 10

    Analysis and control statement inventory:
    info 7
    tran 1

    Output statements:
    .probe 0
    .measure 0
    save 1

    Design checks inventory:
    dyn_highz 1


    Notice from spectre during initial setup.
    Protected devices exist and are not included in the circuit inventory.
    8 vsources are short because their absolute value is less than or equal to 'vabsshort'.
    4 resistors are changed to resistance form because their value are less than 'rthresh'.
    APS Enabled.

    Circuit Check::Setting up dynamic checks...

    Circuit Check::Set up dynamic checks done.
    Time for parsing: CPU = 141.532 ms, elapsed = 71.465 ms.
    Time accumulated: CPU = 608.952 ms, elapsed = 364.427 ms.
    Peak resident memory used = 76.1 Mbytes.

    ~~~~~~~~~~~~~~~~~~~~~~
    Pre-Simulation Summary
    ~~~~~~~~~~~~~~~~~~~~~~
    ~~~~~~~~~~~~~~~~~~~~~~

    ************************************************
    Transient Analysis `tran': time = (0 s -> 10 us)
    ************************************************
    Trying `homotopy = gmin' for initial conditions.
    Top 10 Solution Convergence failure counts accumulated from the beginning of `dc gmin stepping' analysis
    5 14.71 % M4.mcore1_turbo_m0:int_d
    2 5.88 % M4.mcore1_turbo_m0:int_s
    1 2.94 % V8:p
    1 2.94 % M0.mcore1_turbo_m0:int_s
    1 2.94 % M5.mcore1_turbo_m0:int_d
    1 2.94 % M1.mcore1_turbo_m0:int_s
    Top 10 Residue Convergence failure counts accumulated from the beginning of `dc gmin stepping' analysis:
    12 35.29 % M4.mcore1_turbo_m0:int_d
    6 17.65 % M5.mcore1_turbo_m0:int_s
    5 14.71 % M0.mcore1_turbo_m0:int_d

    Trying `homotopy = source' for initial conditions.

    Warning from spectre during IC analysis, during transient analysis `tran'.
    WARNING (SPECTRE-16093): Cannot find solution at the specified relative tolerance (reltol).
    As a result, the value of reltol is loosened to 0.005. Use `+diagnose' to get more information.
    WARNING (SPECTRE-17192):
    Tolerance relaxation is used during DC simulation which may affect the accuracy of the result. This is mainly caused by the high impedance nodes in the circuit. Use the dyn_highz check to determine the high impedance nodes. Setting/assigning appropriate initial values to these nodes will usually help to improve both performance and accuracy of DC simulations.

    DC simulation time: CPU = 422.522 ms, elapsed = 211.798 ms.

    Opening the PSF file ../psf/tran.tran.tran ...
    Important parameter values:
    start = 0 s
    outputstart = 0 s
    stop = 10 us
    step = 10 ns
    maxstep = 20 ns
    ic = all
    useprevic = no
    skipdc = no
    reltol = 100e-06
    abstol(V) = 1 uV
    abstol(I) = 1 pA
    temp = 27 C
    tnom = 27 C
    tempeffects = all
    errpreset = conservative
    method = trap
    lteratio = 10
    relref = alllocal
    cmin = 0 F
    gmin = 1 pS
    rabsshort = 1 mOhm


    Notice from spectre during transient analysis `tran'.
    Multithreading is disabled due to the size of the design being too small.


    Wildcard match summary:

    Output and IC/nodeset summary:
    save 11 (current)
    save 17 (voltage)


    Notice from spectre at time = 14.0175 ns during transient analysis `tran'.
    Newton iteration fails to converge at time = 14.0175 ns step = 19.9996e-21 s.
    Disaster recovery algorithm is enabled to search for a converged solution.

    tran: time = 250.4 ns (2.5 %), step = 1.469 ns (14.7 m%)
    tran: time = 761.6 ns (7.62 %), step = 18.08 ns (181 m%)
    tran: time = 1.262 us (12.6 %), step = 20 ns (200 m%)
    tran: time = 1.762 us (17.6 %), step = 20 ns (200 m%)
    tran: time = 2.262 us (22.6 %), step = 20 ns (200 m%)
    tran: time = 2.762 us (27.6 %), step = 20 ns (200 m%)
    tran: time = 3.262 us (32.6 %), step = 20 ns (200 m%)
    tran: time = 3.762 us (37.6 %), step = 20 ns (200 m%)
    tran: time = 4.262 us (42.6 %), step = 20 ns (200 m%)
    tran: time = 4.762 us (47.6 %), step = 20 ns (200 m%)
    tran: time = 5.25 us (52.5 %), step = 213.7 ps (2.14 m%)

    Warning from spectre at time = 5.26017 us during transient analysis `tran'.
    WARNING (CMI-2138): Junction current of an protected device is too large. The results computed by Spectre may be inaccurate because the junction current model has been linearized.

    tran: time = 5.312 us (53.1 %), step = 404.4 fs (4.04 u%)


    tran: time = 5.752 us (57.5 %), step = 5.171 ns (51.7 m%)

    Further occurrences of this notice will be suppressed.

    tran: time = 6.251 us (62.5 %), step = 793.9 ps (7.94 m%)


    tran: time = 6.761 us (67.6 %), step = 15.58 ns (156 m%)
    tran: time = 7.257 us (72.6 %), step = 20 ns (200 m%)

    Warning from spectre at time = 7.45391 us during transient analysis `tran'.
    WARNING (CMI-2138): Junction current of an protected device is too large. The results computed by Spectre may be inaccurate because the junction current model has been linearized.

    tran: time = 7.498 us (75 %), step = 161.9 fs (1.62 u%)
    tran: time = 7.499 us (75 %), step = 138.6 fs (1.39 u%)
    tran: time = 7.5 us (75 %), step = 168.5 fs (1.69 u%)
    tran: time = 7.501 us (75 %), step = 9.001 fs (90 n%)
    tran: time = 7.501 us (75 %), step = 230.8 fs (2.31 u%)
    tran: time = 7.502 us (75 %), step = 89.64 fs (896 n%)
    tran: time = 7.503 us (75 %), step = 166.5 fs (1.66 u%)

    Notice from spectre at time = 7.50438 us during transient analysis `tran'.
    Newton iteration fails to converge at time = 7.50438 us step = 199.9e-21 s.
    Disaster recovery algorithm is enabled to search for a converged solution.

    tran: time = 7.752 us (77.5 %), step = 9.929 ns (99.3 m%)
    tran: time = 8.251 us (82.5 %), step = 1.878 ns (18.8 m%)
    tran: time = 8.752 us (87.5 %), step = 2.638 ns (26.4 m%)
    tran: time = 9.252 us (92.5 %), step = 7.862 ns (78.6 m%)
    tran: time = 9.753 us (97.5 %), step = 6.041 ns (60.4 m%)
    Number of accepted tran steps = 50258

    Maximum value achieved for any signal of each quantity:

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    Post-Transient Simulation Summary
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    Top 10 Solution Convergence failure counts accumulated from time = 0 s to time = 10 us of `tran' analysis
    4688 93.99 % V5:p
    62 1.24 % V6:p
    53 1.06 % V10:p
    48 0.96 % M2:1
    38 0.76 % V8:p
    23 0.46 % V3:p
    17 0.34 % L3:1
    12 0.24 % net03
    11 0.22 % VGS
    9 0.18 % in

    Top 10 step size limiting signals accumulated from time = 0 s to time = 10 us of `tran' analysis
    - To further speed up simulation, consider
    add ++aps on command line
    - Non-default settings that could significantly slow down simulation
    errpreset = conservative, default moderate
    maxstep = 20 ns, default 100 ns (conservative)
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


    During simulation, the CPU load for active processors is :
    0 (100.0 %) 1 (7.5 %) 2 (3.9 %) 3 (2.6 %)
    4 (4.9 %) 5 (3.0 %) 6 (3.9 %) 7 (2.9 %)
    Total: 128.6%
    Initial condition solution time: CPU = 422.668 ms, elapsed = 211.872 ms.
    Intrinsic tran analysis time: CPU = 99.1331 s, elapsed = 96.8967 s.
    Total time required for tran analysis `tran': CPU = 99.5671 s (1m 39.6s), elapsed = 97.1301 s (1m 37.1s).
    Time accumulated: CPU = 100.186 s (1m 40.2s), elapsed = 97.5045 s (1m 37.5s).
    Peak resident memory used = 82.3 Mbytes.


    Notice from spectre.
    3 notices suppressed.

    finalTimeOP: writing operating point information to rawfile.

    Opening the PSF file ../psf/finalTimeOP.info ...
    modelParameter: writing model parameter values to rawfile.

    Opening the PSF file ../psf/modelParameter.info ...
    element: writing instance parameter values to rawfile.

    Opening the PSF file ../psf/element.info ...
    outputParameter: writing output parameter values to rawfile.

    Opening the PSF file ../psf/outputParameter.info ...
    designParamVals: writing netlist parameters to rawfile.

    Opening the PSFASCII file ../psf/designParamVals.info ...
    primitives: writing primitives to rawfile.

    Opening the PSFASCII file ../psf/primitives.info.primitives ...
    subckts: writing subcircuits to rawfile.

    Opening the PSFASCII file ../psf/subckts.info.subckts ...

    Aggregate audit (8:28:03 PM, Thur Jun 29, 2023):
    Time used: CPU = 100 s (1m 40.2s), elapsed = 97.5 s (1m 37.5s), util. = 103%.
    Time spent in licensing: elapsed = 50.4 ms.
    Peak memory used = 83.2 Mbytes.
    Simulation started at: 8:26:25 PM, Thur Jun 29, 2023, ended at: 8:28:03 PM, Thur Jun 29, 2023, with elapsed time (wall clock): 97.5 s (1m 37.5s).
    spectre completes with 0 errors, 5 warnings, and 17 notices.

    --------------------------------------------------------------------------------------------------

    The following are the relevant schematic diagrams, netlist and simulation waveforms.

    // Generated for: spectre
    // Generated on: Jun 24 17:50:42 2023
    // Design library name: qsliang_sic
    // Design cell name: NTHL040N120M3S_3P_DPT
    // Design view name: schematic
    simulator lang=spectre
    global 0
    include "/home/student1/PDK/csmc600v/Docs/Spice_Mode/10HVCSDST60V19/10HVCSDST60V19/s10hvcsdst60v19.scs" section=tt_20v
    include "/home/student1/model_stage2/NTHL040N120M3S_spectre/NTHL040N120M3S_Rev1.scs"
    include "/home/student1/qsliang/sic/model_stage2/highvoltage_enable.scs"

    // Library name: qsliang_sic
    // Cell name: NTHL040N120M3S_3P_DPT
    // View name: schematic
    V10 (net012 GND) vsource dc=18 type=dc
    V9 (net010 GND) vsource dc=0 type=dc
    V8 (net011 GND) vsource dc=-5 type=dc
    V6 (net014 VD) vsource dc=-5 type=dc
    V5 (GND 0) vsource dc=0 type=dc
    V0 (net019 GND) vsource dc=800 type=dc
    V7 (net06 GND) vsource dc=0 type=dc
    V2 (net6 GND) vsource dc=15 type=dc
    V1 (net4 GND) vsource dc=-5 type=dc
    M4 (Tj net010 net011 net011) mn20v m=1 mt=100 w=10u l=1.4u as=12.625p \
    ad=80.64p ps=22.725u pd=40u
    M0 (Tcase net06 net4 net4) mn20v m=1 mt=100 w=10u l=1.4u as=12.625p \
    ad=80.64p ps=22.725u pd=40u
    M2 (VD VGS GND Tj Tcase) NTHL040N120M3S_5P
    M3 (net03 net014 VD Tj Tcase) NTHL040N120M3S_5P
    M5 (Tj net010 net012 net012) mp20v m=1 mt=200 w=10u l=1.6u as=12.5625p \
    ad=72.8p ps=22.6125u pd=38.4u
    M1 (Tcase net06 net6 net6) mp20v m=1 mt=200 w=10u l=1.6u as=12.5625p \
    ad=72.8p ps=22.6125u pd=38.4u
    L3 (net03 net016) inductor l=40n r=2
    L0 (net03 VD) inductor l=200u r=4
    V3 (net020 GND) vsource type=pwl wave=[ 0 0 100n 20 5.1u 20 5.2u 0 6.2u 0 \
    6.3u 20 7.3u 20 7.4u 0 ]
    C0 (net016 GND) capacitor c=660u
    R2 (in net020) resistor r=5
    R1 (net016 net019) resistor r=5
    R0 (in VGS) resistor r=5.00
    simulatorOptions options reltol=1e-3 vabstol=1e-6 iabstol=1e-12 temp=27 \
    tnom=27 scalem=1.0 scale=1.0 gmin=1e-12 rforce=1 diagnose=yes \
    maxnotes=5 maxwarns=5 digits=5 cols=80 dc_pivot_check=yes pivrel=1e-3 \
    sensfile="../psf/sens.output" checklimitdest=psf
    tran tran stop=10u errpreset=conservative maxstep=20n write="spectre.ic" \
    writefinal="spectre.fc" method=trap annotate=status maxiters=5
    finalTimeOP info what=oppoint where=rawfile
    modelParameter info what=models where=rawfile
    element info what=inst where=rawfile
    outputParameter info what=output where=rawfile
    designParamVals info what=parameters where=rawfile
    primitives info what=primitives where=rawfile
    subckts info what=subckts where=rawfile
    save M2:1
    saveOptions options save=allpub

    Regards

    Liangqunshan

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Reply
  • liangqunshan
    liangqunshan over 2 years ago in reply to ShawnLogan

    Hello,ShawnLogan

    The reason why I said " I added the “hz1 dyn_highz node=["*"] duration=2e-09 time_window=[1e-09 1e-08] ” command to the file called highvoltage_enable.scs,but it does not work" is that the simulation results for adding this command are the same as those for not adding this command. the simulation results did not provide high impedance nodes, even though I adjusted the duration time and time window,for example:

    The "time window "contains the entire process from the beginning of signal input to the end of signal input.I have learned that if there are high impedance nodes, the simulation results will provide a table similar to the one below:

    But I didn't see such a table.

    The simulation results are as follows:

    -----------------------------------------------------------------------------------

    Spectre (R) Circuit Simulator
    Version 19.1.0.496.isr12 64bit -- 16 Oct 2020
    Copyright (C) 1989-2020 Cadence Design Systems, Inc. All rights reserved worldwide. Cadence 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: student1 Host: lincon HostID: 7F0100 PID: 26546
    Memory available: 583.2212 MB physical: 66.8733 GB
    Linux : CentOS Linux release 7.9.2009 (Core)
    CPU Type: Intel(R) Xeon(R) Bronze 3206R CPU @ 1.90GHz
    All processors running at 1900.0 MHz
    Socket: Processors
    0: 0, 1, 2, 3, 4, 5, 6, 7

    System load averages (1min, 5min, 15min) : 13.6 %, 10.4 %, 6.5 %
    HPC is enabled


    Simulating `input.scs' on lincon at 8:26:25 PM, Thur Jun 29, 2023 (process id: 26546).
    Current working directory: /home/student1/simulation/qsliang_sic/NTHL040N120M3S_3P_DPT/maestro/results/maestro/ExplorerRun.0/1/qsliang_sic:NTHL040N120M3S_3P_DPT:1/netlist
    Command line:
    /home/tools/cadence/AMSIM/tools.lnx86/bin/spectre -64 input.scs \
    +escchars +log ../psf/spectre.out -format psfbin -raw ../psf \
    +aps=conservative +lqtimeout 900 -maxw 5 -maxn 5 -ahdllibdir \
    /home/student1/simulation/qsliang_sic/NTHL040N120M3S_3P_DPT/maestro/results/maestro/ExplorerRun.0/sharedData/CDS/ahdl/input.ahdlSimDB \
    +logstatus

    Loading /home/tools/cadence/AMSIM/tools.lnx86/cmi/lib/64bit/5.0/libinfineon_sh.so ...
    Loading /home/tools/cadence/AMSIM/tools.lnx86/cmi/lib/64bit/5.0/libphilips_o_sh.so ...
    Loading /home/tools/cadence/AMSIM/tools.lnx86/cmi/lib/64bit/5.0/libphilips_sh.so ...
    Loading /home/tools/cadence/AMSIM/tools.lnx86/cmi/lib/64bit/5.0/libsparam_sh.so ...
    Loading /home/tools/cadence/AMSIM/tools.lnx86/cmi/lib/64bit/5.0/libstmodels_sh.so ...
    Reading file: /home/student1/simulation/qsliang_sic/NTHL040N120M3S_3P_DPT/maestro/results/maestro/ExplorerRun.0/1/qsliang_sic:NTHL040N120M3S_3P_DPT:1/netlist/input.scs
    Reading file: /home/tools/cadence/AMSIM/tools.lnx86/spectre/etc/configs/spectre.cfg
    Reading file: /home/student1/PDK/csmc600v/Docs/Spice_Mode/10HVCSDST60V19/10HVCSDST60V19/s10hvcsdst60v19.scs
    Reading file: /home/student1/model_stage2/NTHL040N120M3S_spectre/NTHL040N120M3S_Rev1.scs
    Reading file: /home/student1/qsliang/sic/model_stage2/highvoltage_enable.scs
    Time for NDB Parsing: CPU = 233.373 ms, elapsed = 214.18 ms.
    Time accumulated: CPU = 310.235 ms, elapsed = 214.185 ms.
    Peak resident memory used = 56.7 Mbytes.

    Reading link: /home/tools/cadence/AMSIM/tools.lnx86/spectre/etc/ahdl/discipline.h
    Reading file: /home/tools/cadence/AMSIM/tools.lnx86/spectre/etc/ahdl/disciplines.vams
    Reading link: /home/tools/cadence/AMSIM/tools.lnx86/spectre/etc/ahdl/constants.h
    Reading file: /home/tools/cadence/AMSIM/tools.lnx86/spectre/etc/ahdl/constants.vams
    Existing shared object for module encrypted model is up to date.
    Installed compiled interface for _465424a7754b150834a0a898642e5ffc.
    Existing shared object for module encrypted model is up to date.
    Installed compiled interface for _0bbc49abc5196c55c724f1892f37ebb3.
    Existing shared object for module encrypted model is up to date.
    Installed compiled interface for _8e23283c450cad16a3266b392ad6cc2d.
    Existing shared object for module encrypted model is up to date.
    Installed compiled interface for _de2fdc0c26dcf6566752edd89f5de1f1.
    Existing shared object for module encrypted model is up to date.
    Installed compiled interface for _b285a96c1040ca498b40a45f8ce4bfd7.
    Existing shared object for module encrypted model is up to date.
    Installed compiled interface for _c803d1ea988d877a5f54fa8a4076e8f4.
    Existing shared object for module encrypted model is up to date.
    Installed compiled interface for _e841a5bb926680b32bc8b2fc35c78a41.
    Existing shared object for module encrypted model is up to date.
    Installed compiled interface for _06a4bb8aa19459e06fba2eab62287c4e.
    Existing shared object for module encrypted model is up to date.
    Installed compiled interface for _28498f5c8916348dd4b6511d1a5d238d.
    Existing shared object for module encrypted model is up to date.
    Installed compiled interface for _fa1e9549142b1a91dcf3262c52ad3e4e.
    Existing shared object for module encrypted model is up to date.
    Installed compiled interface for _0a6e4c92a928323a94e9c2ade1ef90f2.
    Existing shared object for module encrypted model is up to date.
    Installed compiled interface for _56a11d113cb09e3403d1de48313a8cd7.
    Existing shared object for module encrypted model is up to date.
    Installed compiled interface for _f803f2080a67025f78f91b463ea67a16.
    Existing shared object for module encrypted model is up to date.
    Installed compiled interface for _6e39a951c7f779372ce3f96c5878d952.
    Existing shared object for module encrypted model is up to date.
    Installed compiled interface for _c4b8f89c3d1effd631e5587fb60a08b5.
    Existing shared object for module encrypted model is up to date.
    Installed compiled interface for _ff41ad369c189c3d16e8c340a1e982da.
    Existing shared object for module encrypted model is up to date.
    Installed compiled interface for _786ecc4632a757be448dbecce643c787.
    Existing shared object for module encrypted model is up to date.
    Installed compiled interface for _6d5812b5ed7c5e421818fa8bc916d3f2.
    Existing shared object for module encrypted model is up to date.
    Installed compiled interface for _cafc8a9dcd577e9a1afb449b13e2e1b1.
    Existing shared object for module encrypted model is up to date.
    Installed compiled interface for _701b4668c1c789206d0a66716c9bcb6c.
    Existing shared object for module encrypted model is up to date.
    Installed compiled interface for _d416ff76bbfe69eef11d96be4fcfcb8d.
    Existing shared object for module encrypted model is up to date.
    Installed compiled interface for _f45a12ba2672c5f98fb50508cdf03a3b.
    Existing shared object for module encrypted model is up to date.
    Installed compiled interface for _9c88319401f7cca692d8bd337aa74f75.
    Existing shared object for module encrypted model is up to date.
    Installed compiled interface for _bae175dbb67c6af94951d31f7dc51924.
    Existing shared object for module encrypted model is up to date.
    Installed compiled interface for _eb826f4b2e518faf7bb55c27fba18785.
    Existing shared object for module encrypted model is up to date.
    Installed compiled interface for _b21b700edd31e73e4bbb27bef4abf0db.
    Existing shared object for module encrypted model is up to date.
    Installed compiled interface for _f0d243ab67c67a7865327f8cf7498b78.
    Existing shared object for module encrypted model is up to date.
    Installed compiled interface for _564e94d73f1a483c9ec8bc1e4e63568b.
    Existing shared object for module encrypted model is up to date.
    Installed compiled interface for _ee88cc3e564dcbbdc1c5d48fc6e65ddd.


    Time for Elaboration: CPU = 142.95 ms, elapsed = 71.645 ms.
    Time accumulated: CPU = 453.503 ms, elapsed = 285.988 ms.
    Peak resident memory used = 70.8 Mbytes.


    Warning from spectre during hierarchy flattening.
    WARNING (SPECTRE-17101): The value 'psf' specified for the 'checklimitdest' option will no longer be supported in future releases. Use 'spectre -h' to see other recommended values for the 'checklimitdest' option.


    Time for EDB Visiting: CPU = 13.285 ms, elapsed = 6.65903 ms.
    Time accumulated: CPU = 467.111 ms, elapsed = 292.808 ms.
    Peak resident memory used = 72.2 Mbytes.


    Notice from spectre during initial setup.
    Multithreading is disabled due to the size of the design being too small.


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

    Scoped user options:

    Circuit inventory:
    nodes 17
    iprobe 1
    bsim3v3 8
    capacitor 1
    inductor 2
    resistor 3
    vsource 10

    Analysis and control statement inventory:
    info 7
    tran 1

    Output statements:
    .probe 0
    .measure 0
    save 1

    Design checks inventory:
    dyn_highz 1


    Notice from spectre during initial setup.
    Protected devices exist and are not included in the circuit inventory.
    8 vsources are short because their absolute value is less than or equal to 'vabsshort'.
    4 resistors are changed to resistance form because their value are less than 'rthresh'.
    APS Enabled.

    Circuit Check::Setting up dynamic checks...

    Circuit Check::Set up dynamic checks done.
    Time for parsing: CPU = 141.532 ms, elapsed = 71.465 ms.
    Time accumulated: CPU = 608.952 ms, elapsed = 364.427 ms.
    Peak resident memory used = 76.1 Mbytes.

    ~~~~~~~~~~~~~~~~~~~~~~
    Pre-Simulation Summary
    ~~~~~~~~~~~~~~~~~~~~~~
    ~~~~~~~~~~~~~~~~~~~~~~

    ************************************************
    Transient Analysis `tran': time = (0 s -> 10 us)
    ************************************************
    Trying `homotopy = gmin' for initial conditions.
    Top 10 Solution Convergence failure counts accumulated from the beginning of `dc gmin stepping' analysis
    5 14.71 % M4.mcore1_turbo_m0:int_d
    2 5.88 % M4.mcore1_turbo_m0:int_s
    1 2.94 % V8:p
    1 2.94 % M0.mcore1_turbo_m0:int_s
    1 2.94 % M5.mcore1_turbo_m0:int_d
    1 2.94 % M1.mcore1_turbo_m0:int_s
    Top 10 Residue Convergence failure counts accumulated from the beginning of `dc gmin stepping' analysis:
    12 35.29 % M4.mcore1_turbo_m0:int_d
    6 17.65 % M5.mcore1_turbo_m0:int_s
    5 14.71 % M0.mcore1_turbo_m0:int_d

    Trying `homotopy = source' for initial conditions.

    Warning from spectre during IC analysis, during transient analysis `tran'.
    WARNING (SPECTRE-16093): Cannot find solution at the specified relative tolerance (reltol).
    As a result, the value of reltol is loosened to 0.005. Use `+diagnose' to get more information.
    WARNING (SPECTRE-17192):
    Tolerance relaxation is used during DC simulation which may affect the accuracy of the result. This is mainly caused by the high impedance nodes in the circuit. Use the dyn_highz check to determine the high impedance nodes. Setting/assigning appropriate initial values to these nodes will usually help to improve both performance and accuracy of DC simulations.

    DC simulation time: CPU = 422.522 ms, elapsed = 211.798 ms.

    Opening the PSF file ../psf/tran.tran.tran ...
    Important parameter values:
    start = 0 s
    outputstart = 0 s
    stop = 10 us
    step = 10 ns
    maxstep = 20 ns
    ic = all
    useprevic = no
    skipdc = no
    reltol = 100e-06
    abstol(V) = 1 uV
    abstol(I) = 1 pA
    temp = 27 C
    tnom = 27 C
    tempeffects = all
    errpreset = conservative
    method = trap
    lteratio = 10
    relref = alllocal
    cmin = 0 F
    gmin = 1 pS
    rabsshort = 1 mOhm


    Notice from spectre during transient analysis `tran'.
    Multithreading is disabled due to the size of the design being too small.


    Wildcard match summary:

    Output and IC/nodeset summary:
    save 11 (current)
    save 17 (voltage)


    Notice from spectre at time = 14.0175 ns during transient analysis `tran'.
    Newton iteration fails to converge at time = 14.0175 ns step = 19.9996e-21 s.
    Disaster recovery algorithm is enabled to search for a converged solution.

    tran: time = 250.4 ns (2.5 %), step = 1.469 ns (14.7 m%)
    tran: time = 761.6 ns (7.62 %), step = 18.08 ns (181 m%)
    tran: time = 1.262 us (12.6 %), step = 20 ns (200 m%)
    tran: time = 1.762 us (17.6 %), step = 20 ns (200 m%)
    tran: time = 2.262 us (22.6 %), step = 20 ns (200 m%)
    tran: time = 2.762 us (27.6 %), step = 20 ns (200 m%)
    tran: time = 3.262 us (32.6 %), step = 20 ns (200 m%)
    tran: time = 3.762 us (37.6 %), step = 20 ns (200 m%)
    tran: time = 4.262 us (42.6 %), step = 20 ns (200 m%)
    tran: time = 4.762 us (47.6 %), step = 20 ns (200 m%)
    tran: time = 5.25 us (52.5 %), step = 213.7 ps (2.14 m%)

    Warning from spectre at time = 5.26017 us during transient analysis `tran'.
    WARNING (CMI-2138): Junction current of an protected device is too large. The results computed by Spectre may be inaccurate because the junction current model has been linearized.

    tran: time = 5.312 us (53.1 %), step = 404.4 fs (4.04 u%)


    tran: time = 5.752 us (57.5 %), step = 5.171 ns (51.7 m%)

    Further occurrences of this notice will be suppressed.

    tran: time = 6.251 us (62.5 %), step = 793.9 ps (7.94 m%)


    tran: time = 6.761 us (67.6 %), step = 15.58 ns (156 m%)
    tran: time = 7.257 us (72.6 %), step = 20 ns (200 m%)

    Warning from spectre at time = 7.45391 us during transient analysis `tran'.
    WARNING (CMI-2138): Junction current of an protected device is too large. The results computed by Spectre may be inaccurate because the junction current model has been linearized.

    tran: time = 7.498 us (75 %), step = 161.9 fs (1.62 u%)
    tran: time = 7.499 us (75 %), step = 138.6 fs (1.39 u%)
    tran: time = 7.5 us (75 %), step = 168.5 fs (1.69 u%)
    tran: time = 7.501 us (75 %), step = 9.001 fs (90 n%)
    tran: time = 7.501 us (75 %), step = 230.8 fs (2.31 u%)
    tran: time = 7.502 us (75 %), step = 89.64 fs (896 n%)
    tran: time = 7.503 us (75 %), step = 166.5 fs (1.66 u%)

    Notice from spectre at time = 7.50438 us during transient analysis `tran'.
    Newton iteration fails to converge at time = 7.50438 us step = 199.9e-21 s.
    Disaster recovery algorithm is enabled to search for a converged solution.

    tran: time = 7.752 us (77.5 %), step = 9.929 ns (99.3 m%)
    tran: time = 8.251 us (82.5 %), step = 1.878 ns (18.8 m%)
    tran: time = 8.752 us (87.5 %), step = 2.638 ns (26.4 m%)
    tran: time = 9.252 us (92.5 %), step = 7.862 ns (78.6 m%)
    tran: time = 9.753 us (97.5 %), step = 6.041 ns (60.4 m%)
    Number of accepted tran steps = 50258

    Maximum value achieved for any signal of each quantity:

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    Post-Transient Simulation Summary
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    Top 10 Solution Convergence failure counts accumulated from time = 0 s to time = 10 us of `tran' analysis
    4688 93.99 % V5:p
    62 1.24 % V6:p
    53 1.06 % V10:p
    48 0.96 % M2:1
    38 0.76 % V8:p
    23 0.46 % V3:p
    17 0.34 % L3:1
    12 0.24 % net03
    11 0.22 % VGS
    9 0.18 % in

    Top 10 step size limiting signals accumulated from time = 0 s to time = 10 us of `tran' analysis
    - To further speed up simulation, consider
    add ++aps on command line
    - Non-default settings that could significantly slow down simulation
    errpreset = conservative, default moderate
    maxstep = 20 ns, default 100 ns (conservative)
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


    During simulation, the CPU load for active processors is :
    0 (100.0 %) 1 (7.5 %) 2 (3.9 %) 3 (2.6 %)
    4 (4.9 %) 5 (3.0 %) 6 (3.9 %) 7 (2.9 %)
    Total: 128.6%
    Initial condition solution time: CPU = 422.668 ms, elapsed = 211.872 ms.
    Intrinsic tran analysis time: CPU = 99.1331 s, elapsed = 96.8967 s.
    Total time required for tran analysis `tran': CPU = 99.5671 s (1m 39.6s), elapsed = 97.1301 s (1m 37.1s).
    Time accumulated: CPU = 100.186 s (1m 40.2s), elapsed = 97.5045 s (1m 37.5s).
    Peak resident memory used = 82.3 Mbytes.


    Notice from spectre.
    3 notices suppressed.

    finalTimeOP: writing operating point information to rawfile.

    Opening the PSF file ../psf/finalTimeOP.info ...
    modelParameter: writing model parameter values to rawfile.

    Opening the PSF file ../psf/modelParameter.info ...
    element: writing instance parameter values to rawfile.

    Opening the PSF file ../psf/element.info ...
    outputParameter: writing output parameter values to rawfile.

    Opening the PSF file ../psf/outputParameter.info ...
    designParamVals: writing netlist parameters to rawfile.

    Opening the PSFASCII file ../psf/designParamVals.info ...
    primitives: writing primitives to rawfile.

    Opening the PSFASCII file ../psf/primitives.info.primitives ...
    subckts: writing subcircuits to rawfile.

    Opening the PSFASCII file ../psf/subckts.info.subckts ...

    Aggregate audit (8:28:03 PM, Thur Jun 29, 2023):
    Time used: CPU = 100 s (1m 40.2s), elapsed = 97.5 s (1m 37.5s), util. = 103%.
    Time spent in licensing: elapsed = 50.4 ms.
    Peak memory used = 83.2 Mbytes.
    Simulation started at: 8:26:25 PM, Thur Jun 29, 2023, ended at: 8:28:03 PM, Thur Jun 29, 2023, with elapsed time (wall clock): 97.5 s (1m 37.5s).
    spectre completes with 0 errors, 5 warnings, and 17 notices.

    --------------------------------------------------------------------------------------------------

    The following are the relevant schematic diagrams, netlist and simulation waveforms.

    // Generated for: spectre
    // Generated on: Jun 24 17:50:42 2023
    // Design library name: qsliang_sic
    // Design cell name: NTHL040N120M3S_3P_DPT
    // Design view name: schematic
    simulator lang=spectre
    global 0
    include "/home/student1/PDK/csmc600v/Docs/Spice_Mode/10HVCSDST60V19/10HVCSDST60V19/s10hvcsdst60v19.scs" section=tt_20v
    include "/home/student1/model_stage2/NTHL040N120M3S_spectre/NTHL040N120M3S_Rev1.scs"
    include "/home/student1/qsliang/sic/model_stage2/highvoltage_enable.scs"

    // Library name: qsliang_sic
    // Cell name: NTHL040N120M3S_3P_DPT
    // View name: schematic
    V10 (net012 GND) vsource dc=18 type=dc
    V9 (net010 GND) vsource dc=0 type=dc
    V8 (net011 GND) vsource dc=-5 type=dc
    V6 (net014 VD) vsource dc=-5 type=dc
    V5 (GND 0) vsource dc=0 type=dc
    V0 (net019 GND) vsource dc=800 type=dc
    V7 (net06 GND) vsource dc=0 type=dc
    V2 (net6 GND) vsource dc=15 type=dc
    V1 (net4 GND) vsource dc=-5 type=dc
    M4 (Tj net010 net011 net011) mn20v m=1 mt=100 w=10u l=1.4u as=12.625p \
    ad=80.64p ps=22.725u pd=40u
    M0 (Tcase net06 net4 net4) mn20v m=1 mt=100 w=10u l=1.4u as=12.625p \
    ad=80.64p ps=22.725u pd=40u
    M2 (VD VGS GND Tj Tcase) NTHL040N120M3S_5P
    M3 (net03 net014 VD Tj Tcase) NTHL040N120M3S_5P
    M5 (Tj net010 net012 net012) mp20v m=1 mt=200 w=10u l=1.6u as=12.5625p \
    ad=72.8p ps=22.6125u pd=38.4u
    M1 (Tcase net06 net6 net6) mp20v m=1 mt=200 w=10u l=1.6u as=12.5625p \
    ad=72.8p ps=22.6125u pd=38.4u
    L3 (net03 net016) inductor l=40n r=2
    L0 (net03 VD) inductor l=200u r=4
    V3 (net020 GND) vsource type=pwl wave=[ 0 0 100n 20 5.1u 20 5.2u 0 6.2u 0 \
    6.3u 20 7.3u 20 7.4u 0 ]
    C0 (net016 GND) capacitor c=660u
    R2 (in net020) resistor r=5
    R1 (net016 net019) resistor r=5
    R0 (in VGS) resistor r=5.00
    simulatorOptions options reltol=1e-3 vabstol=1e-6 iabstol=1e-12 temp=27 \
    tnom=27 scalem=1.0 scale=1.0 gmin=1e-12 rforce=1 diagnose=yes \
    maxnotes=5 maxwarns=5 digits=5 cols=80 dc_pivot_check=yes pivrel=1e-3 \
    sensfile="../psf/sens.output" checklimitdest=psf
    tran tran stop=10u errpreset=conservative maxstep=20n write="spectre.ic" \
    writefinal="spectre.fc" method=trap annotate=status maxiters=5
    finalTimeOP info what=oppoint where=rawfile
    modelParameter info what=models where=rawfile
    element info what=inst where=rawfile
    outputParameter info what=output where=rawfile
    designParamVals info what=parameters where=rawfile
    primitives info what=primitives where=rawfile
    subckts info what=subckts where=rawfile
    save M2:1
    saveOptions options save=allpub

    Regards

    Liangqunshan

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Children
  • ShawnLogan
    ShawnLogan over 2 years ago in reply to liangqunshan

    Dear liangqunshan,

    liangqunshan said:
    The reason why I said " I added the “hz1 dyn_highz node=["*"] duration=2e-09 time_window=[1e-09 1e-08] ” command to the file called highvoltage_enable.scs,but it does not work" is that the simulation results for adding this command are the same as those for not adding this command. the simulation results did not provide high impedance nodes, even though I adjusted the duration time and time window,

    I understand and am happy to read you tried a few options. Thank you for your explanation.

    liangqunshan said:

    But I didn't see such a table.

    The simulation results are as follows:

    The motivation for using that check was to assist in the DC operating point simulation which occurs prior to the transient analysis. If you examine the log file you just provided, your DC operating point analysis was successful.

    In addition, looking at the output log of the DC operating point suggests the operating points of devices M0, M4, and M5 are contributing to the DC operating simulation time and difficulty. These conventional MOS devices have very large gate source voltages across them (5V or more!). They also appear to be quiescent in your circuit. I am not sure if they are needed as you seem to be focused on the performance of your SiC devices M2 and M3. Perhaps if you remove them from your netlist or change their operating points to something more reasonable (much lower vgs voltages) that will ease the DC operating point analysis.

    liangqunshan said:
    Protected devices exist and are not included in the circuit inventory.

    Since you are using protected devices, I am not sure if spectre can inspect their internal nodes to determine if they possess high-impedance states during the transient simulation.

    In any case, it appears your simulation is now converging and completing - which is good. Good luck!

    Shawn

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • liangqunshan
    liangqunshan over 2 years ago in reply to ShawnLogan

    Hello,ShawnLogan ,thank you very much for your help, and now I can concentrate on the follow-up design work, thank you very much!

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • ShawnLogan
    ShawnLogan over 2 years ago in reply to liangqunshan

    Dear liangqunshan,

    You are most welcome! I am just happy you've made some progress, I can tell you have learned a lot and that is all that matters!

    Shawn

    • 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