|
|
This section describes the Bartels User Language index variable types for the IC Design data access (ICD). I_ATTRIBUTE - IC Design Net List AttributeThe I_ATTRIBUTE index variable type provides access to the connection list part or net attributes of the currently loaded IC layout. The structure definition of I_ATTRIBUTE is: index I_ATTRIBUTE { // Attribute Index string NAME; // Attribute Name string VALUE; // Attribute Value }; I_CNET - IC Design Net ListThe I_CNET index variable type provides access to the connection list nets of the currently loaded IC layout. The structure definition of I_CNET is: index I_CNET { // Connection List Net Index string NAME; // Net Name int NUMBER; // Net Tree Number int PRIOR; // Net Routing Priority double RDIST; // Net Minimum Distance (STD2) int PINN; // Net Pin Count index I_CPIN; // Net Pin List index I_ATTRIBUTE; // Net Attribute List index I_POOL UNRPOOL; // Link to Unroutes Pool Element }; The net tree number is used for identifying the net. The
icd_gettreeidx function provides access to the
I_CNET index for a given net tree number. The minimum distance applies to the traces of the net; this distance must at minimum be kept to copper structures not belonging to the corresponding net. The net pin and/or attribute list can be accessed through a corresponding
I_CPART - IC Design Net List Part EntryThe I_CPART index variable type provides access to the connection list parts of the currently loaded IC layout. The structure definition of I_CPART is: index I_CPART { // Connection List Part Index string NAME; // Part Name string PLNAME; // Part Physical Library Name int USED; // Part Placement Code: // 0 = Part not placed // 1 = Part placed int PEQUC; // Part Equivalence Code int PINN; // Part Pin Count int FPINN; // Part Free Pin Count index I_MACRO MACRO; // Link to Macro index I_CPIN; // Part Pin List index I_ATTRIBUTE; // Part Attribute List }; The part pin and/or attribute lists can be accessed through corresponding
I_CPIN - IC Design Net List Part Pin EntryThe I_CPIN index variable type provides access to the connection list part pins of the currently loaded IC layout. The structure definition of I_CPIN is: index I_CPIN { // Net List Pin Index string NAME; // Pin Name double RWIDTH; // Pin Routing Width (STD2) int TREE; // Pin Net Tree Number int GATE; // Pin Gate Number int GEQUC; // Pin Gate Equivalence Code int GEQUP; // Pin Equivalence Code int GGRPC; // Pin Gate Group Number int GPNUM; // Pin Gate Relative Number index I_CNET CNET; // Link to Pin Net index I_CPART CPART; // Link to Pin Part }; The pin routing width defines the width for routing to the next connection point. The
I_FIGURE - IC Design Figure ElementThe index variable type I_FIGURE provides access to all placed figure elements (polygons, traces, macro references, texts) of the currently loaded IC Design element. The structure definition of I_FIGURE is: index I_FIGURE { // Figure Element Index int TYP; // Element Type (CAP3) string NAME; // Element Name double SIZE; // Element Size (STD2) double X; // Element X Coordinate (STD2) double Y; // Element Y Coordinate (STD2) double ANGLE; // Element Rotation Angle (STD3) int MIRROR; // Element Mirror Mode (STD14) int LAYER; // Element Layer (ICD1) int GROUP; // Element Group Flag (STD13) int FIXED; // Element Fixed Flag (STD11) int TREE; // Element Net Tree Number int RULEOBJID; // Element Rule System Object Id index I_POOL POOL; // Link to Pool Element index I_POLY POLY; // Link to Polygon Element index I_LINE LINE; // Link to Trace Element index I_NREF NREF; // Link to Macro Reference (named) index I_UREF UREF; // Link to Macro Reference (unnamed) index I_TEXT TEXT; // Link to Text Element }; The
I_LEVEL - IC Design Signal LevelThe I_LEVEL index variable type provides access to the connectivity levels, i.e., the net list and/or signal levels of the currently loaded IC layout. The structure definition of I_LEVEL is: index I_LEVEL { // Connectivity Level Index int LEVVAL; // Level Value (ICD6) }; I_LINE - IC Design TraceThe I_LINE index variable type provides access to the path and/or trace data defined on the currently loaded IC layout. The structure definition of I_LINE is: index I_LINE { // Line Path Index double WIDTH; // Line Path Width (STD2) int LAYER; // Line Path Layer (ICD1) int TREE; // Line Path Tree Number int PN; // Line Path Point Count index I_POINT; // Line Path Point List }; I_MACRO - IC Design Library ElementThe I_MACRO index variable type provides access to the macros, i.e., the library elements (cell, pin) used on the currently loaded IC Design element. The structure definition of I_MACRO is: index I_MACRO { // Macro Definition Index string NAME; // Macro Name double MLX; // Left Macro Border (STD2) double MLY; // Lower Macro Border (STD2) double MUX; // Right Macro Border (STD2) double MUY; // Upper Macro Border (STD2) double MNX; // Macro Origin X Coordinate (STD2) double MNY; // Macro Origin Y Coordinate (STD2) int CLASS; // Macro Class Code (STD1) int COMP; // Macro Status (STD16) }; I_NREF - IC Design Named Macro ReferenceThe I_NREF index variable type provides access to the named macro references, i.e., the name-specified library elements placed on the currently loaded element. These are cells on IC layout hierarchy level or pin on cell hierarchy level. The structure definition of I_NREF is: index I_NREF { // Named Reference Index string NAME; // Reference Name double X; // Reference X Coordinate (STD2) double Y; // Reference Y Coordinate (STD2) double ANGLE; // Reference Rotation Angle (STD3) double SCALE; // Reference Scale Factor int MIRROR; // Reference Mirror Flag (STD14) index I_MACRO MACRO; // Link to Macro }; The
I_POINT - IC Design Polygon PointThe I_POINT index variable type provides access to the polygon points of a specific polygon or trace element. The structure definition of I_POINT is: index I_POINT { // Polygon Point Index double X; // Polygon Point X Coordinate (STD2) double Y; // Polygon Point Y Coordinate (STD2) int TYP; // Polygon Point Type (STD15) }; The
I_POINT index can only be applied as
I_POLY - IC Design PolygonThe I_POLY index variable type provides access to the polygons (active areas, forbidden areas, outline, documentary lines) defined on the currently loaded IC Design element. The structure definition of I_POLY is: index I_POLY { // Polygon Index int LAYER; // Polygon Layer (ICD1) int TREE; // Polygon Net Tree Number int TYP; // Polygon Type (ICD4) int MVIS; // Polygon Mirror Mode (ICD3) int PN; // Polygon Point Count index I_POINT; // Polygon Point List }; The polygon net tree number is only valid for active areas. The icd_scanfelem and/or icd_scanall function must be used to check the signal level of passive copper. I_POOL - IC Design Pool ElementThe I_POOL index variable type provides access to the currently loaded pool elements. The structure definition of I_POOL is: index I_POOL { // Pool Element Index int TYP; // Pool Element Type (ICD7) int REFCNT; // Pool Element Reference Count int LAYER; // Pool Element Layer (ICD1) index I_POOL NXT; // Link to Next Pool Element index I_POOL REF; // Link to Reference Pool Element index I_POLY POLY; // Link to Polygon Element index I_LINE LINE; // Link to Trace Element index I_NREF NREF; // Link to Macro Reference (named) index I_UREF UREF; // Link to Macro Reference (unnamed) index I_TEXT TEXT; // Link to Text Element index I_MACRO MACRO; // Link to Library Element }; The
I_POOL index is used for processing library definitions with the
icd_scanpool system function. The
I_TEXT - IC Design TextThe I_TEXT index variable type provides access to text data defined on the currently loaded IC Design element. The structure definition of I_TEXT is: index I_TEXT { // Text Index string STR; // Text String double X; // Text X Coordinate (STD2) double Y; // Text Y Coordinate (STD2) double ANGLE; // Text Rotation Angle (STD3) double SIZE; // Text Size (STD2) int LAYER; // Text Layer (ICD1) int MIRROR; // Text Mirror Flag (STD14) int MODE; // Text Mode (ICD2) }; I_UREF - IC Design Unnamed Macro ReferenceThe I_UREF index variable type provides access to the unnamed macro references, i.e., the library elements placed on the currently loaded element without name specification. These are vias on IC layout hierarchy level. The structure definition of I_UREF is: index I_UREF { // Unnamed Reference Index int TREE; // Reference Net Tree Number double X; // Reference X Coordinate (STD2) double Y; // Reference Y Coordinate (STD2) double ANGLE; // Reference Rotation Angle (STD3) double SCALE; // Reference Scale Factor int MIRROR; // Reference Mirror Flag (STD14) index I_MACRO MACRO; // Link to Macro }; The
IC Design Index Description (ICD) |
|