The Designer's Guide Community Forum
https://designers-guide.org/forum/YaBB.pl
Modeling >> Semiconductor Devices >> how to print node-to-node capacitance?
https://designers-guide.org/forum/YaBB.pl?num=1295392494

Message started by c1000 on Jan 18th, 2011, 3:14pm

Title: how to print node-to-node capacitance?
Post by c1000 on Jan 18th, 2011, 3:14pm



   I'm trying to find a way in spectre to calculate the capacitance between every two terminals of a transistor (I hope it exists).

   In Spectre users' Guide, info could be used to print node-to-node capacitance.

   ************************************************** ******************************
   Inputsweep1 sweep param=dc dev=vg start=Vgnd stop=Vdd step=0.05 {
   Inputsweep2 dc param=dc dev=vd start=Vgnd stop=Vdd step=0.05
   }
   sweepInfo info what=captab where=file file="capNodes" detail=nodetonode

   ************************************************** ***********************************8

   I expected I could get a capacitance list for every vd and vg combination,however unfortunately I just got the following text:

   My questions are:

   1: what's the meaning of 'n1:dbnode', 'n1:dbnode', and 'n2:dbnode'? I didn't have instance 'n2' inthe netlist...

   2: how to get the node-to-node capacitances with respect to terminal voltages?

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

   ******************************
   3 Capacitance Table `sweepInfo':
   4 ******************************
   5 Capacitance values computed in info analysis `sweepInfo' at T = 27 C.
   6
   7 n2:dbnode : n1:dbnode fixed=0 , variable=53.4296 a ,
   sum=53.4296 a .
   8 n1:dbnode : 0 fixed=0 , variable=0 ,
   sum=0 .
   9 n1:dbnode : n1:int_b fixed=-0 , variable=0 ,
   sum=-0 .
   10 n1:dbnode : vd fixed=-0 , variable=53.4296 a ,
   sum=53.4296 a .
   11 n1:dbnode : vss fixed=-0 , variable=0 ,
   sum=-0 .
   12
   13 n1:int_b : n1:int_b fixed=576e-21 , variable=8.87769 a ,
   sum=9.45369 a .
   14 n1:int_b : 0 fixed=0 , variable=0 ,
   sum=0 .
   15 n1:int_b : n1:dbnode fixed=-0 , variable=0 ,
   sum=-0 .
   16 n1:int_b : n1:int_g fixed=576e-21 , variable=10.777 a ,
   sum=11.353 a .
   17 n1:int_b : n1:sbnode fixed=-0 , variable=0 ,
   sum=-0 .
   18 n1:int_b : vd fixed=-0 , variable=-423.98e-21 ,
   sum=-423.98e-21 .
   19 n1:int_b : vg fixed=-0 , variable=0 ,
   sum=-0 .
   20 n1:int_b : vs fixed=-0 , variable=-1.47531 a ,
   sum=-1.47531 a .
   21 n1:int_b : vss fixed=-0 , variable=0 ,
   sum=-0 .
   22
   23 n1:int_g : n1:int_g fixed=53.6817 a , variable=91.0626 a ,
   sum=144.744 a .
   24 n1:int_g : 0 fixed=0 , variable=0 ,
   sum=0 .
   25 n1:int_g : n1:int_b fixed=576e-21 , variable=247.452e-21 ,
   sum=823.452e-21 .
   26 n1:int_g : vd fixed=26.5528 a , variable=16.6791 a ,
   sum=43.232 a .
   27 n1:int_g : vg fixed=-0 , variable=0 ,
   sum=-0 .
   28 n1:int_g : vs fixed=26.5528 a , variable=74.136 a ,
   sum=100.689 a .
   29
   30 n1:sbnode : n1:sbnode fixed=0 , variable=113.911 a ,
   sum=113.911 a .
   31 n1:sbnode : 0 fixed=0 , variable=0 ,
   sum=0 .
   32 n1:sbnode : n1:int_b fixed=-0 , variable=0 ,
   sum=-0 .
   33 n1:sbnode : vs fixed=-0 , variable=113.911 a ,
   sum=113.911 a .
   34 n1:sbnode : vss fixed=-0 , variable=0 ,
   sum=-0 .
   35
   36 vb : vb fixed=0 , variable=0 , sum=0 .
   37 vb : 0 fixed=0 , variable=0 , sum=0 .
   38
   39 vd : vd fixed=26.5528 a , variable=72.2212 a , sum=98.774 a .
   40 vd : 0 fixed=0 , variable=0 , sum=0 .
   41 vd : n1:dbnode fixed=-0 , variable=53.4296 a ,
   sum=53.4296 a .
   42 vd : n1:int_b fixed=-0 , variable=3.45385 a ,
   sum=3.45385 a .
   43 vd : n1:int_g fixed=26.5528 a , variable=31.758 a ,
   sum=58.3108 a .
   44 vd : vg fixed=-0 , variable=0 , sum=-0 .
   45 vd : vs fixed=-0 , variable=-16.4203 a , sum=-16.4203 a .
   46
   47 vdd : vdd fixed=0 , variable=0 ,
   sum=0 .
   48 vdd : 0 fixed=0 , variable=0 , sum=0 .
   49
   50 vg : vg fixed=0 , variable=0 , sum=0 .
   51 vg : 0 fixed=0 , variable=0 , sum=0 .
   52 vg : n1:int_b fixed=-0 , variable=0 ,
   sum=-0 .
   53 vg : n1:int_g fixed=-0 , variable=0 ,
   sum=-0 .
   54 vg : vd fixed=-0 , variable=0 , sum=-0 .
   55 vg : vs fixed=-0 , variable=0 , sum=-0 .
   56
   57 vs : vs fixed=26.5528 a , variable=170.151 a , sum=196.704 a .
   58 vs : 0 fixed=0 , variable=0 , sum=0 .
   59 vs : n1:int_b fixed=-0 , variable=5.17639 a ,
   sum=5.17639 a .
   60 vs : n1:int_g fixed=26.5528 a , variable=48.5276 a ,
   sum=75.0804 a .
   61 vs : n1:sbnode fixed=-0 , variable=113.911 a ,
   sum=113.911 a .

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

Title: Re: how to print node-to-node capacitance?
Post by wave on Jan 18th, 2011, 3:27pm

Hi - From your post, it's not clear if you can't figure out how to generate the table; or if that's a table you created that you cannot interpret.

In Spectre, Transient simulator (somewhere under options), there is "captab", which is the Capacitance Table.  This is a useful feature.

There are options for a min. cap threshold, ie 10 fF.
(do you really need 3 aF ?)  As well as node-node option.

I think the list below is a standard nodal netlist, perhaps with hierarchy, if you check your schematic closely.

The text output file can be further imported & filtered as desired.

Good luck.
Wave   8-)

PS - Ken may move this to simulators or another section.


Title: Re: how to print node-to-node capacitance?
Post by c1000 on Jan 18th, 2011, 3:36pm

Thanks a lot!
I can't figure out how to get the capacitance table.
I need to get the capacitance table with  respect to Vg and Vd of a device. So I'm wondering whether I can put info inside sweep analysis such that I can get the table. I tried but failed.

Title: Re: how to print node-to-node capacitance?
Post by wave on Jan 19th, 2011, 12:04am

"I can't figure out how to get the capacitance table."

Look under ADE, right side pull down menu's.
It's a Print file/captab if I recall...

:)

Title: Re: how to print node-to-node capacitance?
Post by c1000 on Jan 19th, 2011, 1:25am

I'm using 45nm technology, but I can't add this technology to cadence, so now I always use spectre command or Ocean to simulate.......

After specifying the file path and name, the cap values will be listed in the file, however, there is just one value for any type of cap, not a table for different vg and vd as I sweep in the netlist.

Title: Re: how to print node-to-node capacitance?
Post by Geoffrey_Coram on Jan 19th, 2011, 6:01am

I have the impression that captab gives you the table at an operating point.  If you want the capacitance during a sweep, you might need to use output parameters like cgg, cdd -- or use an ac source and measure the imaginary current.

Title: Re: how to print node-to-node capacitance?
Post by RealM on Jan 23rd, 2011, 9:56pm


Geoffrey_Coram wrote on Jan 19th, 2011, 6:01am:
I have the impression that captab gives you the table at an operating point.  If you want the capacitance during a sweep, you might need to use output parameters like cgg, cdd -- or use an ac source and measure the imaginary current.


Hi everybody.....I also need to calculate capacitance on node of digital circuit(CMOS Full adder) for energy calculation. The node is connected to source terminal of number of nmos and one drain of sleep transistor. Do i simply add the capacitance shown by captab analysis in spectre(cadence) ?????also there is captab in Hspice.

Title: Re: how to print node-to-node capacitance?
Post by RealM on Jan 23rd, 2011, 9:57pm

Hi everybody.....I also need to calculate capacitance on node of digital circuit(CMOS Full adder) for energy calculation. The node is connected to source terminal of number of nmos and one drain of sleep transistor. Do i simply add the capacitance shown by captab analysis in spectre(cadence) ?????also there is captab in Hspice.

Title: Re: how to print node-to-node capacitance?
Post by c1000 on Jan 24th, 2011, 2:11am

I checked the captab results and transient simulation cap results, they are same except one is negative the other is positive

so I think, yes

Title: Re: how to print node-to-node capacitance?
Post by RealM on Jan 24th, 2011, 5:09am


c1000 wrote on Jan 24th, 2011, 2:11am:
I checked the captab results and transient simulation cap results, they are same except one is negative the other is positive

so I think, yes


Would u please explain briefly your progress so that it will be helpful  for me too..I also need to calculate the node capacitance . i have done captab analysis in spectre. but i am confused whether it gives the total cap(diffusion,,intrinsic..and parasitic)???

Title: Re: how to print node-to-node capacitance?
Post by c1000 on Jan 24th, 2011, 2:10pm

The spectre script I used has been shown in the first post. although I used 2-D DCsweep, the captab only provide one set of capacitances which is corresponding to the last vg and vd value.

after dcsweep simulation, spectre would provide 19 capacitances with respect to all the swept vg and vd values. I found the cap values are same.

e.g. n1:int_g : n1:int_b means the cap between internal (transistor) gate to bulk cap. the value is equal to cgb shown after spectre simulation.
However, I'm not sure whether n1:int_g : n1:int_b is gate-bulk cap or the total cap between gate and ground since bulk is connected to ground.

Title: Re: how to print node-to-node capacitance?
Post by please87 on Jun 1st, 2015, 2:02am

Hello I also need the dccap and captab information.
I use ocean script and hspice simulator.
I did as in "http://community.cadence.com/cadence_technology_forums/f/48/t/21764"

Here is my ocean script:

;begin

resultsDir(...)
modelFile(...)

analysis('tran ?start "1u" ?stop "5u" ?step "10n" ?uic t )
option( 'TEMPDC "25.0"
   'DCCAP t
   'CAPTAB t )
temp( 25.0 )

run()
ocnPrint(pv("PAD_B : PAD_B" "total" ?result "tran_info-tran_info") ?output "hspice.out" )

;ocean end



However, the ciw said: "results "tran_info-tran_info" are not available."
Does anybody know what is the problem?
Or any comment about what I should do to query the cap table to text file by ocean?

The Designer's Guide Community Forum » Powered by YaBB 2.2.2!
YaBB © 2000-2008. All Rights Reserved.