• 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. Convergence error in Transient analysis

Stats

  • Locked Locked
  • Replies 12
  • Subscribers 126
  • Views 57375
  • 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

Convergence error in Transient analysis

SAMEERGARG
SAMEERGARG over 11 years ago

 Actually i crated a Memristor Model by using VerilogA code. Then i designed logic gates by using the same with different methodology and i got correct simulated output but when i combined all individual logic gates to make a simple 1 bit adder then i got convergence error. I did simulation for 40n sec but i am getting result upto 6-8 ns . Even i am not able to see input pulse. Please help me to short out this problem. Iam attaching my schematic and log file

 ************************************************

Transient Analysis `tran': time = (0 s -> 40 ns)

************************************************

Trying `homotopy = gmin' for initial conditions.

Trying `homotopy = source' for initial conditions.

Important parameter values:

    start = 0 s

    outputstart = 0 s

    stop = 40 ns

    step = 40 ps

    maxstep = 800 ps

    ic = all

    skipdc = no

    reltol = 1e-03

    abstol(V) = 1 uV

    abstol(I) = 1 pA

    temp = 27 C

    tnom = 27 C

    tempeffects = all

    errpreset = moderate

    method = traponly

    lteratio = 3.5

    relref = sigglobal

    cmin = 0 F

    gmin = 1 pS

 

 

Warning from spectre at time = 38.8734 ps during transient analysis `tran'.

    WARNING (SPECTRE-16266): Error requirements were not satisfied because of convergence difficulties.

Warning from spectre at time = 46.4423 ps during transient analysis `tran'.

    WARNING (SPECTRE-16266): Error requirements were not satisfied because of convergence difficulties.

 

    tran: time = 1.245 ns    (3.11 %), step = 308.4 ps     (771 m%)

    tran: time = 3.06 ns     (7.65 %), step = 93.55 ps     (234 m%)

 

Warning from spectre at time = 3.10126 ns during transient analysis `tran'.

    WARNING (SPECTRE-16266): Error requirements were not satisfied because of convergence difficulties.

 

    tran: time = 5.205 ns      (13 %), step = 205.2 ps     (513 m%)

 

Warning from spectre at time = 6.0115 ns during transient analysis `tran'.

    WARNING (SPECTRE-16266): Error requirements were not satisfied because of convergence difficulties.

Warning from spectre at time = 6.1008 ns during transient analysis `tran'.

    WARNING (SPECTRE-16266): Error requirements were not satisfied because of convergence difficulties.

        Further occurrences of this warning will be suppressed.

 

    tran: time = 7.109 ns    (17.8 %), step = 204.3 ps     (511 m%)

 

Error found by spectre at time = 8.03662 ns during transient analysis `tran'.

    ERROR (SPECTRE-16192): No convergence achieved with the minimum time step specified.  Last acceptable solution computed at 8.03662 ns.

 

The values for those nodes that did not converge on the last Newton iteration are given below.  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(I9.R2:1) = 3.27345 uA, previously 3.28612 uA.

        update too large:  | -5.69514 uA | > 1.55317 uA + 1 pA

    I(I9.I1:p_n_flow) = 3.27345 uA, previously 3.28612 uA.

        update too large:  | -5.69514 uA | > 1.55317 uA + 1 pA

    I(I9.R1:1) = -6.63437 uA, previously -3.59126 uA.

        update too large:  | 5.63895 uA | > 1.55653 uA + 1 pA

    I(I9.I0:p_n_flow) = -6.63437 uA, previously -3.59126 uA.

        update too large:  | 5.63895 uA | > 1.55653 uA + 1 pA

    I(V3:p) = -508.065 uA, previously -508.099 uA.

        update too large:  | 5.69437 uA | > 2.05796 uA + 1 pA

 Top 10 Residue too large Convergence failure:

    I(I9.I1:p_n_flow) = 3.27345 uA, previously 3.28612 uA.

        residue too large: | 575.245 mV | > 5.45743 mV + 1 uV

 

 

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 might 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 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 using the `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.  Enable diagnostic messages by setting option `diagnose=yes'.

 8. Use the `cmin' parameter to install a small capacitor from every node in the circuit to ground.  This usually eliminates any jumps in the solution.

 9. Loosen tolerances, particularly absolute tolerances like `iabstol' (on options statement). If tolerances are set too tight, they might preclude convergence.

10. Try to simplify the nonlinear component models in order to avoid regions in the model that might contribute to convergence problems.

 

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

finalTimeOP: writing operating point information to rawfile.

Trying `homotopy = gmin'.

Trying `homotopy = source'.

modelParameter: writing model parameter values to rawfile.

element: writing instance parameter values to rawfile.

outputParameter: writing output parameter values to rawfile.

designParamVals: writing netlist parameters to rawfile.

primitives: writing primitives to rawfile.

subckts: writing subcircuits to rawfile.


 

  • 1BIT_Adder_Schematic.png
  • View
  • Hide
  • Cancel
Parents
  • SAMEERGARG
    SAMEERGARG over 11 years ago

    HIii..............

    Thanks for your responce. Finally I got a solution of this convergence proble. What i did was i changed rise and fall time from pico to femto ,input pulse width from nano to Pico and at the same time incresed input DC voltage by 1 volt ie 5V now .... By doing so finally i got output...In my openion the default switching between ON to OFF  state is very fast for current simulator integrating methode thats why it was not able to catch the adjact output. It is a logical answer dont know wheather it is correct or not???????????Well is there any side effect of these changes on performane of a system??????

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Reply
  • SAMEERGARG
    SAMEERGARG over 11 years ago

    HIii..............

    Thanks for your responce. Finally I got a solution of this convergence proble. What i did was i changed rise and fall time from pico to femto ,input pulse width from nano to Pico and at the same time incresed input DC voltage by 1 volt ie 5V now .... By doing so finally i got output...In my openion the default switching between ON to OFF  state is very fast for current simulator integrating methode thats why it was not able to catch the adjact output. It is a logical answer dont know wheather it is correct or not???????????Well is there any side effect of these changes on performane of a system??????

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

Community Guidelines

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

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

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