|
|
Dieser Abschnitt beschreibt die in der Bartels User Language definierten Index-Variablen-Typen für den IC-Design Datenzugriff (ICD). I_ATTRIBUTE - IC-Design Netzlisteneintrag AttributÜber den Index I_ATTRIBUTE ist der Zugriff auf die in der Netzliste eingetragenen Bauteil- bzw. Netzattribute des aktuell geladenen IC-Layouts möglich. Die Strukturdefinition von I_ATTRIBUTE lautet: index I_ATTRIBUTE { // Attribut Index string NAME; // Attribut Name string VALUE; // Attribut Wert }; I_CNET - IC-Design NetzlisteÜber den Index I_CNET ist der Zugriff auf die in der Netzliste eingetragenen Netze des aktuell geladenen IC-Layouts möglich. Die Strukturdefinition von I_CNET lautet: index I_CNET { // Physikalische Netzliste Index string NAME; // Netz Name int NUMBER; // Netz Nummer int PRIOR; // Netz Routingpriorität double RDIST; // Netz Mindestabstand (STD2) int PINN; // Anzahl Pins index I_CPIN; // Liste der Pins index I_ATTRIBUTE; // Liste der Attribute index I_POOL UNRPOOL; // Verweis auf Unroutes Poolelement }; Die Netznummer wird allgemein zur Identifizierung eines Netzes herangezogen. Mit der Funktion
icd_gettreeidx kann ausgehend von der angegebenen Netznummer der entsprechende
I_CNET Index gefunden werden. Der Mindestabstand gibt die Distanz an, die Leiterbahnen dieses Netzes zu nicht dem entsprechenden Netz zugehörenden Kupferstrukturen mindestens einhalten müssen. Der Zugriff auf die zum Netz gehörenden Pins bzw. Attribute erfolgt über eine entsprechende
I_CPART - IC-Design Netzlisteneintrag BauteilÜber den Index I_CPART ist der Zugriff auf die in der Netzliste eingetragenen Bauteile des aktuell geladenen IC-Layouts möglich. Die Strukturdefinition von I_CPART lautet: index I_CPART { // Netzliste Bauteilindex string NAME; // Bauteil Name string PLNAME; // Physikalisches Bibliotheksteil int USED; // Bauteilplatzierungscode: // 0 = Bauteil nicht platziert // 1 = Bauteil platziert int PEQUC; // Bauteil Äquivalenz-Code int PINN; // Anzahl Pins int FPINN; // Anzahl nicht angeschlossene Pins index I_MACRO MACRO; // Verweis auf Makro index I_CPIN; // Liste der Pins index I_ATTRIBUTE; // Liste der Attribute }; Auf die Pinliste und die Attributwerte kann mit Hilfe von entsprechenden
I_CPIN - IC-Design Netzlisteneintrag BauteilpinÜber den Index I_CPIN ist der Zugriff auf die in der Netzliste eingetragenen Bauteilpins des aktuell geladenen IC-Layouts möglich. Die Strukturdefinition von I_CPIN lautet: index I_CPIN { // Netzliste Pin Index string NAME; // Pin Name double RWIDTH; // Pin Routingbreite (STD2) int TREE; // Pin Netznummer int GATE; // Pin Gatternummer int GEQUC; // Pin Gatter-Äquivalenz-Code int GEQUP; // Pin Äquivalenz-Code int GGRPC; // Pin Gatter-Gruppennummer int GPNUM; // Pin Gatter-Relativnummer index I_CNET CNET; // Verweis auf Netz index I_CPART CPART; // Verweis auf Bauteil }; Die Pin Routingbreite gibt die Breite an, mit der von dem Pin zum nächsten Verbindungspunkt geroutet werden soll. Über die Indexvariablen
I_FIGURE - IC Design FigurenelementÜber den Index I_FIGURE ist der Zugriff auf die platzierten Figurenelemente (Polygone, Leiterbahnen, Makroreferenzen, Texte) des aktuell geladenen Elements möglich. Die Strukturdefinition von I_FIGURE lautet: index I_FIGURE { // Figurenelement Index int TYP; // Element Typ (ICD5) string NAME; // Element Name double SIZE; // Element Größe (STD2) double X; // Element X-Koordinate (STD2) double Y; // Element Y-Koordinate (STD2) double ANGLE; // Element Drehwinkel (STD3) int MIRROR; // Element Spiegelung (STD14) int LAYER; // Element Lage (ICD1) int GROUP; // Element Gruppenflag (STD13) int FIXED; // Element Fixiert Flag (STD11) int TREE; // Element Netznummer int RULEOBJID; // Element Regelsystemobjekt-Id index I_POOL POOL; // Verweis auf Poolelement index I_POLY POLY; // Verweis auf Polygonelement index I_LINE LINE; // Verweis auf Leiterbahnelement index I_NREF NREF; // Verweis auf Makroreferenz (benannt) index I_UREF UREF; // Verweis auf Makroreferenz (unbenannt) index I_TEXT TEXT; // Verweis auf Textelement }; Die Indexvariable
I_LEVEL - IC Design SignalpotentialÜber den Index I_LEVEL ist der Zugriff auf die Connectivity-Level, d.h. auf die Netzlisten- bzw. Signalpotentiale des aktuell geladenen IC-Layouts möglich. Die Strukturdefinition von I_LEVEL lautet: index I_LEVEL { // Connectivity-Level Index int LEVVAL; // Level Wert (ICD6) }; I_LINE - IC Design LeiterbahnÜber den Index I_LINE ist der Zugriff auf die Leiterbahndaten des aktuell geladenen IC-Layouts möglich. Die Strukturdefinition von I_LINE lautet: index I_LINE { // Leiterbahn Index double WIDTH; // Leiterbahn Breite (STD2) int LAYER; // Leiterbahn Lage (ICD1) int TREE; // Leiterbahn Netznummer int PN; // Anzahl Polygonpunkte index I_POINT; // Liste der Polygonpunkte }; I_MACRO - IC Design BibliothekselementÜber den Index I_MACRO ist der Zugriff auf die Makros, d.h. auf die Bibliothekselemente (Bauteile, Padstacks, Pads) des aktuell geladenen Elements möglich. Die Strukturdefinition von I_MACRO lautet: index I_MACRO { // Makrodefinition Index string NAME; // Makro Name double MLX; // Linke Makrobegrenzung (STD2) double MLY; // Untere Makrobegrenzung (STD2) double MUX; // Rechte Makrobegrenzung (STD2) double MUY; // Obere Makrobegrenzung (STD2) double MNX; // Nullpunkt X-Koordinate (STD2) double MNY; // Nullpunkt Y-Koordinate (STD2) int CLASS; // Makro Klasse (STD1) int COMP; // Makro Status (STD16) }; I_NREF - IC Design Makroreferenz (benannt)Über den Index I_NREF ist der Zugriff auf die benannten Makroreferenzen, d.h. auf die auf dem aktuell geladenen Element namentlich platzierten Bibliothekselemente möglich. Auf IC-Layoutebene sind dies die platzierten Zellen; auf Zellenebene sind dies die platzierten Pins. Die Strukturdefinition von I_NREF lautet: index I_NREF { // Benannte Referenz Index string NAME; // Referenz Name double X; // Referenz X-Koordinate (STD2) double Y; // Referenz Y-Koordinate (STD2) double ANGLE; // Referenz Drehwinkel (STD3) double SCALE; // Referenz Skalierungsfaktor int MIRROR; // Referenz Spiegelung (STD14) index I_MACRO MACRO; // Makro Index }; Über die Indexvariable
I_POINT - IC Design PolygonpunktÜber den Index I_POINT ist der Zugriff auf einzelne Polygonpunkte eines Polygons möglich. Die Strukturdefinition von I_POINT lautet: index I_POINT { // Polygonpunkt Index double X; // Polygonpunkt X-Koordinate (STD2) double Y; // Polygonpunkt Y-Koordinate (STD2) int TYP; // Polygonpunkt Typ (STD15) }; Der Index
I_POINT ist nur als
I_POLY - IC Design PolygonÜber den Index I_POLY ist der Zugriff auf die im aktuell geladenen Element definierten Polygone (aktive Flächen, Sperrflächen oder Dokumentarlinien) möglich. Die Strukturdefinition von I_POLY lautet: index I_POLY { // Polygon Index int LAYER; // Polygon Lage (ICD1) int TREE; // Polygon Netznummer int TYP; // Polygon Typ (ICD4) int MVIS; // Polygon Spiegelungsmodus (ICD3) int PN; // Anzahl Polygonpunkte index I_POINT; // Liste der Polygonpunkte }; Der Zugriff auf die zum Polygon gehörenden Polygonpunkte erfolgt über eine entsprechende
I_POOL - IC Design PoolelementÜber den Index I_POOL ist der Zugriff auf die aktuell geladenen Poolelemente möglich. Die Strukturdefinition von I_POOL lautet: index I_POOL { // Poolelement Index int TYP; // Poolelement Typ (ICD7) int REFCNT; // Poolelement Referenzierungsanzahl int LAYER; // Poolelement Lage (ICD1) index I_POOL NXT; // Verweis auf nächstes Poolelement index I_POOL REF; // Verweis auf Referenz-Poolelement index I_POLY POLY; // Verweis auf Polygonelement index I_LINE LINE; // Verweis auf Leiterbahnelement index I_NREF NREF; // Verweis auf Makroreferenz (benannt) index I_UREF UREF; // Verweis auf Makroreferenz (unbenannt) index I_TEXT TEXT; // Verweis auf Textelement index I_MACRO MACRO; // Verweis auf Bibliothekselement }; Der Index
I_POOL wird benötigt zur Abarbeitung von Bibliotheksdefinitionen mit Hilfe der Systemfunktion
icd_scanpool. Die Indexvariable
I_TEXT - IC Design TextÜber den Index I_TEXT ist der Zugriff auf die im aktuell geladenen Element definierten Texte möglich. Die Strukturdefinition von I_TEXT lautet: index I_TEXT { // Text Index string STR; // Text String double X; // Text X-Koordinate (STD2) double Y; // Text Y-Koordinate (STD2) double ANGLE; // Text Drehwinkel (STD3) double SIZE; // Text Größe (STD2) int LAYER; // Text Lage (ICD1) int MIRROR; // Text Spiegelung (STD14) int MODE; // Text Modus (ICD2) }; I_UREF - IC Design Makroreferenz (unbenannt)Über den Index I_UREF ist der Zugriff auf die unbenannten Makroreferenzen, d.h. auf die auf dem aktuell geladenen Element namenlos platzierten Bibliothekselemente möglich. Auf IC-Layoutebene sind dies die platzierten Vias. Die Strukturdefinition von I_UREF lautet: index I_UREF { // Namenlose Referenz Index int TREE; // Referenz Netznummer double X; // Referenz X-Koordinate (STD2) double Y; // Referenz Y-Koordinate (STD2) double ANGLE; // Referenz Drehwinkel (STD3) double SCALE; // Referenz Skalierungsfaktor int MIRROR; // Referenz Spiegelung (STD14) index I_MACRO MACRO; // Verweis auf Makro }; Über die Indexvariable
IC Design Index-Beschreibung (ICD) |
|