A module to extract electrical parameter from the design. More...
Electrical extraction runs through layout->extractionTool, an extractionModule. calcResistance takes one polygon and two edge indices as ports and returns a dimensionless factor you multiply by sheet resistance. extractComponent pulls a named device from a component library; removeExtractedDevices deletes devices that a previous extract created. Inductance uses a list of conductors: inductanceClear, then inductanceAdd or inductanceAddSelection (paths are treated as in-plane current, polygons as current through the plane), then inductanceCalc at a frequency. inductanceResult returns self inductance when both conductor indices are equal and mutual coupling otherwise. The example below extracts two metal layers as two conductors and prints the self inductance of the first in nanohenry.
Example:
// setup and performs the extraction
layout->extractionTool->inductanceClear();
layout->drawing->deselectAll();
layout->drawing->activeLayer=1;
layout->drawing->selectActiveLayer();
layout->extractionTool->inductanceAddSelection();
layout->drawing->deselectAll();
layout->drawing->activeLayer=6;
layout->drawing->selectActiveLayer();
layout->extractionTool->inductanceAddSelection();
layout->drawing->deselectAll();
layout->extractionTool->inductanceCalc(1000000);
debug("output self inductance in nH");
debug(layout->extractionTool->inductanceResult(0,0)*1000000000); //output in nH
Computes the resistance of one polygon p. port1 and port2 are edge indices: 1 uses the segment from point 1 to point 2 as a port.
| Parameter: | |
|---|---|
| p | polygon |
| port1 | first port segment index |
| port2 | second port segment index |
Returns: a dimensionless square count; multiply by sheet resistance for ohms.
Extracts the component comp using extraction data stored in library lib.
Adds shape to conductor conductorNum. Paths are treated as current in the drawing plane; polygons as current through the plane. The shortest path through the conductor is assumed.
| Parameter: | |
|---|---|
| shape | shape added to the conductor |
| conductorNum | conductor index |
Adds all selected shapes as a new conductor.
Runs the inductance calculation at frequency hertz (default 1e6).
Removes every shape previously added for inductance.
Returns: self inductance when con1 equals con2, otherwise mutual coupling.
// setup and performs the extraction
layout->extractionTool->inductanceClear();
layout->drawing->deselectAll();
layout->drawing->activeLayer=1;
layout->drawing->selectActiveLayer();
layout->extractionTool->inductanceAddSelection();
layout->drawing->deselectAll();
layout->drawing->activeLayer=6;
layout->drawing->selectActiveLayer();
layout->extractionTool->inductanceAddSelection();
layout->drawing->deselectAll();
layout->extractionTool->inductanceCalc(1000000);
debug("output self inductance in nH");
debug(layout->extractionTool->inductanceResult(0,0)*1000000000); //output in nH
Removes devices created by a previous extract from the current cell, including device cells that are no longer used.
Sets how finely resistance is meshed. Allowed values run from 0 (fastest) to 100 (most detailed).