|
In diesem Abschnitt werden (in alphabetischer Reihenfolge) die in der
Bartels User Language definierten
IC-Design-Systemfunktionen beschrieben. Beachten Sie bitte die Konventionen zur Funktionsbeschreibung in
Anhang C.1.
C.5.1 IC-Design-Datenzugriffsfunktionen
Die nachfolgend aufgelisteten Systemfunktionen sind dem Aufruftyp ICD zugeordnet, d.h. diese Funktionen können im
Chipeditor aufgerufen werden:
icd_altpinlay - IC Design Setup Alternativpinlayer (ICD)
Synopsis
int icd_altpinlay( // Alternativpinlayer (ICD1)
);
Beschreibung
Der Rückgabewert der Funktion
icd_altpinlay entspricht der in der Setupdatei angegebenen Einstellung für den in der GDS-Dateneingabe verwendeten Alternativpinlayer.
icd_cellconlay - IC Design Setup Lage interne Zellverbindungen (ICD)
Synopsis
int icd_cellconlay( // Zellverbindungslayer (ICD1)
);
Beschreibung
Der Rückgabewert der Funktion
icd_cellconlay entspricht der in der Setupdatei angegebenen Einstellung für den beim automatischen Routen zur Herstellung interner Zellverbindungen verwendeten Layer.
icd_cellscan - IC Design Setup DRC auf Zellebene (ICD)
Synopsis
int icd_cellscan( // Zell DRC-Modus
);
Beschreibung
Der Rückgabewert der Funktion
icd_cellscan entspricht der in der Setupdatei angegebenen Einstellung für den DRC auf Zellebene (0 = kein DRC für Zellstrukturen, 1 = DRC für Zellstrukturen).
icd_cellshr - IC Design Setup Zellsperrflächenoffset (ICD)
Synopsis
double icd_cellshr( // Zellsperrflächenoffset (STD2)
);
Beschreibung
Der Rückgabewert der Funktion
icd_cellshr entspricht der in der Setupdatei angegebenen Einstellung für die Flächenverkleinerung für die automatische Generierung von Zellsperrflächen aus der Zellumrandung.
icd_ciflayname - IC Design CIF-Ausgabelage abfragen (ICD)
Synopsis
string icd_ciflayname( // Lagenname
int [0,99]; // Lagennummer (ICD1)
);
Beschreibung
Die Funktion
icd_ciflayname ermittelt die in der Setupdatei angegebene CIF-Ausgabelagenbezeichnung für die angegebene Lage
(ICD1).
icd_cstdsiz - IC Design Setup Standardzellenhöhe abfragen (ICD)
Synopsis
double icd_cstdsiz( // Standardzellenhöhe (STD2)
);
Beschreibung
Der Rückgabewert der Funktion
icd_cstdsiz entspricht der in der Setupdatei angegebenen Einstellung für die vom automatischen Zellplatzierer zu verwendende Höhe von Standardzellen.
icd_defelemname - IC Design Setup default Elementname (ICD)
Synopsis
string icd_defelemname( // Default Layout Elementname
);
Beschreibung
Der Rückgabewert der Funktion
icd_defelemname entspricht dem in der Setupdatei eingestellten Defaultnamen für Chip Layoutplanelemente.
icd_deflibname - IC Design Setup default Bibliothek (ICD)
Synopsis
string icd_deflibname( // Default IC Design Bibliotheksname
);
Beschreibung
Der Rückgabewert der Funktion
icd_deflibname entspricht dem in der Setupdatei eingestellten Defaultnamen für die
IC-Design-Bibliothek.
icd_drcarc - IC Design Setup DRC Kreisbögen abfragen (ICD)
Synopsis
int icd_drcarc( // DRC Kreisbogenmodus
);
Beschreibung
Der Rückgabewert der Funktion
icd_drcarc entspricht der in der Setupdatei angegebenen Einstellung für den Design Rule Check (DRC) für Kreisbögen (0 = Kreisbögen erlaubt, 1 = keine Kreisbögen erlaubt).
icd_drcgrid - IC Design Setup DRC Raster abfragen (ICD)
Synopsis
double icd_drcgrid( // DRC Raster (STD2)
);
Beschreibung
Der Rückgabewert der Funktion
icd_drcgrid entspricht der in der Setupdatei angegebenen Einstellung für das durch den Design Rule Check (DRC) einzuhaltende Raster.
icd_drclaymode - IC Design Setup DRC Lagenberücksichtigung (ICD)
Synopsis
int icd_drclaymode( // Lage DRC-Modus
int [0,99]; // Lagennummer (ICD1)
);
Beschreibung
Der Rückgabewert der Funktion
icd_drclaymode entspricht der in der Setupdatei angegebenen Einstellung für den Design Rule Check (DRC) auf der angegebenen Lage (0 = kein DRC auf angegebener Lage, 1 = DRC auf angegebener Lage).
icd_drcmaxpar - IC Design Setup DRC Parallelcheck abfragen (ICD)
Synopsis
double icd_drcmaxpar( // DRC maximale Parallellänge (STD2)
);
Beschreibung
Der Rückgabewert der Funktion
icd_drcmaxpar entspricht der in der Setupdatei angegebenen Einstellung für die beim Design Rule Check (DRC) maximal zulässige Länge paralleler Strukturen.
icd_drcminwidth - IC Design Setup DRC minimale Strukturgröße (ICD)
Synopsis
double icd_drcminwidth( // DRC minimale Strukturgröße (STD2)
int [0,99]; // Lagennummer (ICD1)
);
Beschreibung
Der Rückgabewert der Funktion
icd_drcminwidth entspricht der in der Setupdatei angegebenen Einstellung für die beim Design Rule Check (DRC) minimal zulässige Strukturgröße für die angegebene Lage. Ein negativer Rückgabewert bedeutet, dass nur quadratische Strukturen mit exakt der angegebenen Größe erlaubt sind.
icd_drcrect - IC Design Setup DRC Orthogonalcheck abfragen (ICD)
Synopsis
int icd_drcrect( // DRC rechte Winkel Modus
);
Beschreibung
Der Rückgabewert der Funktion
icd_drcrect entspricht der in der Setupdatei angegebenen Einstellung für den Design Rule Check (DRC) für rechte Winkel (0 = beliebige Winkel erlaubt, 1 = nur rechte Winkel erlaubt).
icd_ecnlaymode - IC Design Setup Lagenconnectivity (ICD)
Synopsis
int icd_ecnlaymode( // Lage Connectivity-Modus
int [0,99]; // Lagennummer (ICD1)
);
Beschreibung
Der Rückgabewert der Funktion
icd_ecnlaymode entspricht der in der Setupdatei angegebenen Einstellung für die Connectivity auf der angegebenen Lage (0 = keine Connectivity auf der angegebenen Lage, 1 = Connectivity auf der angegebener Lage).
icd_findconpart - IC Design Bauteil in Netzliste suchen (ICD)
Synopsis
int icd_findconpart( // Status
string; // Bauteilname
& index I_CPART; // Rückgabe Netzlistenbauteil
);
Beschreibung
Die Funktion
icd_findconpart sucht den angegebenen Bauteilnamen in der Netzliste und gibt den Bauteileintrag gegebenenfalls in dem Bauteilrückgabeparameter zurück. Der Rückgabewert dieser Funktion ist ungleich Null, wenn das Bauteil nicht gefunden wurde.
Siehe auch
Funktionen icd_findconpartpin,
icd_findcontree.
icd_findconpartpin - IC Design Bauteilpin in Netzliste suchen (ICD)
Synopsis
int icd_findconpartpin( // Status
string; // Pinname
index I_CPART; // Netzlistenbauteil
& index I_CPIN; // Rückgabe Netzlistenbauteilpin
);
Beschreibung
Die Funktion
icd_findconpartpin sucht den Bauteilpin mit dem angegebenen Namen auf dem spezifizierten Netzlistenbauteil und gibt den Bauteilpineintrag gegebenenfalls in dem Bauteilpinrückgabeparameter zurück. Der Rückgabewert dieser Funktion ist ungleich Null, wenn der Bauteilpin nicht gefunden wurde.
Siehe auch
Funktionen icd_findconpart,
icd_findcontree.
icd_findcontree - IC Design Netz in Netzliste suchen (ICD)
Synopsis
int icd_findcontree( // Status
string; // Netzname
& index I_CNET; // Rückgabe Netzlisteneintrag
);
Beschreibung
Die Funktion
icd_findcontree sucht den angegebenen Netznamen in der Netzliste und gibt den Netzlisteneintrag ggf. in dem Netzrückgabeparameter zurück. Der Rückgabewert dieser Funktion ist ungleich Null, wenn das Netz nicht gefunden wurde.
Siehe auch
Funktionen icd_findconpart,
icd_findconpartpin.
icd_getrulecnt - IC Design-Element Regelanzahl abfragen (ICD)
Synopsis
int icd_getrulecnt( // Regelanzahl oder (-1) bei Fehler
int; // Object class code
int; // Object ident code (int oder Indextyp)
);
Beschreibung
Mit der Funktion
icd_getrulecnt kann die Anzahl der an ein spezifisches Objekt zugewiesenen Regeln ermittelt werden. Die Abfrage kann für das aktuell geladene Element (Objektklasse 0 mit
int -Wert 0 für die Objektidentifikation), ein Element aus der Figurenliste des aktuell geladenen Elements (Objektklasse 1 mit gültigem Wert vom Typ index
I_FIGURE für die Objektidentifikation) oder ein Poolelement (Objektklasse 2 mit gültigem Wert vom Typ index
I_POOL für die Objektidentifikation) durchgeführt werden. Die von
icd_getrulecnt ermittelte (nicht-negative) objektspezifische Regelanzahl wird im Rückgabewert der Funktion übergeben und bestimmt den Wertebereich für den Regelnamenslistenindex in nachfolgenden Aufrufen der Funktion
icd_getrulename zur Ermittlung von Regelnamen für das entsprechende Objekt. Der Rückgabewert ergibt sich zu (-1), wenn ein Fehler aufgetreten ist. Im Fehlerfall kann die genaue Fehlerursache mit Hilfe der Funktion
icd_ruleerr ermittelt werden.
Siehe auch
Funktionen
icd_getrulename,
icd_ruleerr,
icd_rulefigatt,
icd_rulefigdet,
icd_ruleplanatt,
icd_ruleplandet,
icd_rulequery;
Neuronales Regelsystem und
Rule System Compiler.
icd_getrulename - IC Design-Element Regelname abfragen (ICD)
Synopsis
int icd_getrulename( // Status
int; // Object class code
int; // Object ident code (int oder Indextyp)
int [0,[; // Regelnamenslistenindex
& string; // Regelname
);
Beschreibung
Mit der Funktion
icd_getrulename können die Namen der an ein spezifisches Objekt zugewiesenen Regeln ermittelt werden. Die Abfrage kann für das aktuell geladene Element (Objektklasse 0 mit
int -Wert 0 für die Objektidentifikation), ein Element aus der Figurenliste des aktuell geladenen Elements (Objektklasse 1 mit gültigem Wert vom Typ index
I_FIGURE für die Objektidentifikation) oder ein Poolelement (Objektklasse 2 mit gültigem Wert vom Typ index
I_POOL für die Objektidentifikation) durchgeführt werden. Der Regelnamenslistenindex zur Auswahl der gewünschten Regel muss mindestens Null jedoch kleiner als die mit der Funktion
icd_getrulecnt abfragbare Anzahl objektspezifischer Regeln sein. Der ermittelte Regelname wird über den letzten Funktionsparameter an den Aufrufer zurückgegeben. Der Rückgabewert der Funktion
icd_getrulename ist Null, wenn die Funktion erfolgreich beendet wurde oder ungleich Null, wenn ein Fehler aufgetreten ist. Im Fehlerfall kann die genaue Fehlerursache mit Hilfe der Funktion
icd_ruleerr ermittelt werden.
Siehe auch
Funktionen
icd_getrulecnt,
icd_ruleerr,
icd_rulefigatt,
icd_rulefigdet,
icd_ruleplanatt,
icd_ruleplandet,
icd_rulequery;
Neuronales Regelsystem und
Rule System Compiler.
icd_gettreeidx - IC Design Netznummer in Netzliste suchen (ICD)
Synopsis
int icd_gettreeidx( // Status
int; // Netznummer
& index I_CNET; // Rückgabe Netzlisteneintrag
);
Beschreibung
Die Funktion
icd_gettreeidx sucht die angegebene Netznummer in der Netzliste und gibt den Netzlisteneintrag gegebenenfalls in dem Netzrückgabeparameter zurück. Der Rückgabewert ist ungleich Null, wenn die Netznummer nicht gefunden wurde.
icd_grpdisplay - IC Design Setup Gruppenlage abfragen (ICD)
Synopsis
int icd_grpdisplay( // Lagennummer (ICD1)
);
Beschreibung
Der Rückgabewert der Funktion
icd_grpdisplay entspricht der in der Setupdatei eingestellten Lage für die Gruppendarstellung.
icd_lastfigelem - Zuletzt modifiziertes IC Design Element ermitteln (ICD)
Synopsis
int icd_lastfigelem( // Status
& index I_FIGURE; // Rückgabe Element
);
Beschreibung
Die Funktion
icd_lastfigelem ermittelt das zuletzt erzeugte bzw. modifizierte IC Design Element und übergibt den entsprechenden Index aus der Figurenliste im Rückgabeparameter. Der Rückgabewert der Funktion ist Null wenn ein derartiges Element existiert, oder ungleich Null andernfalls.
icd_maccoords - IC Design Makrokoordinaten abfragen (ICD)
Synopsis
void icd_maccoords(
& double; // X-Position (STD2)
& double; // Y-Position (STD2)
& double; // Drehwinkel (STD3)
& double; // Skalierungsfaktor
& int; // Spiegelungsmodus (STD14)
);
Beschreibung
Die Funktion
icd_maccoords gibt in den Parametern die Platzierungsdaten für das aktuell bearbeitete Makro zurück. Ein Aufruf dieser Funktion ist nur innerhalb der Makroscanfunktion von
icd_scanall,
icd_scanfelem,
icd_scanpool sinnvoll. An anderer Stelle werden Null-Defaultwerte zurückgegeben.
Siehe auch
Funktionen
icd_scanall,
icd_scanfelem,
icd_scanpool.
icd_nrefsearch - IC Design Name auf Plan suchen (ICD)
Synopsis
int icd_nrefsearch( // Status
string; // Bauteilname
& index I_FIGURE; // Rückgabe Element
);
Beschreibung
Die Funktion
icd_nrefsearch prüft, ob das angegebene Bauteil platziert ist und gibt gegebenenfalls das zugehörige Element zurück. Der Rückgabewert ist ungleich Null, wenn das Bauteil nicht gefunden wurde.
icd_outlinelay - IC Design Setup Zellumrandung Lage abfragen (ICD)
Synopsis
int icd_outlinelay( // Zellumrandungslage (ICD1)
);
Beschreibung
Der Rückgabewert der Funktion
icd_outlinelay entspricht der in der Setupdatei angegebenen Einstellung für die Zellumrandungslage.
icd_pindist - IC Design Setup Pinaussparung abfragen (ICD)
Synopsis
double icd_pindist( // Pinaussparung (STD2)
);
Beschreibung
Der Rückgabewert der Funktion
icd_pindist entspricht der in der Setupdatei angegebenen Einstellung für die Aussparung von Pins bei der automatischen Generierung von Zellsperrflächen aus der Zellumrandung.
icd_plcxgrid - IC Design Setup Platzierungsraster abfragen (ICD)
Synopsis
double icd_plcxgrid( // Platzierungsraster (STD2)
);
Beschreibung
Der Rückgabewert der Funktion
icd_plcxgrid entspricht der in der Setupdatei angegebenen Einstellung für das Platzierungsraster in X-Richtung bei der automatischen Zellplatzierung.
icd_plcxoffset - IC Design Setup Platzierungsoffset abfragen (ICD)
Synopsis
double icd_plcxoffset( // Platzierungsoffset (STD2)
);
Beschreibung
Der Rückgabewert der Funktion
icd_plcxoffset entspricht der in der Setupdatei angegebenen Einstellung für den Platzierungsoffset in X-Richtung bei der automatischen Zellplatzierung.
icd_routcellcnt - IC Design Setup Anzahl Stromversorgungszellen (ICD)
Synopsis
int icd_routcellcnt( // Anzahl Stromversorgungszellen
);
Beschreibung
Der Rückgabewert der Funktion
icd_routcellcnt entspricht der Anzahl der in der Setupdatei angegebenen Stromversorgungszellen.
icd_routcellname - IC Design Standardlayer Name abfragen (ICD)
Synopsis
string icd_routcellname( // Lagenname
int [0,[; // Zellindex
);
Beschreibung
Die Funktion
icd_routcellname ermittelt die in der Setupdatei unter dem angegebenen Index aufgeführte Stromversorgungszelle. Der übergebene Zellindex darf im Bereich 0 bis
icd_routcellcnt()-1 liegen.
icd_ruleerr - Regelsystem Fehlerstatus abfragen (ICD)
Synopsis
void icd_ruleerr(
& int; // Fehlercode
& string; // Fehlerstring
);
Beschreibung
Die Funktion
icd_ruleerr dient der Ermittlung des Regelsystemstatus, d.h. die Funktion
icd_ruleerr kann zur genauen Bestimmung der Fehlerursache im Falle eines fehlerhaften Aufrufs einer Regelsystemfunktion verwendet werden.
Diagnose
Zur Bestimmung der Fehlerursache sind die durch
icd_ruleerr zurückgegebenen Parameterwerte heranzuziehen. Der zurückgegebene Fehlerstring dient ggf. der Identifizierung des fehlerverursachenden Elements. Die möglichen Werte, die der Fehlercode durch die Ausführung eines Regelsystemfunktion annehmen kann, haben folgende Bedeutung:
Fehlercode | Bedeutung |
0 | Regelsystem Operation/Funktion erfolgreich beendet |
1 | Regelsystem Hauptspeicher nicht ausreichend |
2 | Regelsystem Interner Fehler <e> |
3 | Regelsystem Funktionsparameter ungültig |
128 | Regelsystem Datenbankdatei kann nicht angelegt werden |
129 | Regelsystem Datenbankdatei Lese-/Schreibfehler |
130 | Regelsystem Datenbankdatei von falschem Typ |
131 | Regelsystem Datenbankdateistruktur beschädigt |
132 | Regelsystem Datenbankdatei nicht gefunden |
133 | Regelsystem Datenbankfehler allgemein (Interner Fehler) |
134 | Regelsystem Regel <r> nicht Regeldatenbank gefunden |
135 | Regelsystem Regel in falschem Format in Datenbank (Interner Fehler <e> ) |
136 | Regelsystem Objekt nicht gefunden |
137 | Regelsystem Objekt mehrfach definiert (Interner Fehler) |
138 | Regelsystem Inkompatible Definition der Variable <v> |
139 | Regelsystem Regel <r> mit inkompatibler Compiler-Version übersetzt |
Der Fehlerstring kann je nach Fehlerfall eine Regel
<r> , eine Variable
<v> oder einen (internen) Fehlerstatus
<e> bezeichnen. Datenbankdateifehler beziehen sich auf Probleme beim Zugriff auf die Regeldatenbankdatei
brules.vdb im BAE-Programmverzeichnis. Interne Fehler weisen üblicherweise auf Implementierungslücken im Regelsystem hin und sollten in jedem Fall an Bartels gemeldet werden.
Siehe auch
Funktionen
icd_getrulecnt,
icd_getrulename,
icd_rulefigatt,
icd_rulefigdet,
icd_ruleplanatt,
icd_ruleplandet,
icd_rulequery;
Neuronales Regelsystem und
Rule System Compiler.
icd_rulefigatt - Regelzuweisung an Figurenelement (ICD)
Synopsis
int icd_rulefigatt( // Status
index I_FIGURE; // Figurenlistenelement
void; // Regelname oder Regelnamensliste
);
Beschreibung
Die Funktion
icd_rulefigatt erlaubt die Zuweisung von Regeln an das mit dem ersten Funktionsparameter spezifizierte Figurenlistenelement des aktuell geladenes Elements. Der zweite Funktionsparameter erlaubt dabei sowohl die Spezifikation eines einzelnen Regelnamens (d.h. eines Wertes vom Typ
string ) als auch die Angabe einer ganzen Liste von Regelnamen (d.h. eines Arrays vom Typ
string ). Beachten Sie, dass vor der Zuweisung des angegebenen Regelsatzes zunächst alle bestehenden Regelzuweisungen an das spezifizierte Figurenlistenelement gelöscht werden. Der Rückgabewert der Funktion
icd_rulefigatt ist Null, wenn die Funktion erfolgreich beendet wurde oder ungleich Null, wenn ein Fehler aufgetreten ist. Im Fehlerfall kann die genaue Fehlerursache mit Hilfe der Funktion
icd_ruleerr ermittelt werden.
Siehe auch
Funktionen
icd_getrulecnt,
icd_getrulename,
icd_ruleerr,
icd_rulefigdet,
icd_ruleplanatt,
icd_ruleplandet,
icd_rulequery;
Neuronales Regelsystem und
Rule System Compiler.
icd_rulefigdet - Regelzuweisungen von Figurenelement lösen (ICD)
Synopsis
int icd_rulefigdet( // Status
index I_FIGURE; // Figurenlistenelement
);
Beschreibung
Die Funktion
icd_rulefigdet löscht alle aktuell bestehenden Regelzuweisungen an das über den Funktionsparameter spezifizierte Figurenlistenelement des aktuell geladenen Elements. Der Rückgabewert der Funktion
icd_rulefigdet ist Null, wenn die Funktion erfolgreich beendet wurde oder ungleich Null, wenn ein Fehler aufgetreten ist. Im Fehlerfall kann die genaue Fehlerursache mit Hilfe der Funktion
icd_ruleerr ermittelt werden.
Siehe auch
Funktionen
icd_getrulecnt,
icd_getrulename,
icd_ruleerr,
icd_rulefigatt,
icd_ruleplanatt.
icd_ruleplandet,
icd_rulequery;
Neuronales Regelsystem und
Rule System Compiler.
icd_ruleplanatt - Regelzuweisung an aktuell geladenes Element (ICD)
Synopsis
int icd_ruleplanatt( // Status
void; // Regelname oder Regelnamensliste
);
Beschreibung
Die Funktion
icd_ruleplanatt erlaubt die Zuweisung von Regeln an das aktuell geladenes Elements. Der Funktionsparameter erlaubt dabei sowohl die Spezifikation eines einzelnen Regelnamens (d.h. eines Wertes vom Typ
string ) als auch die Angabe einer ganzen Liste von Regelnamen (d.h. eines Arrays vom Typ
string ). Beachten Sie, dass vor der Zuweisung des angegebenen Regelsatzes zunächst alle bestehenden Regelzuweisungen an das aktuelle Element gelöscht werden. Der Rückgabewert der Funktion
icd_ruleplanatt ist Null, wenn die Funktion erfolgreich beendet wurde oder ungleich Null, wenn ein Fehler aufgetreten ist. Im Fehlerfall kann die genaue Fehlerursache mit Hilfe der Funktion
icd_ruleerr ermittelt werden.
Siehe auch
Funktionen
icd_getrulecnt,
icd_getrulename,
icd_ruleerr,
icd_rulefigatt,
icd_rulefigdet,
icd_ruleplandet,
icd_rulequery;
Neuronales Regelsystem und
Rule System Compiler.
icd_ruleplandet - Regelzuweisungen von aktuell geladenem Element lösen (ICD)
Synopsis
int icd_ruleplandet( // Status
);
Beschreibung
Die Funktion
icd_ruleplandet löscht alle aktuell bestehenden Regelzuweisungen an das aktuell geladene Element. Der Rückgabewert der Funktion
icd_ruleplandet ist Null, wenn die Funktion erfolgreich beendet wurde oder ungleich Null, wenn ein Fehler aufgetreten ist. Im Fehlerfall kann die genaue Fehlerursache mit Hilfe der Funktion
icd_ruleerr ermittelt werden.
Siehe auch
Funktionen
icd_getrulecnt,
icd_getrulename,
icd_ruleerr,
icd_rulefigatt,
icd_rulefigdet,
icd_ruleplanatt,
icd_rulequery;
Neuronales Regelsystem und
Rule System Compiler.
icd_rulequery - IC Design-Element Regelabfrage durchführen (ICD)
Synopsis
int icd_rulequery( // Trefferanzahl oder (-1) bei Fehler
int; // Object class code
int; // Object ident code (int oder Indextyp)
string; // Subjektname
string; // Prädikatname
string; // Abfragekommando
& void; // Abfrageergebnis
[] // Optionale Abfrageparameter
);
Beschreibung
Die Funktion
icd_rulequery führt eine Regelabfrage für ein spezifisches Objekt durch. Die Abfrage kann für das aktuell geladene Element (Objektklasse 0 mit
int -Wert 0 für die Objektidentifikation), ein Element aus der Figurenliste des aktuell geladenen Elements (Objektklasse 1 mit gültigem Wert vom Typ index
I_FIGURE für die Objektidentifikation) oder ein Poolelement (Objektklasse 2 mit gültigem Wert vom Typ index
I_POOL für die Objektidentifikation) durchgeführt werden. Zur Durchführung der Abfrage müssen sowohl ein Regelsubjekt als auch ein Regelprädikat namentlich angegeben werden. Zusätzlich ist ein Abfragekommando zu spezifizieren. Das Abfragekommando kann Platzhalter für Wertvorgaben und einen Abfrageoperator enthalten. Folgende Abfrageoperatoren stehen zur Verfügung:
?d | zur Abfrage von int -Werten |
?f | zur Abfrage von double -Werten |
?s | zur Abfrage von string -Werten |
Dem Abfrageoperator kann wahlweise einer der folgenden Selektionsoperatoren vorangestellt werden:
+ | zur Abfrage des Maximums aller gefundenen Werte |
- | zur Abfrage des Minimums aller gefundenen Werte |
Standardmäßig, d.h. bei Auslassung des Selektionsoperators wird der
+ -Operator verwendet. Der über die Abfrage gefundene Werteintrag wird im Funktionsparameter für das Abfrageergebnis zurückgegeben. Hierbei ist sicherzustellen, dass der Datentyp des Parameters für das Abfrageergebnis mit dem Abfragedatentyp übereinstimmt
(int für ?d ,
double für ?f ,
string für ?s ). Neben dem Abfrageoperator können folgende Platzhalter für Wertvorgaben im Abfragekommando spezifiziert werden:
%d | zur Angabe von int -Werten |
%f | zur Angabe von double -Werten |
%s | zur Angabe von string -Werten |
Für jeden im Abfragekommando spezifizierten Platzhalter für Wertvorgaben ist ein optionaler Abfrageparameter an die Funktion
icd_rulequery zu übergeben. Die Reihenfolge dieser optionalen Parameter sowie deren Datentypen müssen mit den Spezifikationen im Abfragekommando übereinstimmen. Nach erfolgreicher Abarbeitung der Regelabfrage wird im Rückgabewert die (nicht-negative) Anzahl der gefundenen Einträge an den Aufrufer zurückgegeben. Der Rückgabewert ergibt sich zu (-1), wenn ein Fehler aufgetreten ist. Im Fehlerfall kann die genaue Fehlerursache mit Hilfe der Funktion
icd_ruleerr ermittelt werden.
Beispiele
Sofern die Regel
rule somerule
{
subject subj
{
pred := ("A", 2);
pred := ("A", 4);
pred := ("B", 1);
pred := ("C", 3);
pred := ("B", 6);
pred := ("D", 5);
pred := ("D", 6);
pred := ("A", 3);
}
}
definiert und dem aktuell geladenen Element zugewiesen ist, würde der
icd_rulequery-Aufruf
hitcount = icd_rulequery(0,0,"subj","pred","%s ?d",intresult,"A") ;
die
int -Variable
hitcount auf 3 und die
int -Variable
intresult auf 4 setzen, während der Aufruf
hitcount = icd_rulequery(0,0,"subj","pred","-?s %d",strresult,6) ;
die Variable
hitcount auf 2 und die
string -Variable
strresult auf
B setzt.
Siehe auch
Funktionen
icd_getrulecnt,
icd_getrulename,
icd_ruleerr,
icd_rulefigatt,
icd_rulefigdet,
icd_ruleplanatt,
icd_ruleplandet;
Neuronales Regelsystem und
Rule System Compiler.
icd_scanall - IC Design Scan über alle Elemente (ICD)
Synopsis
int icd_scanall( // Scan Status
double; // X-Offset (STD2)
double; // Y-Offset (STD2)
double; // Drehwinkel (STD3)
int [0,1]; // Element in Arbeitsbereich Flag (STD10)
int [0,1]; // Connectivity Scan Flag:
// 0 = kein Scan
// 1 = Scan erlaubt
* int; // Makrofunktion
* int; // Polygonfunktion
* int; // Leiterbahnfunktion
* int; // Textfunktion
* int; // Lagencheckfunktion
* int; // Levelcheckfunktion
);
Beschreibung
Die Funktion
icd_scanall scannt alle auf dem aktuell geladenen Element platzierten Elemente über alle Hierarchiestufen. Dabei werden für alle gefundenen Elemente die referenzierten Anwenderfunktionen aufgerufen. Soll ein Funktionstyp nicht aufgerufen werden, so ist für den entsprechenden Parameter
NULL anzugeben. Der Rückgabewert der Funktion
icd_scanall ist ungleich Null, wenn ungültige Parameter angegeben wurden, oder wenn eine der referenzierten Anwenderfunktionen einen Fehler an die Funktion
icd_scanall zurückgemeldet hat.
Makrofunktion
int macrofuncname(
index I_MACRO macro, // Makro Index
index I_POOL pool, // Pool Element Index
int macinws, // Makro in Arbeitsbereich Flag (STD10)
string refname, // Makro Referenzname
index I_LEVEL level, // Makro Level
int stkcnt // Makro Stacktiefe
)
{
// Verarbeitungsprogramm
:
return(contscan);
}
Die Makroplatzierungsdaten können mit der Funktion
icd_maccoords abgefragt werden. Der Rückgabewert dieser Funktion sollte gleich Null sein, wenn der Scan für dieses Makro nicht weitergeführt werden soll, (-1) wenn ein Fehler aufgetreten ist und 1 wenn weitergescannt werden soll.
Polygonfunktion
int polyfuncname(
index I_POLY poly, // Polygondaten
int layer, // Lage (ICD1)
int polyinws, // Polygon in Arbeitsbereich Flag (STD10)
int tree, // Netznummer oder (-1)
index I_LEVEL level // Polygon Level
)
{
// Verarbeitungsprogramm
:
return(errstat);
}
Der Rückgabewert dieser Funktion sollte ungleich Null sein, wenn ein Fehler aufgetreten ist.
Leiterbahnfunktion
int pathfuncname(
index I_LINE path, // Leiterbahndaten
int layer, // Lage (ICD1)
int pathinws, // Bahn in Arbeitsbereich Flag (STD10)
index I_LEVEL level // Bahn Level
)
{
// Verarbeitungsprogramm
:
return(errstat);
}
Der Rückgabewert dieser Funktion sollte ungleich Null sein, wenn ein Fehler aufgetreten ist.
Textfunktion
int textfuncname(
index I_TEXT text, // Textdaten
double x, // X-Koordinate (STD2)
double y, // Y-Koordinate (STD2)
double angle, // Drehwinkel (STD3)
int mirr, // Spiegelung (STD14)
int layer, // Lage (ICD1)
double size, // Text Größe (STD2)
string textstr, // Textzeichenkette
int textinws // Text in Arbeitsbereich Flag (STD10)
)
{
// Verarbeitungsprogramm
:
return(errstat);
}
Der Rückgabewert dieser Funktion sollte ungleich Null sein, wenn ein Fehler aufgetreten ist.
Lagencheckfunktion
int laycheckfuncname(
int layer, // Lage (ICD1)
int class // Elementklasse (STD1)
)
{
// Verarbeitungsprogramm
:
return(contscan);
}
Der Rückgabewert dieser Funktion sollte gleich Null sein, wenn der Scan bei der übergebenen Lage nicht weitergeführt werden soll, (-1) wenn ein Fehler aufgetreten ist und 1 wenn weitergescannt werden soll. Bei Beschränkung auf die interessierenden Lagen durch diese Funktion wird der Scanvorgang erheblich beschleunigt.
Levelcheckfunktion
int levcheckfuncname(
index I_LEVEL level // Level
)
{
// Verarbeitungsprogramm
:
return(contscan);
}
Der Rückgabewert dieser Funktion sollte gleich Null sein, wenn der Scan bei dem übergebenen Level nicht weitergeführt werden soll, (-1) wenn ein Fehler aufgetreten ist und 1 wenn weitergescannt werden soll. Bei Beschränkung auf die interessierenden Levels durch diese Funktion wird der Scanvorgang erheblich beschleunigt.
Siehe auch
Funktionen
icd_maccoords,
icd_scanfelem,
icd_scanpool.
icd_scanfelem - IC Design Scan über Figurenelement (ICD)
Synopsis
int icd_scanfelem( // Scan Status
index I_FIGURE; // Figurenelement
double; // X-Offset (STD2)
double; // Y-Offset (STD2)
double; // Drehwinkel (STD3)
int [0,1]; // Element in Arbeitsbereich Flag (STD10)
int [0,1]; // Connectivity Scan Flag:
// 0 = kein Scan
// 1 = Scan erlaubt
* int; // Makrofunktion
* int; // Polygonfunktion
* int; // Leiterbahnfunktion
* int; // Textfunktion
* int; // Lagencheckfunktion
* int; // Levelcheckfunktion
);
Beschreibung
Die Funktion
icd_scanfelem scannt das angegebene Figurenelement über alle Hierarchiestufen. Dabei werden für alle gefundenen Elemente die referenzierten Anwenderfunktionen aufgerufen. Soll ein Funktionstyp nicht aufgerufen werden, so ist für den entsprechenden Parameter
NULL anzugeben (Definition der referenzierten Anwenderfunktionen siehe
icd_scanall). Der Rückgabewert der Funktion
icd_scanfelem ist ungleich Null, wenn ungültige Parameter angegeben wurden, oder wenn eine der referenzierten Anwenderfunktionen einen Fehler an die Funktion
icd_scanfelem zurückgemeldet hat.
Siehe auch
Funktionen
icd_maccoords,
icd_scanall,
icd_scanpool.
icd_scanpool - IC Design Scan über Poolelement (ICD)
Synopsis
int icd_scanpool( // Scan Status
void; // Poolelement
double; // X-Offset (STD2)
double; // Y-Offset (STD2)
double; // Drehwinkel (STD3)
int [0,1]; // Element in Arbeitsbereich Flag (STD10)
int [0,1]; // Connectivity Scan Flag:
// 0 = kein Scan
// 1 = Scan erlaubt
* int; // Makrofunktion
* int; // Polygonfunktion
* int; // Leiterbahnfunktion
* int; // Textfunktion
* int; // Lagencheckfunktion
* int; // Levelcheckfunktion
);
Beschreibung
Die Funktion
icd_scanpool scannt das angegebene Poolelement über alle Hierarchiestufen. Dabei werden für alle gefundenen Elemente die referenzierten Anwenderfunktionen aufgerufen. Soll ein Funktionstyp nicht aufgerufen werden, so ist für den entsprechenden Parameter
NULL anzugeben (Definition der referenzierten Anwenderfunktionen siehe
icd_scanall). Der Rückgabewert der Funktion
icd_scanpool ist ungleich Null, wenn ungültige Parameter angegeben wurden, oder wenn eine der referenzierten Anwenderfunktionen einen Fehler an die Funktion
icd_scanpool zurückgemeldet hat.
Siehe auch
Funktionen
icd_maccoords,
icd_scanall,
icd_scanfelem.
icd_stdlayname - IC Design Standardlayer Name abfragen (ICD)
Synopsis
string icd_stdlayname( // Lagenname
int [0,99]; // Lagennummer (ICD1)
);
Beschreibung
Die Funktion
icd_stdlayname ermittelt die in der Setupdatei angegebene Lagenbezeichnung für die angegebene Lage
(ICD1).
icd_stdpinlay - IC Design Setup Standardpinlayer (ICD)
Synopsis
int icd_stdpinlay( // Standardpinlayer (ICD1)
);
Beschreibung
Der Rückgabewert der Funktion
icd_stdpinlay entspricht der in der Setupdatei angegebenen Einstellung für den in der GDS-Dateneingabe verwendeten Standardpinlayer.
icd_vecttext - IC Design Text vektorisieren (ICD)
Synopsis
int icd_vecttext( // Status
double; // X-Koordinate (STD2)
double; // Y-Koordinate (STD2)
double; // Drehwinkel (STD3)
int [0,1]; // Spiegelung (STD14)
double ]0.0,[; // Text Größe (STD2)
int [0,1]; // Physical Flag:
// 0 = Logical
// 1 = Physical
int [0,2]; // Lagenspiegelung:
// 0 = Spiegelung aus
// 1 = X-Spiegelung
// 2 = Y-Spiegelung
int [0,[; // Text Stil
string; // Text Zeichenkette
* int; // Vektorisierungsfunktion
);
Beschreibung
Die Funktion
icd_vecttext vektorisiert den übergebenen Text unter Verwendung des aktuell geladenen Zeichensatzes. Dazu wird für jedes Textsegment die übergebene Vektorisierungsfunktion aufgerufen. Der Rückgabewert dieser Funktion ist ungleich Null, wenn ungültige Parameter angegeben wurden oder die vom Benutzer definierte Vektorisierungsfunktion einen Wert ungleich Null zurückgegeben hat.
Vektorisierungsfunktion
int vecfuncname(
double x1, // X-Koordinate erster Punkt (STD2)
double y1, // Y-Koordinate erster Punkt (STD2)
double x2, // X-Koordinate zweiter Punkt (STD2)
double y2 // Y-Koordinate zweiter Punkt (STD2)
)
{
// Verarbeitungsprogramm
:
return(errstat);
}
Der Rückgabewert dieser Funktion sollte ungleich Null sein, wenn ein Fehler aufgetreten ist.
C.5.2 Chipeditor-Funktionen
Die nachfolgend aufgelisteten Systemfunktionen sind dem Aufruftyp CED zugeordnet, d.h. diese Funktionen können im
Chipeditor aufgerufen werden:
ced_asklayer - CED Lagenauswahl (CED)
Synopsis
int ced_asklayer( // Status
& int; // Lagenrückgabe (ICD1)
);
Beschreibung
Die Funktion
ced_asklayer aktiviert im
Chipeditor ein Lagenauswahlmenü. Der Rückgabewert ist Null bei erfolgter Lagenwahl oder (-1) bei Wahl des Menüpunktes Abbruch.
ced_delelem - CED Element löschen (CED)
Synopsis
int ced_delelem( // Status
& index I_FIGURE; // Element
);
Beschreibung
Die Funktion
ced_delelem löscht das übergebene Element aus der Elementliste. Der Rückgabewert ist Null bei erfolgter Löschung und (-1), wenn das übergebene Element ungültig ist. Die Änderung kann nach dem Programmlauf mit
wieder rückgängig gemacht werden.
Warnung
Diese Funktion ändert die aktuelle Figurenliste und sollte daher mit Vorsicht in
forall -Schleifen zur Iteration von
I_FIGURE-Indexvariablen verwendet werden, um undefinierte Ergebnisse beim Zugriff auf die Figurenliste bzw. Endlosschleifen zu vermeiden.
Siehe auch
Funktion ced_drawelem.
ced_drawelem - CED Elementanzeige aktualisieren (CED)
Synopsis
void ced_drawelem(
index I_FIGURE; // Element
int [0, 4]; // Zeichenmodus (STD19)
);
Beschreibung
Die Funktion
ced_drawelem aktualisiert die Anzeige des angegebenen Elements unter Verwendung des spezifizierten Zeichenmodus.
Siehe auch
Funktion ced_delelem.
ced_elemangchg - CED Elementwinkel ändern (CED)
Synopsis
int ced_elemangchg( // Status
& index I_FIGURE; // Element
double; // Neuer Winkel (STD3)
);
Beschreibung
Die Funktion
ced_elemangchg ändert den Drehwinkel des übergebenen Elements. Der Drehwinkel wird ausgehend vom Nullwinkel eingestellt, d.h. der vorhergehende Drehwinkel des Elements hat keinen Einfluss auf das Ergebnis. Die Winkelangabe wird als Bogenmaßwert interpretiert. Der Rückgabewert ist Null bei erfolgter Änderung, (-1) wenn das übergebene Element ungültig oder (-2) wenn es nicht drehbar ist. Die Änderung kann nach dem Programmlauf mit
wieder rückgängig gemacht werden.
Warnung
Diese Funktion ändert die aktuelle Figurenliste und sollte daher mit Vorsicht in
forall -Schleifen zur Iteration von
I_FIGURE-Indexvariablen verwendet werden, um undefinierte Ergebnisse beim Zugriff auf die Figurenliste bzw. Endlosschleifen zu vermeiden.
ced_elemfixchg - CED Element fixiert-Flag ändern (CED)
Synopsis
int ced_elemfixchg( // Status
& index I_FIGURE; // Element
int [0,1]; // Neues fixiert Flag (STD11)
);
Beschreibung
Die Funktion
ced_elemfixchg ändert den Fixiert-Modus des übergebenen Elements. Der Rückgabewert ist Null bei erfolgter Änderung, (-1) wenn das übergebene Element ungültig oder (-2) wenn es nicht fixierbar ist. Die Änderung kann nach dem Programmlauf mit
wieder rückgängig gemacht werden.
Warnung
Diese Funktion ändert die aktuelle Figurenliste und sollte daher mit Vorsicht in
forall -Schleifen zur Iteration von
I_FIGURE-Indexvariablen verwendet werden, um undefinierte Ergebnisse beim Zugriff auf die Figurenliste bzw. Endlosschleifen zu vermeiden.
ced_elemgrpchg - CED Element Gruppenflag ändern (CED)
Synopsis
int ced_elemgrpchg( // Status
index I_FIGURE; // Element
int [0,2]; // Neues Gruppenflag (STD13)
);
Beschreibung
Die Funktion
ced_elemgrpchg ändert die Gruppenzugehörigkeit des übergebenen Elements. Der Rückgabewert ist Null bei erfolgter Änderung, (-1) wenn das übergebene Element ungültig ist oder (-2) wenn es sich nicht um ein gruppenselektierbares Element handelt. Die Änderung kann nach dem Programmlauf mit
wieder rückgängig gemacht werden.
ced_elemlaychg - CED Elementlage ändern (CED)
Synopsis
int ced_elemlaychg( // Status
& index I_FIGURE; // Element
int; // Neue Lage (ICD1)
);
Beschreibung
Die Funktion
ced_elemlaychg ändert die Lagenzugehörigkeit des übergebenen Elements. Die Lage kann für Flächen, Leiterbahnen und Texte geändert werden. Der Rückgabewert ist Null bei erfolgter Änderung, (-1) wenn das übergebene Element ungültig oder (-2) wenn die Lage nicht änderbar ist. Die Änderung kann nach dem Programmlauf mit
wieder rückgängig gemacht werden.
Warnung
Diese Funktion ändert die aktuelle Figurenliste und sollte daher mit Vorsicht in
forall -Schleifen zur Iteration von
I_FIGURE-Indexvariablen verwendet werden, um undefinierte Ergebnisse beim Zugriff auf die Figurenliste bzw. Endlosschleifen zu vermeiden.
ced_elemmirrchg - CED Elementspiegelung ändern (CED)
Synopsis
int ced_elemmirrchg( // Status
& index I_FIGURE; // Element
int [0,2]; // Neuer Spiegelungsmodus (STD14|ICD3)
);
Beschreibung
Die Funktion
ced_elemmirrchg ändert den Spiegelungsmodus des übergebenen Elements. Der Spiegelungsmodus kann bei Flächen, Texten, benannten und unbenannten Referenzen geändert werden. Der Rückgabewert ist Null bei erfolgter Änderung, (-1) wenn das übergebene Element ungültig ist oder (-2) wenn es keinen Spiegelungsmodus besitzt. Die Änderung kann nach dem Programmlauf mit
wieder rückgängig gemacht werden.
Warnung
Diese Funktion ändert die aktuelle Figurenliste und sollte daher mit Vorsicht in
forall -Schleifen zur Iteration von
I_FIGURE-Indexvariablen verwendet werden, um undefinierte Ergebnisse beim Zugriff auf die Figurenliste bzw. Endlosschleifen zu vermeiden.
ced_elemposchg - CED Elementposition ändern (CED)
Synopsis
int ced_elemposchg( // Status
& index I_FIGURE; // Element
double; // X-Position (STD2)
double; // Y-Position (STD2)
);
Beschreibung
Die Funktion
ced_elemposchg ändert die Position des übergebenen Elements. Bei Flächen/Leiterbahnen wird die Fläche/Leiterbahn so verschoben, dass der erste Punkt der Fläche/Leiterbahn auf der angegebenen Position zu liegen kommt. Der Rückgabewert ist Null bei erfolgter Änderung, (-1) wenn das übergebene Element ungültig oder (-2) wenn es nicht positionierbar ist. Die Änderung kann nach dem Programmlauf mit
wieder rückgängig gemacht werden.
Warnung
Diese Funktion ändert die aktuelle Figurenliste und sollte daher mit Vorsicht in
forall -Schleifen zur Iteration von
I_FIGURE-Indexvariablen verwendet werden, um undefinierte Ergebnisse beim Zugriff auf die Figurenliste bzw. Endlosschleifen zu vermeiden.
ced_elemsizechg - CED Elementgröße ändern (CED)
Synopsis
int ced_elemsizechg( // Status
& index I_FIGURE; // Element
double; // Neue Größe (STD2)
);
Beschreibung
Die Funktion
ced_elemsizechg ändert die Größe des übergebenen Elements. Bei Leiterbahnen wird mit der Größe die Leiterbahnbreite spezifiziert. Bei benannten und unbenannten Referenzen gibt die Größe den Skalierungsfaktor an. Eine Größenänderung ist nur bei Texten, Leiterbahnen, benannten und unbenannten Bauteilreferenzen möglich. Der Rückgabewert ist Null bei erfolgter Änderung, (-1) wenn das übergebene Element ungültig oder (-2) wenn es nicht größenveränderbar ist. Die Änderung kann nach dem Programmlauf mit
wieder rückgängig gemacht werden.
Warnung
Diese Funktion ändert die aktuelle Figurenliste und sollte daher mit Vorsicht in
forall -Schleifen zur Iteration von
I_FIGURE-Indexvariablen verwendet werden, um undefinierte Ergebnisse beim Zugriff auf die Figurenliste bzw. Endlosschleifen zu vermeiden.
ced_getlaydispmode - CED Lagenanzeigemodus abfragen (CED)
Synopsis
int ced_getlaydispmode( // Anzeigemodus (ICD9)
int; // Lage (ICD1)
);
Beschreibung
Die Funktion
ced_getlaydispmode ermittelt den Bildschirmanzeigemodus
(ICD9) für die angegebene Lage.
ced_getmincon - CED Mincon-Funktion abfragen (CED)
Synopsis
int ced_getmincon( // Funktionstyp (ICD10)
);
Beschreibung
Der Rückgabewert der Funktion
ced_getmincon entspricht dem im
Chipeditor aktuell eingestellten Wert des
-Modus für die Airlineanzeige
(ICD10).
ced_getpathwidth - CED Bahnenstandardbreite abfragen (CED)
Synopsis
void ced_getpathwidth(
& double; // Schmal Standardbreite (STD2)
& double; // Breit Standardbreite (STD2)
);
Beschreibung
Die Funktion
ced_getpathwidth gibt in den beiden Parametern die Werte der aktuell im
Chipeditor eingestellten Standardbreiten für schmale und breite Leiterbahnen zurück.
ced_getpickpreflay - CED Vorzugslage abfragen (CED)
Synopsis
int ced_getpickpreflay( // Vorzugslage (ICD1)
);
Beschreibung
Der Rückgabewert der Funktion
ced_getpickpreflay entspricht der Vorzugslage
(ICD1) für Elementwahl im
Chipeditor.
ced_getwidedraw - CED Breitendarstellung abfragen (CED)
Synopsis
double ced_getwidedraw( // Breite (STD2)
);
Beschreibung
Der Rückgabewert der Funktion
ced_getwidedraw entspricht der Breite, ab der im
Chipeditor Leiterbahnen auf dem Bildschirm in Flächendarstellung angezeigt werden.
ced_groupselect - CED Gruppenselektion (CED)
Synopsis
int ced_groupselect( // Anzahl Änderungen oder (-1) bei Fehler
int [0,3]; // Element Selektionstyp:
// 0 = Selektion nach Elementtyp
// 1 = Selektion nach Lage
// 2 = Selektion nach Fixiertflag
// 3 = Selektion nach Sichtbarkeit
int; // Element Selektionswert entspr. Selektionstyp:
// 0 - Elementtyp (0|ICD5)
// 1 - Elementlage (ICD1)
// 2 - Element-Fixiertflag (STD11)
// 3 - Elementsichtbarkeit (0|1)
int [0,2]; // Neues Gruppenflag (STD13)
);
Beschreibung
Die Funktion
ced_groupselect ändert die Gruppenzugehörigkeit aller Element des spezifizierten Typs bzw. mit der spezifizierten Eigenschaft. Der Rückgabewert entspricht der Anzahl der durchgeführtem Änderungen oder dem Wert (-1) bei fehlerhaften bzw. inkompatiblen Parameterangaben. Der Selektionswert Null bei der Selektion nach dem Elementtyp kann dazu benutzt werden, Elemente beliebigen Typs auszuwählen.
Warnung
Interne
IC-Design-Elementtypen wie z.B. die Standardvia-Definition(en) sind von der Gruppen(de)selektion mit
ced_groupselect ausgenommen, um ein versehentliches Löschen bzw. Ändern derartiger Elemente durch die anschließende Anwendung anderer Gruppenfunktionen zu verhindern.
ced_highlnet - CED Highlight Netz ein/aus (CED)
Synopsis
int ced_highlnet( // Status
int [0,[; // Netznummer
int [0,1]; // Highlightmodus (0 = aus, 1 = ein)
);
Beschreibung
Die Funktion
ced_highlnet setzt den Highlightmodus des Netzes mit der übergebenen Netznummer. Es wird ein Wert ungleich Null zurückgegeben, wenn ein ungültiger Highlightmodus oder eine ungültige Netznummer angegeben wurde.
ced_layergrpchg - CED Gruppenselektion nach Lage (CED)
Synopsis
int ced_layergrpchg( // Anzahl Elemente
int; // Lagennummer (ICD1)
int [0,2]; // Neues Gruppenflag (STD13)
);
Beschreibung
Die Funktion
ced_layergrpchg ändert die Gruppenzugehörigkeit aller Elemente, die auf der angegebenen Lage platziert sind. Der Rückgabewert ist die Anzahl der (de)selektierten Elemente oder (-1) bei Fehler.
ced_partaltmacro - CED Bauteilzellentyp ändern (CED)
Synopsis
int ced_partaltmacro( // Status
string; // Bauteilname
string; // Neuer Zellen-Bibiotheksteilname
);
Beschreibung
Die Funktion
ced_partaltmacro ändert den Zellentyp des angegebenen Bauteiles. Ein Rückgabewert von Null zeigt eine erfolgreiche Änderung an. Bei ungültigen Eingabedaten wird (-1) zurückgegeben, (-2) wenn der neue Zellentyp nicht alle für dieses Bauteil in der Netzliste verwendeten Pins enthält (Zellenänderung wird trotzdem durchgeführt), (-3) wenn das Bauteil nicht in der Netzliste vorhanden ist, (-4) wenn der neue Zellentyp für dieses Bauteil nicht erlaubt ist, (-5) wenn der neue Zellentyp nicht ladbar ist, (-6) wenn die Zellendaten nicht in die Jobdatenbank kopiert werden konnten und (-7) wenn versucht wurde, in einem Programmlauf einen Bauteilzellentyp mehrfach umzuändern (z.B.
a in
b und anschließend
b in
c ). Die Änderung kann nach dem Programmlauf mit
wieder rückgängig gemacht werden.
Warnung
Diese Funktion sollte nicht innerhalb von
I_CPART-Index-Schleifen aufgerufen werden, da die vor dem Aufruf der Funktion belegten
I_CPART-Indexvariablen anschließend ungültig sind.
ced_partnamechg - CED Bauteilname in Netzliste ändern (CED)
Synopsis
int ced_partnamechg( // Status
string; // Alter Bauteilname
string; // Neuer Bauteilname
);
Beschreibung
Die Funktion
ced_partnamechg ändert den Namen des angegebenen Bauteiles in der Netzliste. Ein Rückgabewert von Null zeigt eine erfolgreiche Änderung an. Bei ungültigen Eingabedaten wird (-1) zurückgegeben, (-2) wenn das Bauteil nicht platziert ist, (-3) wenn das Bauteil nicht in der Netzliste vorhanden ist, (-4) wenn der neue Name schon definiert ist und (-5) wenn versucht wurde, in einem Programmlauf ein Bauteil mehrfach umzubenennen (z.B.
a in
b und anschließend
b in
c ). Die Änderung kann nach dem Programmlauf mit
wieder rückgängig gemacht werden.
Warnung
Diese Funktion verändert die Netzliste und erfordert daher einen anschließenden
-Lauf. Die Funktion sollte auch nicht innerhalb von
I_CPART-Index-Schleifen aufgerufen werden, da die vor dem Aufruf der Funktion belegten
I_CPART-Indexvariablen anschließend ungültig sind.
ced_pickelem - CED Element selektieren (CED)
Synopsis
int ced_pickelem( // Status
& index I_FIGURE; // Rückgabe Element
int [1,8]; // Elementtyp (ICD5 außer 6)
);
Beschreibung
Mit der Funktion
ced_pickelem kann vom Benutzer mit der Maus ein Element des gewünschten übergebenen Typs selektiert werden. Der Rückgabewert ist Null bei erfolgter Selektion und (-1) wenn an der Pickposition kein Element des gewünschten Typs gefunden wurde.
ced_setlaydispmode - CED Lagenanzeigemodus setzen (CED)
Synopsis
int ced_setlaydispmode( // Status
int [0,99]; // Lage (ICD1)
int [0,127]; // Anzeigemodus (ICD9)
);
Beschreibung
Die Funktion
ced_setlaydispmode setzt den Bildschirmanzeigemodus für die angegebenen Lage. Der Rückgabewert ist ungleich Null, wenn der Anzeigemodus nicht gesetzt werden konnte.
ced_setmincon - CED Mincon-Funktion setzen (CED)
Synopsis
int ced_setmincon( // Status
int [0,8]; // Funktionstyp (ICD10)
);
Beschreibung
Die Funktion
ced_setmincon setzt den
-Modus für die Airlineanzeige im
Chipeditor. Es wird ein Wert ungleich Null zurückgegeben, wenn ein ungültiger Modus angegeben wurde.
ced_setpathwidth - CED Bahnenstandardbreiten setzen (CED)
Synopsis
int ced_setpathwidth( // Status
double ]0.0,[; // Schmal Standardbreite (STD2)
double ]0.0,[; // Breit Standardbreite (STD2)
);
Beschreibung
Die Funktion
ced_setpathwidth setzt die Standardbreiten für schmale und breite Leiterbahnen im
Chipeditor. Es wird ein Wert ungleich Null zurückgegeben, wenn ungültige Breiten spezifiziert wurden.
ced_setpickpreflay - CED Vorzugslage setzen (CED)
Synopsis
int ced_setpickpreflay( // Status
int; // Lage (ICD1)
);
Beschreibung
Die Funktion
ced_setpickpreflay setzt die Vorzugslage für Elementwahl im
Chipeditor. Es wird ein Wert ungleich Null zurückgegeben, wenn keine gültige Lage angegeben wurde.
ced_setwidedraw - CED Breitendarstellung setzen (CED)
Synopsis
int ced_setwidedraw( // Status
double ]0.0,[; // Breite (STD2)
);
Beschreibung
Die Funktion
ced_setwidedraw setzt die Breite, ab der im
Chipeditor Leiterbahnen auf dem Bildschirm in Flächendarstellung angezeigt werden. Es wird ein Wert ungleich Null zurückgegeben, wenn eine ungültige Breite spezifiziert wurde.
ced_storepart - CED Bauteil platzieren (CED)
Synopsis
int ced_storepart( // Status
string; // Bauteilname
string; // Bauteil Bibiotheksteilname
double; // X-Koordinate (STD2)
double; // Y-Koordinate (STD2)
double; // Drehwinkel (STD3)
double; // Skalierungsfaktor
int [0,1]; // Spiegelungsmodus (STD14)
);
Beschreibung
Die Funktion
ced_storepart platziert ein Bauteil mit den angegebenen Parametern auf dem gegenwärtig geladenen Chip Layoutelement. Wird eine Leerzeichenkette für den Bauteilnamen übergeben, so wird das nächste unplatzierte Bauteil der Netzliste verwendet. Der Rückgabewert ist gleich Null, wenn das Bauteil erfolgreich platziert wurde, (-1) bei ungültigen Daten, (-2) wenn alle Bauteile bereits platziert sind, (-3) wenn das Bauteil schon platziert ist, (-4) wenn es nicht ladbar ist, (-5) wenn die Bauteilpins nicht mit der Netzliste übereinstimmen und (-6) wenn die Bauteildaten nicht in die Jobdatenbank kopiert werden konnten.
Warnung
Diese Funktion ändert die aktuelle Figurenliste und sollte daher mit Vorsicht in
forall -Schleifen zur Iteration von
I_FIGURE-Indexvariablen verwendet werden, um undefinierte Ergebnisse beim Zugriff auf die Figurenliste bzw. Endlosschleifen zu vermeiden.
ced_storepath - CED Bahn platzieren (CED)
Synopsis
int ced_storepath( // Status
int [0,99]; // Lage (ICD1)
double ]0.0,[; // Bahnbreite (STD2)
);
Beschreibung
Die Funktion
ced_storepath erzeugt aus der internen Punktliste unter Verwendung der angegebenen Parameter eine Leiterbahn auf dem gegenwärtig geladenen Chip Layoutelement. Der Rückgabewert ist gleich Null, wenn die Bahn erfolgreich platziert wurde, (-1) wenn kein gültiges Element geladen ist, (-2) bei ungültigen Parametern, oder (-3) wenn die Punktliste ungültig ist.
Warnung
Diese Funktion ändert die aktuelle Figurenliste und sollte daher mit Vorsicht in
forall -Schleifen zur Iteration von
I_FIGURE-Indexvariablen verwendet werden, um undefinierte Ergebnisse beim Zugriff auf die Figurenliste bzw. Endlosschleifen zu vermeiden.
ced_storepoly - CED Fläche platzieren (CED)
Synopsis
int ced_storepoly( // Status
int; // Lage (ICD1)
int [1,4]; // Polygontyp (ICD4)
int [0,2]; // Spiegelungsmodus (ICD3)
);
Beschreibung
Die Funktion
ced_storepoly generiert aus der mit
bae_storepoint erzeugten internen Punktliste unter Verwendung der angegebenen Parameter eine Fläche auf dem gegenwärtig geladenen IC-Layoutelement. Der Rückgabewert ist gleich Null, wenn die Fläche erfolgreich platziert wurde, (-1) wenn kein gültiges Element geladen ist, (-2) bei ungültigen Parametern, oder (-3) wenn die Punktliste für den gegebenen Flächentyp ungültig ist.
Warnung
Diese Funktion ändert die aktuelle Figurenliste und sollte daher mit Vorsicht in
forall -Schleifen zur Iteration von
I_FIGURE-Indexvariablen verwendet werden, um undefinierte Ergebnisse beim Zugriff auf die Figurenliste bzw. Endlosschleifen zu vermeiden.
ced_storetext - CED Text platzieren (CED)
Synopsis
int ced_storetext( // Status
string; // Textzeichenkette
double; // X-Koordinate (STD2)
double; // Y-Koordinate (STD2)
double; // Drehwinkel (STD3)
double ]0.0,[; // Text Größe (STD2)
int; // Lage (ICD1)
int [0,1]; // Spiegelungsmodus (STD14)
);
Beschreibung
Die Funktion
ced_storetext platziert einen Text mit den angegebenen Parametern auf dem gegenwärtig geladenen Chip Layoutelement. Der Rückgabewert ist ungleich Null, wenn ungültige Daten übergeben wurden.
Warnung
Diese Funktion ändert die aktuelle Figurenliste und sollte daher mit Vorsicht in
forall -Schleifen zur Iteration von
I_FIGURE-Indexvariablen verwendet werden, um undefinierte Ergebnisse beim Zugriff auf die Figurenliste bzw. Endlosschleifen zu vermeiden. Es können maximal 40 Zeichen der übergebenen Textzeichenkette gespeichert werden. Bei Übergabe längerer Zeichenketten gibt die Funktionen den Fehlerstatus zur Kennzeichnung ungültiger Parameter zurück.
ced_storeuref - CED Via bzw. Subbauteil platzieren (CED)
Synopsis
int ced_storeuref( // Status
string; // Referenz Bibiotheksteilname
double; // X-Koordinate (STD2)
double; // Y-Koordinate (STD2)
double; // Drehwinkel (STD3)
double; // Skalierungsfaktor
int [0,1]; // Spiegelung (STD14) (für Subbauteile)
);
Beschreibung
Die Funktion
ced_storeuref platziert eine namenlose Referenz mit den angegebenen Parametern auf dem gegenwärtig geladenen Layoutelement. Namenlose Referenzen sind die Vias auf Chip Layoutebene und die Subbauteile auf Bauteilebene. Spiegelung, Skalierung und Drehwinkel werden für Vias ignoriert. Der Rückgabewert ist gleich Null, wenn die Referenz erfolgreich platziert wurde, (-1) bei ungültigen Daten, (-2) wenn sie nicht ladbar ist und (-3) wenn die Referenzdaten nicht in die Jobdatenbank kopiert werden konnten.
Warnung
Diese Funktion ändert die aktuelle Figurenliste und sollte daher mit Vorsicht in
forall -Schleifen zur Iteration von
I_FIGURE-Indexvariablen verwendet werden, um undefinierte Ergebnisse beim Zugriff auf die Figurenliste bzw. Endlosschleifen zu vermeiden.
IC-Design-Systemfunktionen © 1985-2024 Oliver Bartels F+E • Aktualisiert: 30. July 2009, 10:06 [UTC]
|