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.

[SOLVED] Calibre xRC Extraction Accuracy for a CapDAC of a SAR ADC

Status
Not open for further replies.

nitishn5

Full Member level 6
Joined
Mar 27, 2011
Messages
365
Helped
91
Reputation
184
Reaction score
98
Trophy points
1,308
Location
Bangalore, India, India
Activity points
4,129
Hi,

We are designing a 12bit SAR ADC with a Capacitive DAC. The capacitor values after layout are critical as the parasitics also need to be in proportion.
We have also ensured that in layout, at all levels of the hierarchy, there is no routing or anything coming close to 10u, or above the main CapDAC capacitor array.
We are using Calibre xRC for extraction, extracting C+CC in Transistor Level.

We got the following questions while doing some experiments.
  1. Is Calibre xRC accurate enough for a 12bit ADC? This requires accuracy of extraction of coupling capacitors of the order of 1/4096 ~ 0.025%
    Others seem to have used Assura or StarRC for similar designs with good results.

  2. While extracting at different levels in the hierarchy, we are getting different values for the coupling capacitances. And it is not monotonic from lower to higher levels.
    Do Rule Based extractors like Calibre xRC have some trade off between the size of the circuit and extraction accuracy?
Please help.

Cheers.
 
1. Neither Calibre PEX, not any other industry-standard extraction tools, using rule-based (pattern-matching) extraction, can guarantee extraction accuracy for capacitance that is sufficient for precision analog designs, such as 12-bit data converters.

2. Very roughly speaking - in rule-based extraction, the total capaictance of large nets can be accurate within a few percents, small nets (few fF and less) - within few tens of percents, and small capacitive couplings (very roughly, less than fF, or less than ~1% of the total net capacitance) can be missed completely or be very inaccurate.

3. There are many settings in parasitic extraction that affect the accuracy of the capacitance extraction. As an example - extraction tools can "decouple", i.e. replace coupling capacitances by grounded capacitances, if they are small enough. This can get very tricky.
However, there are basic, fundamental limitations, for extraction accuracy of rule-based extraction.

4. The best way to achieve a high accuracy of capacitance extraction is to use a "field solver" - a first-principle technique to calculate parastiic capacitances, though rigorous solution of (Laplace) equation for the electrostatic potential.
In the industry-standard extraction tools (StarRC, Quantus QRC, Calibre PEX,...), field solver can be turned on by a single command in command file for parasitic extraction. There may be be few more commands to control some details - such as what nets to extract, required accuracy, etc.

Field solvers take more time than rule-based extraction, but they can achieve very high accuracy.
Random-walk field solvers (built-in in StarRC and QRC, also QuickCap, and some other extraction tools) can achieve accuracy of 0.01% or better - and he required accuracy can be specified upfront. (the higher the desired accuracy - the longer the extraction time).
The tradeoff here is extraction time vs accuracy.
You want to improve accuracy by 2x - you need to wait 4x longer, until random walk algorithm achieves that accuracy.

Rule-based extraction does not allow such control (accuracy vs extraction time vs circuit size).

Please note that Calibre PEX does not have random walk field solver, it uses deterministic field solver, where error cannot be estimated and controlled.

5. Regarding extraction results being dependent on hierarchy - this in an expected effect. Higher hierarchy introduces more metals (more layers, and more "neighbors), net shapes may become different, context/neighbors may become different, etc.
Also, there are other factors that might affect the results - such as presence of floating metal fills.

There are some settings that can make extraction faster, or less accurate, or generate a smaller size netlist - but these commands should be used with great care (i.e. you need to know what you are doing), otherwise the results may become completely useless, not accurate.
 
That's true that Calibre xACT 3D is a deterministic field solver. It's accuracy can be controlled by the fieldsolver mode, either mode 200, 600 or MEMS. Going towards MEMS gives you higher accuracy by allocating more grid lines.
 

"deterministic solver" term needs some clarification.

If you change meshing a little bit (like in any mesh-based field solver / simulator), the results may change in an unpredictable, non-deterministic way.
Also, the error in such solver is not deterministic.
You cannot tell such solver "give me an error less than X% (or X fF)" - unlike in the case of random-walk field solver.

Can you explain how these settings - 200, 600, etc. - translate into the accuracy of simulation (let's say, capacitance), in terms of % or fF?
 

You cannot tell such solver "give me an error less than X% (or X fF)" - unlike in the case of random-walk field solver.

Can you explain how these settings - 200, 600, etc. - translate into the accuracy of simulation (let's say, capacitance), in terms of % or fF?

This is exactly the problem we were facing. The documentation for the tool does not explain much.
And those numbers 200/600 are also not explained in terms of accuracy numbers anywhere.
We had called the Calibre support, but the best we got out of them was that xACT is better than XRC and the 600 is better than 200. There are no concrete numbers on how much accuracy we can expect.

Others seem to have used tools like Assura and StarRC in rule-based mode to accurately extract for 12bit ADCs. Does this imply that Calibre is possibly poorer in accuracy than these tools?
 

This is exactly the problem we were facing. The documentation for the tool does not explain much.
And those numbers 200/600 are also not explained in terms of accuracy numbers anywhere.
We had called the Calibre support, but the best we got out of them was that xACT is better than XRC and the 600 is better than 200. There are no concrete numbers on how much accuracy we can expect.

Others seem to have used tools like Assura and StarRC in rule-based mode to accurately extract for 12bit ADCs. Does this imply that Calibre is possibly poorer in accuracy than these tools?

Your experience is not unique.

In general, StarRC and Quantus QRC documentation is much better than that for Calibre PEX.
But even StarRC and QRC documentation do not explain all the important details.
Calibre PEX suffers not only from poor documentation, but also from frequent inconsistent changes of tool name, tool behavior, GUI options, etc.

Rule-based extraction in all tools is not very accurate, definitely not accurate enough for 12bit ADC.
Can you use field solver, for capacitance extraction?
That would be my strong suggestion.
 

    nitishn5

    Points: 2
    Helpful Answer Positive Rating
Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top