Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

double counting of MOM capacitors in extracted views

Status
Not open for further replies.

sutapanaki

Advanced Member level 4
Advanced Member level 4
Joined
Nov 2, 2001
Messages
1,346
Helped
524
Reputation
1,050
Reaction score
489
Trophy points
1,363
Location
US
Activity points
11,153
Hi,

I use Calibre for LVS and QRC for parasitic extraction. As it turns out, this results in double counting of MOM capacitors. QRC treats them as parasitcs and at the same time mom capacitor cells are included in the netlist as any other regular device in the design. Any hint on how to get around this double counting?

Thanks
 

Look at the extract rules (if not encrypted) for any recognition / disregard logic ( like use of capacitor/drawing layer over a drawn MOM bed). A foundry PDK Pcell ought to be an example of use, if such exists.
 

Mom caps should be covered by virtual layer. So, the question is whether calibre does not remove information on this layer from lvs svdb output, or if qrc has not defining it?
Look for momcap layer within qrc rules and svdb files.

You may try to compare lvs or extraction rules for various tools if your PDK is providing them.

The last thing, maybe there are a switches for lvs/extraction which has to be use to get proper treatment of momcap?
 

You ask for a workaround?
Here it is -
go to CCI database (usually in "query_output" directory, but the directory name can be different), find a netlist file (usually has an extension *.nl or *_pin_xy.spi), comment out lines defining MOM capacitors, and rerun parasitic extraction. The instances will be gone from the post-layout netlist (use DSPF output, not extracted view, to see it in a text file).
 

In the Calibre Extraction window, in the inputs section, there will be a tab for including a HCELL and XCELL files.
These files contain the basic blocks which you might not want to extract. You would want to include that file with the MOM and MIM cap model names put in it.

This should solve your problem.

The original hcell/xcell file should be available in your pdk folder. (PDK/Calibre/rcx/*) or (PDK/Calibre/lvs/*)
Please note that there might be some particular format for this though. Just refer to the file in the PDK folder.
 

You ask for a workaround?
Here it is -
go to CCI database (usually in "query_output" directory, but the directory name can be different), find a netlist file (usually has an extension *.nl or *_pin_xy.spi), comment out lines defining MOM capacitors, and rerun parasitic extraction. The instances will be gone from the post-layout netlist (use DSPF output, not extracted view, to see it in a text file).

I would ultimately want to use the extracted view not dspf. Will your suggestion work for the extracted view? Also, not quite clear how to find the CCI databease.
--- Updated ---

In the Calibre Extraction window, in the inputs section, there will be a tab for including a HCELL and XCELL files.
These files contain the basic blocks which you might not want to extract. You would want to include that file with the MOM and MIM cap model names put in it.

This should solve your problem.

The original hcell/xcell file should be available in your pdk folder. (PDK/Calibre/rcx/*) or (PDK/Calibre/lvs/*)
Please note that there might be some particular format for this though. Just refer to the file in the PDK folder.

I am using QRC for extraction, not Calibre. One can specify the hcell file in QRC too but unfortunately it doesn't work. Still double counting.
 

Ah...
Then we have the tried and tested method of commenting out the double counts in the netlist...!
I used to do that for an CAPDAC ADC we were doing, till we found the above solution.

We did it on the main pex netlist (*.pex.nelist) and not on the extracted cap values file(*.pxi) that is included in the netlist.
This way the instance names were consistent with the schematic and we can quickly comment them out.

PS, the extracted cap values in the .pxi file will actually contain the actual cap (the double count) along with the parasitic from the routing(which is what we want)
 

You ask for a workaround?
Here it is -
go to CCI database (usually in "query_output" directory, but the directory name can be different), find a netlist file (usually has an extension *.nl or *_pin_xy.spi), comment out lines defining MOM capacitors, and rerun parasitic extraction. The instances will be gone from the post-layout netlist (use DSPF output, not extracted view, to see it in a text file).

If I comment the crtmom instances in the *_pin_xy.spi and rerun QRC extraction, then QRC exits with error saying that the devices found in the AGF file are not in the .spi file.
 

Have you inspected the capacitance extraction logic to see
whether this is a matter of a missing recognition layer, yet?

Have you tried to inspect behavior of "known good foundry
PDK MOM PCells", if any, in the same / similar "testbed"?

These go to the "why?", which you might care about if you
plan to use this PDK in this way, again.

If you are satisfied of the accuracy of MOM cap values, then
maybe the way through it is to represent those MOM caps as
pcapacitors, with a manual value- and connectivity-check to
provide confidence (as pcapacitors netlist to open circuit from
schematic, so a missed MOM-cap connection would pass LVS -
so use a functional simulation from av_extracted, that would fail
for an open cap, to validate final hookup). I've done this for
"flying circuit blocks" that connect only to pads, and to the
low side circuitry by MOM caps (unsupported in PDK as a
library element altogether, as it happened). Do what you
gotta do.
 

Ah...
Then we have the tried and tested method of commenting out the double counts in the netlist...!
I used to do that for an CAPDAC ADC we were doing, till we found the above solution.

We did it on the main pex netlist (*.pex.nelist) and not on the extracted cap values file(*.pxi) that is included in the netlist.
This way the instance names were consistent with the schematic and we can quickly comment them out.

PS, the extracted cap values in the .pxi file will actually contain the actual cap (the double count) along with the parasitic from the routing(which is what we want)


I am afraid I will need some more details on your previous comment. I don't see niether *.pex.netlist nor *.pexi files in the svdb directory. The only netlist kind of file is with extension .spi.
 

I am afraid I will need some more details on your previous comment. I don't see niether *.pex.netlist nor *.pexi files in the svdb directory. The only netlist kind of file is with extension .spi.

The SVDB directory is created by Calibre -- because you are running QRC rather than xRC or xACT, it won't have the parasitic files (.pex.netlist, .pxi).
 

Maybe false path. Have you any cdl netlist in PDK QRC directory? I remember that some process needs extra definitions for some devices. Or maybe it should be included during lvs, unsure now.
 

Maybe false path. Have you any cdl netlist in PDK QRC directory? I remember that some process needs extra definitions for some devices. Or maybe it should be included during lvs, unsure now.

There is a separate CDL directory as a result of the Calibre LVS.
 

> I would ultimately want to use the extracted view not dspf. Will your suggestion work for the extracted view? Also, not quite clear how to find the CCI databease.

The output file format - whether DSPF, SPEF, extracted view, etc. - does not matter.
Extraction results will be (almost) the same, for all file formats.
--- Updated ---

If I comment the crtmom instances in the *_pin_xy.spi and rerun QRC extraction, then QRC exits with error saying that the devices found in the AGF file are not in the .spi file.

It worked for me, but I was using an extraction tool different from QRC.

Try commenting out the instances for the MOM capacitor unit in the CDL netlist, before you run Calibre LVS / query server.
You may have to also delete the device recognition layer for MOMCAPs (MOMCAP ID layer?) in the GDS file.
 
Last edited:

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top