|
|
Dieser Abschnitt beschreibt die in der Bartels User Language definierten Index-Variablen-Typen für den Schematic Capture Datenzugriff (CAP). C_ATTRIBUTE - Schaltplan AttributÜber den Index C_ATTRIBUTE ist der Zugriff auf die Bauteil-Attribute im Schaltplan möglich. Die Strukturdefinition von C_ATTRIBUTE lautet: index C_ATTRIBUTE { // Attribut Index string NAME; // Attribut Name string VALUE; // Attribut Wert }; Der Index
C_ATTRIBUTE ist nur als
C_BUSTAP - Schaltplan BusanschlussÜber den Index C_BUSTAP ist der Zugriff auf die Busanschlüsse (Bustaps) des aktuell geladenen Schaltplans möglich. Die Strukturdefinition von C_BUSTAP lautet: index C_BUSTAP { // Busanschluss Index string NAME; // Busanschluss Name double X; // Busanschluss X-Koordinate (STD2) double Y; // Busanschluss Y-Koordinate (STD2) double ANGLE; // Busanschluss Drehwinkel (STD3) int MIRROR; // Busanschluss Spiegelung (STD14) index C_MACRO MACRO; // Verweis auf Busanschluss Makro index C_CONBASE CON; // Verweis auf Verbindungssegmentgruppe index C_CONSEG SEG; // Verweis auf Verbindungssegment }; Die Koordinaten des Busanschlusses liegen immer auf einem Verbindungssegment des entsprechenden Busses. Der Drehwinkel des Busanschlusses ist grundsätzlich ein Vielfaches von 90 Grad. Die Indexvariable
C_CNET - Schaltplan Logische NetzlisteÜber den Index C_CNET ist der Zugriff auf die logische Netzliste des aktuell geladenen Schaltplans möglich. Die Strukturdefinition von C_CNET lautet: index C_CNET { // Logische Netzliste Index string NAME; // Netz Name int NUMBER; // Netz Nummer int NETGLO; // Netz Globalkennzeichnung: // 0 = Lokale Netzdefinition // 1 = Globale Netzdefinition int BUSNET; // Busnetznummer }; C_CONBASE - Schaltplan VerbindungssegmentgruppeÜber den Index C_CONBASE ist der Zugriff auf die Gruppe der Verbindungssegmente einer bestimmten Zeile bzw. Spalte des aktuell geladenen Schaltplans möglich. Die Strukturdefinition von C_CONBASE lautet: index C_CONBASE { // Verbindungssegmentgruppe Index int ORI; // Orientierung: // 0 = Horizontal // 1 = Vertikal double X; // Basis-X-Koordinate (STD2) double Y; // Basis-Y-Koordinate (STD2) int SN; // Anzahl Verbindungssegmente index C_CONSEG; // Liste der Verbindungssegmente index C_BUSTAP; // Liste der Busanschlüsse }; Über einen
C_CONBASE Index sind alle Verbindungssegmente einer bestimmten Spalte (Orientierung vertikal) bzw. Reihe (Orientierung horizontal) einschließlich der daran definierten Busanschlüsse zusammengefasst. Der Zugriff auf die zur Verbindungssegmentgruppe gehörenden Verbindungssegmente bzw. Busanschlüsse erfolgt über entsprechende
C_CONSEG - Schaltplan VerbindungssegmentÜber den Index C_CONSEG ist der Zugriff auf die Verbindungssegmente des aktuell geladenen Schaltplans möglich. Die Strukturdefinition von C_CONSEG lautet: index C_CONSEG { // Verbindungssegment Index double X1; // Segment X-Koordinate 1 (STD2) double Y1; // Segment Y-Koordinate 1 (STD2) double X2; // Segment X-Koordinate 2 (STD2) double Y2; // Segment Y-Koordinate 2 (STD2) int BUSFLAG; // Segment Buskennzeichnung: // 0 = Normales Segment // 1 = Bussegment int GROUP; // Segment Gruppenflag (STD13) index C_CONBASE CON; // Verweis auf Segmentgruppe }; Verbindungssegmente sind immer orthogonal platziert, d.h. entweder die X-Koordinaten sind identisch (Orientierung vertikal), oder die Y-Koordinaten sind identisch (Orientierung horizontal). Die Indexvariable
C_FIGURE - Schaltplan FigurenelementÜber den Index C_FIGURE ist der Zugriff auf die platzierten Figurenelemente (Polygone, Verbindungen, Makroreferenzen, Texte) des aktuell geladenen Elements möglich. Die Strukturdefinition von C_FIGURE lautet: index C_FIGURE { // Figurenelement Index int TYP; // Element Typ (CAP3) 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 GROUP; // Element Gruppenflag (STD13) index C_POOL POOL; // Verweis auf Poolelement index C_POLY POLY; // Verweis auf Polygonelement index C_CONBASE CONBASE;// Verweis auf Verbindungssegmentgruppe index C_NREF NREF; // Verweis auf Makroreferenz (benannt) index C_TEXT TEXT; // Verweis auf Textelement }; Die Indexvariable
C_LEVEL - Schaltplan SignalpotentialÜber den Index C_LEVEL ist der Zugriff auf die Connectivity-Level, d.h. auf die Netzlisten- bzw. Signalpotentiale des aktuell geladenen Schaltplans möglich. Die Strukturdefinition von C_LEVEL lautet: index C_LEVEL { // Connectivity-Level Index int IDNUM; // Level Identifikationsnummer int BUSFLAG; // Level Buskennzeichnung int SEGFLAG; // Level Segmentverbindungsmodus (Bitmuster): // 1 = Segment verbunden mit Level // 2 = Kontaktflächen verbunden mit Level int ERRFLAG; // Level Fehlerkennzeichnung int HIGHLIGHT; // Level Highlight Flag int DISPLAY; // Level Anzeige Attribute int CNN; // Level Netzanzahl index C_CNET; // Liste der Netze }; Der Zugriff auf die zum Signalpotential gehörenden Netze erfolgt über eine entsprechende
C_MACRO - Schaltplan BibliothekselementÜber den Index C_MACRO ist der Zugriff auf die Makros, d.h. auf die Bibliothekselemente (Symbole, Labels, Marker) des aktuell geladenen Elements möglich. Die Strukturdefinition von C_MACRO lautet: index C_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 TAGSYM; // Makro Tagsymbol-/Taglabelmodus (CAP5) int COMP; // Makro Status (STD16) string PNAMEPAT; // Makro Bauteilnamensmuster }; Über die Indexvariable
C_NREF - Schaltplan Makroreferenz (benannt)Über den Index C_NREF ist der Zugriff auf die benannten Makroreferenzen, d.h. auf die auf dem aktuell geladenen Element namentlich platzierten Bibliothekselemente möglich. Auf Planebene sind dies die platzierten Bauteile und Labels; auf Symbol- bzw. Labelebene sind dies die platzierten Pins. Die Strukturdefinition von C_NREF lautet: index C_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) int MIRROR; // Referenz Spiegelung (STD14) int TAGPTYP; // Referenz Tagpintyp (CAP6) index C_MACRO MACRO; // Verweis auf Makro index C_ATTRIBUTE; // Liste der Attribute }; Über die Indexvariable
C_POINT - Schaltplan PolygonpunktÜber den Index C_POINT ist der Zugriff auf einzelne Polygonpunkte eines Polygons möglich. Die Strukturdefinition von C_POINT lautet: index C_POINT { // Polygonpunkt Index double X; // Polygonpunkt X-Koordinate (STD2) double Y; // Polygonpunkt Y-Koordinate (STD2) int TYP; // Polygonpunkt Typ (STD15) }; Der Index
C_POINT ist nur als
C_POLY - Schaltplan PolygonÜber den Index C_POLY ist der Zugriff auf die im aktuell geladenen Element definierten Polygone (Flächen, Linien) möglich. Die Strukturdefinition von C_POLY lautet: index C_POLY { // Polygon Index int TYP; // Polygon Typ (CAP2) double WIDTH; // Polygon Linienbreite (STD2) double DASHLEN; // Polygon Strichelungslänge (STD2) double DASHSPC; // Polygon Strichelungsrelativabstand int DASH; // Polygon Strichelungsmodus int PN; // Anzahl Polygonpunkte index C_POINT; // Liste der Polygonpunkte }; Der Zugriff auf die zum Polygon gehörenden Polygonpunkte erfolgt über eine entsprechende
C_POOL - Schaltplan PoolelementÜber den Index C_POOL ist der Zugriff auf die aktuell geladenen Poolelemente möglich. Die Strukturdefinition von C_POOL lautet: index C_POOL { // Poolelement Index int TYP; // Poolelement Typ (CAP4) int REFCNT; // Poolelement Referenzierungsanzahl index C_POOL NXT; // Verweis auf nächstes Poolelement index C_POOL REF; // Verweis auf Referenz-Poolelement index C_POLY POLY; // Verweis auf Polygonelement index C_CONBASE CONBASE;// Verweis auf Verbindungssegmentgruppe index C_NREF NREF; // Verweis auf Makroreferenz (benannt) index C_TEXT TEXT; // Verweis auf Textelement index C_MACRO MACRO; // Verweis auf Bibliothekselement index C_BUSTAP BUSTAP; // Verweis auf Busanschluss }; Der Index
C_POOL wird benötigt zur Abarbeitung von Bibliotheksdefinitionen mit Hilfe der Systemfunktion
cap_scanpool. Die Indexvariable
C_TEXT - Schaltplan TextÜber den Index C_TEXT ist der Zugriff auf die im aktuell geladenen Element definierten Texte möglich. Die Strukturdefinition von C_TEXT lautet: index C_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) double WIDTH; // Text Linienbreite (STD2) int MIRROR; // Text Spiegelung (STD14) int MODE; // Text Modus/Stil (CAP1|CAP7) int CLASS; // Text Klassenbitmuster }; CL_ALTPLNAME - Layoutnetzlisteneintrag AlternativbauformÜber den Index CL_ALTPLNAME ist der Zugriff auf die Liste der Alternativbauformen der aktuell geladenen Layoutnetzliste möglich. Die Strukturdefinition von CL_ALTPLNAME lautet: index CL_ALTPLNAME { // Layoutnetzliste Alternativbauformindex string PLNAME; // Alternativbauform Name }; CL_ATTRIBUTE - Layoutnetzlisteneintrag AttributÜber den Index CL_ATTRIBUTE ist der Zugriff auf die Bauteil- und Netzattribute der aktuell geladenen Layoutnetzliste möglich. Die Strukturdefinition von CL_ATTRIBUTE lautet: index CL_ATTRIBUTE { // Layoutnetzliste Attributindex string NAME; // Attribut Name string VALUE; // Attribut Wert }; CL_CNET - LayoutnetzlisteÜber den Index CL_CNET ist der Zugriff auf die Netze der aktuell geladenen Layoutnetzliste möglich. Die Strukturdefinition von CL_CNET lautet: index CL_CNET { // Layoutnetzliste Netzindex string NAME; // Netz Name int NUMBER; // Netz Nummer int PRIOR; // Netz Routingpriorität double RDIST; // Netz Mindestabstand (STD2) int PINN; // Anzahl Pins index CL_CPIN; // Liste der Pins index CL_ATTRIBUTE; // Liste der Attribute }; Die Netznummer wird allgemein zur Identifizierung eines Netzes herangezogen. Mit der Funktion
cap_getlaytreeidx kann ausgehend von der angegebenen Netznummer der entsprechende
CL_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
CL_CPART - Layoutnetzlisteneintrag BauteilÜber den Index CL_CPART ist der Zugriff auf die Bauteile der aktuell geladenen Layoutnetzliste möglich. Die Strukturdefinition von CL_CPART lautet: index CL_CPART { // Layoutnetzliste Bauteilindex string NAME; // Bauteil Name string PLNAME; // Physikalisches Bibliotheksteil int PEQUC; // Bauteil Äquivalenz-Code int PINN; // Anzahl Pins int FPINN; // Anzahl nicht angeschlossene Pins index CL_CPIN; // Liste der Pins index CL_ALTPLNAME; // Liste der Alternativbauformen index CL_ATTRIBUTE; // Liste der Attribute }; Auf die Pinliste, die Alternativbauformen und die Attributwerte kann mit Hilfe von entsprechenden
CL_CPIN - Layoutnetzlisteneintrag BauteilpinÜber den Index CL_CPIN ist der Zugriff auf die Bauteilpins der aktuell geladenen Layoutnetzliste möglich. Die Strukturdefinition von CL_CPIN lautet: index CL_CPIN { // Layoutnetzliste Bauteilpinindex 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 CL_CNET CNET; // Verweis auf Netz index CL_CPART CPART; // Verweis auf Bauteil index CL_ATTRIBUTE; // Liste der Pinattribute }; Die Pin Routingbreite gibt die Breite an, mit der vom Pin zum nächsten Verbindungspunkt geroutet werden soll. Über die Indexvariablen
Schematic Capture Index-Beschreibung (CAP) |
|