• 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. inquiry about the results of the serial capacitors in c...

Stats

  • Locked Locked
  • Replies 8
  • Subscribers 125
  • Views 17950
  • 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

inquiry about the results of the serial capacitors in cadence

IanX
IanX over 11 years ago

hello. everyone. I am doing the simulation in Cadence(IC6.1.6). Pls see the schematic below. What I want to know is the voltage of each capacitor. In each two circuit,  a 10V vdc , 2u cap and 8u cap. 1Ω resistor are used.  Tran simulation is used by setting 100u. I set initial volatge of all capacitor equal to 0.

After runing the simulation, the c1 always equals to 5V no matter what the value of the two capacitor are in the upper circuit. If I leave the initial voltage of the capacitor blank, the C1 equal to 0V

In the lower circuit, the C2t and C1b equals to 3.5V when 2 resistors are included. 

And by calculation the C1 should be 2V, and the the same with c2t. I don't know why the results are so strange. I have disucessed with many people. but I still could not fix it. Could someone help me? 

 

  • Screenshot-1.png
  • View
  • Hide
  • Cancel
  • Andrew Beckett
    Andrew Beckett over 11 years ago

    For the top circuit, the issue is that the DC condition cannot be met. You have no resistance in the circuit, and when the capacitors are removed for the DC, it cannot possibly have both of them at zero volts yet with a DC voltage of 10V across the pair. This is why the simulator reports:

        C1: Initial condition computed between nodes in1 and c1 is in error by 5 V.
        C2: Initial condition computed for node c1 is in error by 5 V.            

    The voltage is coming about from the "rforce" value that is used to force a voltage (or current) on the circuit for initial conditions - and so you have a potential divider with two rforce resistors at 1 ohm each. 

    By the way, the top circuit has the second capacitor as 8n rather than 8u, but that doesn't matter here.

    In the bottom circuit, the issue is that the 1ohm series impedance with the source is too similar a value to the rforce value - and hence that is affecting the solution. If I change the circuit to this and use the rforce option to set it to 1mOhm (don't set it smaller than this, as it could adversely affect convergence):

    // forum example
    V1 (in1 0) vsource dc=10
    R1 (in1 in2) resistor r=1
    C1 (in2 c1) capacitor c=2u ic=0
    C2 (c1 0) capacitor c=8u ic=0

    myOpts options rforce=1m
    dc dc
    tran tran stop=1m

    Then I get the plot below. Note that the 1mOhm impedance is still only a 1000 times different from the series 1ohm impedance (note I only had a single resistor, rather than two). With this I get 2.006V at node c1.

    Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • IanX
    IanX over 11 years ago
    Hello, Andrew. Thank you so much! It works. But when I try to search 'rforce' to get more information in the virtuoso analog design environment L user guide, I found nothing. I'm not quite understand how 'rforce' works in the Cadence. Is it something like add a serial resistor in each node when the initial voltage in each node is calculated.
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Tom Volden
    Tom Volden over 11 years ago

    rforce is a parameter of the capacitor model.  Since you have not specified it, the default value of 1 ohm is being used.  You can find more about it in the Spectre Components and Device Models Reference manual or with "spectre -h capacitor" at the command line.

     Regards,

    TOM

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • IanX
    IanX over 11 years ago

    hello, Tom. Thank you. Though I don't know where to type the command line you given, I found the older version manual from the internet. It's said that The Spectre simulator sets initial conditions on a node by attaching a voltage source through a resistor. The default value of this resistor is 1, but you can control the value through the options parameter rforce. Just like you said, I consider that the capacitor equal to a resistor (set by the rforce) when the initial condition is calculated. Is it right?

    And Andrew, I think the reason why the voltage across the resistors equal to 6V and 4V in the second circuit is that the initial voltage in c1t = 7.5V and c1b=5V c2t =2.5V. And from this initial voltage, the steady voltage equal to 3.5V. I could not explain why the c1 always =5V in the upper circuit. I can understand the initial voltage is 5V. I think the voltage should change according the capacitance.

     So I did another simulation. 

     

    1. I still do the 'tran analyses'. I use two capacitor in parallel , and one terminal with ground. Initial voltage is 5V, 2V cross each capacitor . And plot the node between between. I can see the curve from 5V to almost 0V if the tran stop time is long enough. 
    2. Another simulation: The same with previous one besides adding a resistor between two capacitor. I measure two terminal of the resistor. One curve is from 4V and one curve is from 3V. And the final value is almost 0V if the tran stop time is long enough. It is quite strange . I can not understand how it work. the Spectre simulator is quite interesting.

     

    • 3.png
    • View
    • Hide
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 11 years ago

    You would type "spectre -h options" (not capacitor) from the UNIX command line. Or search in "cdnshelp" for "rforce".

    Anyway, the key to understanding this is to know that an "ic" on a capacitor adds a resistor (with value rforce) and current source (with value ic/rforce) in parallel with the capacitor for the duration of the dc operating point analysis. The capacitor itself will be removed (set to 0) for the dc analysis (because it's dc, the capacitor can't have an effect anyway). So in the original top circuit, you have two "rforce" resistors in series across the source, giving you a potential divider with 5V at the midpoint. Since ic=0, there's no current flow - so the capacitors end up charged with 5V across each, and since nothing changes during the transient they stay where they are (the resistors are removed during the transient itself).

    In the second circuit, you start off with a potential dividier with four series 1 ohm resistors - so c1t=7.5V, c1b=5V, c2t=2.5V. Then when the transient itself starts (after the initial DC), the two resistors in parallel with the capacitors are removed, so you end up with the charges redistributing based on the fact that the left capacitor had 5V across it, and the right capacitor had 2.5V across it.

    In your final two circuits, it's the same type of thing happening - you've got current sources in parallel with 1 ohm resistors, and with a bit of consideration you can see how it came up with the initial voltages. These settle out during the transient (in the top of the two circuits, with the resistor in the circuit). The overall decay you are seeing is due to a "gmin" resistor (1e12 ohms) added by default which is there to provide a current path for floating nodes (which otherwise could degrade performance). If you set gmin=0 as an option (in ADE gmin and rforce are on Simulation->Options->Analog), you won't see this leakage path. In general though, setting gmin=0 would tend to provide worse convergence (and anyway real circuits have a leakage path).

    Some of your issues are caused by the fact that you are creating contradictory initial conditions. In your original circuit, it's plainly impossible for both capacitors to have an initial condition of 0V with a 10V constant source across them. If you started off with 0V and then stepped it to 10V then that would be reasonable. In your bottom most circuit, you can't have two capacitors in parallel one with 5V and one with 2V across it. This is precisely why there's an "rforce" inserted - it prevents an impossible situation but tends to encourage the right voltage provided that the other impedances are high enough relative to the rforce.

    Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • IanX
    IanX over 11 years ago

    Hello. Thanks for your great help.

     I have done the simulation adding the current source in parallel with a capacitor. With dc anaysis, the convergence error happened. I solved this with select 'all' or 'dev' in the force option from the DC options. The results is the same as you said.

     By the way the default gmin value is 1e-12 ohms. 

    Now I would say I can understand a little more about how the simulator works.

     Thanks for you again. 

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 11 years ago

    Actually, the default value of gmin is 1e-12 mhos (Siemens). It's a conductance, and so the equivalent resistance is 1e12 ohms.

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • IanX
    IanX over 11 years ago

    oh. yeah. You are right! 

    haha

    Thanks! 

    • 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