• 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 SKILL
  3. Organizing about "IC", "converge" "node set"...

Stats

  • Locked Locked
  • Replies 4
  • Subscribers 143
  • Views 3658
  • 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

Organizing about "IC", "converge" "node set"...

ichiro
ichiro over 4 years ago

Hi all,

My understanding is:

    IC: for tran

    node set: for dc sweep

    converge: ???

    desVar( "nodeX" 5): tran, dc, dc0p

But I'm not sure my understanding. Because when I set a voltage to a node like as "node set( "node_X" 5 )", although the dc0p did not react the code(I checked the dc0p file), the simulation could be solved the dc0p which was not solved without the "node set". 

Thanks, 

Ichiro 

  • Cancel
Parents
  • Andrew Beckett
    Andrew Beckett over 4 years ago

    I don't really understand what you're asking here. Perhaps you don't know what the difference between a nodeset and an initial condition is? Let me give a quick summary in the hope that this is what your issue is.

    A nodeset is a means of helping DC convergence (and remember DC convergence is normally performed for most analyses; small-signal analyses need it to linearise the equations around that point; large-signal analyses such as tran need it to find the starting point for the analysis). What happens is that you specify a voltage on a node, and then that voltage is applied via a resistor. In fact here's the info from "spectre -h dc":

    Nodesets help find the DC or the initial transient solution. You can specify
    nodesets in the circuit description file with nodeset statements or in a
    separate file by using the readns parameter. When nodesets are specified,
    Spectre computes an initial guess of the solution by performing DC analysis,
    while forcing the specified values on to nodes by using a voltage source in
    series with a resistor whose resistance is rforce. Spectre then removes these
    voltage sources and resistors and computes the required solution from this
    initial guess.

    Nodesets have two important uses. First, if a circuit has two or more
    solutions, nodesets can bias the simulator towards computing the required
    solution. Second, this is a convergence aid. By estimating the solution of the
    largest possible number of nodes, you might be able to eliminate a convergence
    problem or significantly speed up convergence.

    The default rforce is 1Ohm, and is set via the options statement in spectre.

    An initial condition is stronger. It use the same mechanism, of a voltage source in series with a resistor, but it is kept throughout the DC solution. So a nodeset drives the node until it converges, then removes the force and carries on converging - so the nodeset is a hint to pull the solution to the expected place, but there's no guarantee the force will persist because the solution may be nowhere near the forced value. With an initial condition the force is retained until it converges and then moves onto the subsequent analysis. So you would typically see the result as being close to the driven ic value (not identical because of the 1Ohm resistor, but close).

    Normally initial conditions are honoured in time-domain analyses (such as tran) but ignored in dc and ac analyses (that can be altered with the ic parameter on tran, or force parameter on dc/ac). That's because it's dangerous to find a small-signal response with an initial condition because it may be a false situation; with transient at least the circuit can recover from the artificial starting point.

    Anyway, I've written a lot here - and your issue may be nothing to do with the above!

    Andrew

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • ichiro
    ichiro over 4 years ago in reply to Andrew Beckett

    Hi Andrew,

    Thanks for explain above.

    (1) I got difference between IC and Nodeset.

          Node set: It if for initial guess with 10ohm and voltage source.

          IC: It is used during initial guess and dc-solution with resistor and voltage source.

    (2) I had a misunderstanding about the nodeset. Nodeset was not effective to dc0p cause of I was forgetting to exist a forcing the node by desVar.

    (3) What is the "converge('node_A "5.0")"? It is same to nodeset("node_A" 5.0) ?

    Thanks,

    Ichiro

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 4 years ago in reply to ichiro

    Hi Ichiro,

    Some answers to your points - first of all, the resistance for nodeset and ic is by default 1Ohm, not 10Ohms (it's controlled by the rforce option). It's the same - the difference is the duration of how long the "force" is held for (just during initial part of convergence, or for the enter convergence phase).

    The converge function is just another way of defining a nodeset or initial condition:

    converge('nodeset "node_A" 5.0) ; equivalent to nodeset("node_A" 5.0)
    converge('ic "node_A" 5.0) ; equivalent to ic("node_A" 5.0)

    The first argument to converge is the type of convergence aid used, not the name of the node.

    Andrew

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • ichiro
    ichiro over 4 years ago in reply to Andrew Beckett

    Hi Andrew,

    Thank you so much, I got it.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Reply
  • ichiro
    ichiro over 4 years ago in reply to Andrew Beckett

    Hi Andrew,

    Thank you so much, I got it.

    • 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