• 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. simple RC circuit

Stats

  • Locked Locked
  • Replies 10
  • Subscribers 126
  • Views 16778
  • 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

simple RC circuit

Sali
Sali over 11 years ago

 Dear all,

Can some one help me to understand why the voltage at time zero drops to a value less than 1 V?

Please check the attached file.

Thanks, 

  • RC test.png
  • View
  • Hide
  • Cancel
  • KarthikJaiho
    KarthikJaiho over 11 years ago

     Hi sali,

           According to your RC values I ran the same  simulation. At time =zero the output drops from 10 volt to 0. I dont know why you are getting this results. Here i attached my simulation screenshot.

     

    Regards,

    Karthik. 

     

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

    Sali,

    Please post your Netlist (input.scs) as that might then reveal what is wrong.

    Thanks,

    Andrew 

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

    Hi Mr. Anderew,

    This is the netlist

    // Generated for: spectre
    // Generated on: Mar 31 14:21:43 2014
    // Design library name: Chua3
    // Design cell name: rc
    // Design view name: schematic
    simulator lang=spectre
    global 0
    include "/CMC/kits/cmosp13.V1.8.0.0DM/IBM_PDK/cmrf8sf/V1.8.0.4DM/Spectre/models/design.scs"
    include "/CMC/kits/cmosp13.V1.8.0.0DM/IBM_PDK/cmrf8sf/V1.8.0.4DM/Spectre/models/allModels.scs" section=tt

    // Library name: Chua3
    // Cell name: rc
    // View name: schematic
    R0 (net03 net04) resistor r=10
    C0 (net04 0) capacitor c=10n ic=0
    V0 (net03 0) vsource dc=0 type=pulse val0=10 val1=0 period=400n delay=0 \
            rise=1p fall=1p width=200n
    simulatorOptions options reltol=1e-3 vabstol=1e-6 iabstol=1e-12 temp=27 \
        tnom=25 scalem=1.0 scale=1.0 gmin=1e-12 rforce=1 maxnotes=5 maxwarns=5 \
        digits=5 cols=80 pivrel=1e-3 sensfile="../psf/sens.output" \
        checklimitdest=psf
    tran tran stop=200e-9 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
    saveOptions options save=allpub 

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

     Thanks KarthikJaiho , actually I'm still looking for the reason for this result, I was working in a large circuit that gives me a result different than the manual one, at the end I tested this simple circuit and I found this error which I didn't expect.

    Thank you again for your help. 

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Marc Heise
    Marc Heise over 11 years ago

    I've run it through spectre, getting your results. If you think something is strange read your simulation logs:

      Notice from spectre during IC analysis, during transient analysis `tran'.
        C0: Initial condition computed for node net04 is in error by 909.091 mV.
            Decrease `rforce' to reduce error in computed initial conditions.  However, setting rforce too small may
    result in convergence difficulties or in the matrix becoming singular.

     Now in your options rforce is set to "1", which is forcing a 1Ohm resistor over the cap to find a DC solution.
    Reduce that rforce to smalller values. You still will get some error in the initial condition but not by that magnitude.

    What are you trying to simulate? Would be a better idea to have a settled system before hitting it with the pulse.

     

    Marc

     

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

     Thanks Marc for your help.

    I'm reading now the log file, in the mean while I copied it below:

     

    Cadence (R) Virtuoso (R) Spectre (R) Circuit Simulator
    Version 7.2.0.109 64bit -- 6 Dec 2009
    Copyright (C) 1989-2009 Cadence Design Systems, Inc. All rights reserved worldwide. Cadence, Virtuoso and Spectre are registered trademarks of Cadence Design Systems, Inc. All others are the property of their respective holders.

    Protected by U.S. Patents:
            5,610,847; 5,790,436; 5,812,431; 5,859,785; 5,949,992; 5,987,238;
            6,088,523; 6,101,323; 6,151,698; 6,181,754; 6,260,176; 6,278,964;
            6,349,272; 6,374,390; 6,493,849; 6,504,885; 6,618,837; 6,636,839;
            6,778,025; 6,832,358; 6,851,097; 6,928,626; 7,024,652; 7,035,782;
            7,085,700; 7,143,021; 7,493,240; 7,571,401.

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

     

    Simulating `input.scs' on odin.doe.carleton.ca at 12:14:21 PM, Tue Apr 1, 2014 (process id: 24095).
    Environment variable:
        SPECTRE_DEFAULTS=-I/CMC/kits/cmosp13.V1.8.0.0DM/IBM_PDK/cmrf8sf/V1.8.0.4DM/Spectre/models -f psfbin
    Command line:
         \
            /CMC/tools/cadence/MMSIM_07.20.109_lnx86/tools.lnx86/spectre/bin/64bit/spectre  \
            input.scs +escchars +log ../psf/spectre.out +inter=mpsc  \
            +mpssession=spectre0_23761_1 -format sst2 -raw ../psf  \
            -I/CMC/kits/cmosp13.V1.8.0.0DM/IBM_PDK/cmrf8sf/V1.8.0.4DM/Spectre/models  \
            +lqtimeout 900 -maxw 5 -maxn 5
    spectre pid = 24095

    Loading /CMC/tools/cadence/MMSIM_07.20.109_lnx86/tools.lnx86/cmi/lib/64bit/5.0/libinfineon_sh.so ...
    Loading /CMC/tools/cadence/MMSIM_07.20.109_lnx86/tools.lnx86/cmi/lib/64bit/5.0/libphilips_sh.so ...
    Loading /CMC/tools/cadence/MMSIM_07.20.109_lnx86/tools.lnx86/cmi/lib/64bit/5.0/libsparam_sh.so ...
    Loading /CMC/tools/cadence/MMSIM_07.20.109_lnx86/tools.lnx86/cmi/lib/64bit/5.0/libstmodels_sh.so ...
    Auto-loading AHDL component.
    Finished loading AHDL component in 0 s (elapsed).
    Installed AHDL simulation interface.

    Circuit inventory:
                  nodes 2
              capacitor 1    
               resistor 1    
                vsource 1    

    Time for parsing: CPU = 218.965 ms, elapsed = 828.433 ms.
    Time accumulated: CPU = 218.965 ms, elapsed = 828.433 ms.
    Peak resident memory used = 54.7 Mbytes.

    Entering remote command mode using MPSC service (spectre, ipi, v0.0, spectre0_23761_1, ).

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

    Notice from spectre during IC analysis, during transient analysis `tran'.
        C0: Initial condition computed for node net04 is in error by 909.091 mV.
            Decrease `rforce' to reduce error in computed initial conditions.  However, setting rforce too small may result in convergence difficulties or in the matrix becoming singular.

    Important parameter values:
        start = 0 s
        outputstart = 0 s
        stop = 200 ns
        step = 200 ps
        maxstep = 4 ns
        ic = all
        skipdc = no
        reltol = 1e-03
        abstol(I) = 1 pA
        abstol(V) = 1 uV
        temp = 27 C
        tnom = 25 C
        tempeffects = all
        errpreset = moderate
        method = traponly
        lteratio = 3.5
        relref = sigglobal
        cmin = 0 F
        gmin = 1 pS

        tran: time = 8.095 ns    (4.05 %), step = 4 ns            (2 %)
        tran: time = 16.1 ns     (8.05 %), step = 4 ns            (2 %)
        tran: time = 28.1 ns       (14 %), step = 4 ns            (2 %)
        tran: time = 36.1 ns       (18 %), step = 4 ns            (2 %)
        tran: time = 48.1 ns       (24 %), step = 4 ns            (2 %)
        tran: time = 56.1 ns       (28 %), step = 4 ns            (2 %)
        tran: time = 68.1 ns       (34 %), step = 4 ns            (2 %)
        tran: time = 76.1 ns       (38 %), step = 4 ns            (2 %)
        tran: time = 88.09 ns      (44 %), step = 4 ns            (2 %)
        tran: time = 96.09 ns      (48 %), step = 4 ns            (2 %)
        tran: time = 108.1 ns      (54 %), step = 4 ns            (2 %)
        tran: time = 116.1 ns      (58 %), step = 4 ns            (2 %)
        tran: time = 128.1 ns      (64 %), step = 4 ns            (2 %)
        tran: time = 136.1 ns      (68 %), step = 4 ns            (2 %)
        tran: time = 148.1 ns      (74 %), step = 4 ns            (2 %)
        tran: time = 156.1 ns      (78 %), step = 4 ns            (2 %)
        tran: time = 168.1 ns      (84 %), step = 4 ns            (2 %)
        tran: time = 176.1 ns      (88 %), step = 4 ns            (2 %)
        tran: time = 188.1 ns      (94 %), step = 4 ns            (2 %)
        tran: time = 196.1 ns      (98 %), step = 4 ns            (2 %)
    Number of accepted tran steps =             61
    Initial condition solution time: CPU = 1 ms, elapsed = 256.062 us.
    Intrinsic tran analysis time:    CPU = 2 ms, elapsed = 3.15404 ms.
    Total time required for tran analysis `tran': CPU = 4 ms, elapsed = 8.13818 ms.
    Time accumulated: CPU = 224.965 ms, elapsed = 1.01592 s.
    Peak resident memory used = 59.1 Mbytes.

    finalTimeOP: writing operating point information to rawfile.
    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. 

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

     Dear all,

    I have another result when I modified the options under the transient analysis tab, but I need more explination to why the results are different now, please check the file.

    This is the netlist file

    // Generated for: spectre
    // Generated on: Apr  1 14:36:52 2014
    // Design library name: Chua3
    // Design cell name: rc
    // Design view name: schematic
    simulator lang=spectre
    global 0
    include "/CMC/kits/cmosp13.V1.8.0.0DM/IBM_PDK/cmrf8sf/V1.8.0.4DM/Spectre/models/design.scs"
    include "/CMC/kits/cmosp13.V1.8.0.0DM/IBM_PDK/cmrf8sf/V1.8.0.4DM/Spectre/models/allModels.scs" section=tt

    // Library name: Chua3
    // Cell name: rc
    // View name: schematic
    R0 (net03 net04) resistor r=10
    C0 (net04 0) capacitor c=10n
    V0 (net03 0) vsource type=pulse val0=10 val1=0 period=400n delay=0 rise=1p \
            fall=1p width=200n
    ic net04=0
    simulatorOptions options reltol=1e-3 vabstol=1e-6 iabstol=1e-12 temp=27 \
        tnom=25 scalem=1.0 scale=1.0 gmin=1e-12 rforce=1 maxnotes=5 maxwarns=5 \
        digits=5 cols=80 pivrel=1e-3 sensfile="../psf/sens.output" \
        checklimitdest=psf
    tran tran stop=200e-9 errpreset=moderate ic=dc skipdc=no \
        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 V0:p V0:p
    saveOptions options save=allpub 

    Thanks

     

    • RC test - Modified.png
    • View
    • Hide
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Sali
    Sali over 11 years ago

     Dear all,

    I tried another example but this time with a DC source it didn't work properly until I changed the options under the transient analysis tab.

    The circuit and netlist is attached below.

    Thank you in advance,

     

    The netlist:

    // Generated for: spectre
    // Generated on: Apr  1 14:27:58 2014
    // Design library name: Chua3
    // Design cell name: rc2
    // Design view name: schematic
    simulator lang=spectre
    global 0
    include "/CMC/kits/cmosp13.V1.8.0.0DM/IBM_PDK/cmrf8sf/V1.8.0.4DM/Spectre/models/design.scs"
    include "/CMC/kits/cmosp13.V1.8.0.0DM/IBM_PDK/cmrf8sf/V1.8.0.4DM/Spectre/models/allModels.scs" section=tt

    // Library name: Chua3
    // Cell name: rc2
    // View name: schematic
    R0 (net03 net04) resistor r=1
    V0 (net03 0) vsource dc=8 type=dc
    C1 (net04 0) capacitor c=10n ic=0
    ic net04=0
    simulatorOptions options reltol=1e-3 vabstol=1e-6 iabstol=1e-12 temp=27 \
        tnom=25 scalem=1.0 scale=1.0 gmin=1e-12 rforce=1 maxnotes=5 maxwarns=5 \
        digits=5 cols=80 pivrel=1e-3 sensfile="../psf/sens.output" \
        checklimitdest=psf
    tran tran stop=60e-9 errpreset=moderate ic=all skipdc=yes \
        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
    saveOptions options save=allpub 

     

    • RC DC source.png
    • View
    • Hide
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Marc Heise
    Marc Heise over 11 years ago

     Hi Sali,

     

    the simulator works properly in alll the cases you've shown, it just not delivered the results you expected. Ofcourse
    their might be bugs from time to time, but when something like this is happening it is a good idea to first question
    your expectations.

    The last netlist works as you expected since you've pprovided that nodeset to net04, forcing a DC solution onto the simulator. In all other cases the simulator has to find it's own solution. A capacitor is treated as an open when looking for a DC solution, since
    that won't work in your circuit  the simulator uses the "rforce" paramater and replaces the cap with a 1 Ohm resistor.  10 Ohm and
    1 Ohm in series with a 10V voltage source delivers exactly what you see  as starting point in the simulations.

    As circuit designer it is essential to understand your simulator as well as  having an expectations on the results and keep questioning both. 

     

    Regards,

    Marc

     

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

    Thank you so much Marc for your help and support, I'm going to check the "rforce" parameter and do the simulation again.

    Best regards,

    Sali 

    • 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