Willkommen bei Bartels
IC-Design-Systemfunktionen - Deutsche Version IC Design System Functions - English Version
Bartels

Bartels System GmbH
Bartels
Bartels AutoEngineer
BAE Produktinfo
BAE Preisliste
BAE Downloads
BAE Dokumentation
BAE Installationsanleitung
BAE Benutzerhandbuch
BAE Bibliotheken
User Language Programmierhandbuch
Vorwort
1 Einleitung
2 Sprachbeschreibung
3 Programmiersystem
4 BAE User Language-Programme
A Konventionen und Definitionen
B Index-Variablen-Typen
C Systemfunktionen
C.1 Funktionsübersicht
C.2 Standard-Systemfunktionen
C.3 SCM-Systemfunktionen
C.4 PCB-Design-Systemfunktionen
C.5 IC-Design-Systemfunktionen
C.5.1 IC-Design-Datenzugriffsfunktionen
C.5.2 Chipeditor-Funktionen
BAE Update-Historie
BAE Nächste Version Freigabemitteilungen Vorabinfo
BAE V8.0 Freigabemitteilungen
BAE V7.8 Freigabemitteilungen
BAE V7.6 Freigabemitteilungen
BAE V7.4 Freigabemitteilungen
BAE V7.2 Freigabemitteilungen
BAE V7.0 Freigabemitteilungen
BAE V6.8 Freigabemitteilungen
BAE V6.6 Freigabemitteilungen
BAE V6.4 Freigabemitteilungen
BAE V6.2 Freigabemitteilungen
BAE V6.0 Freigabemitteilungen
BAE V5.4 Freigabemitteilungen
BAE V5.0 Freigabemitteilungen
BAE V4.6 Freigabemitteilungen
BAE V4.4 Freigabemitteilungen
BAE V4.2 Freigabemitteilungen
BAE V4.0 Freigabemitteilungen
BAE V3.4 Freigabemitteilungen
BAE Support
BAE Contrib
BAE Entwickler und Dienstleister
Elektronikentwicklung
Sport
Firmenprofil
Impressum
Bartels :: Bartels AutoEngineer :: BAE Dokumentation :: User Language Programmierhandbuch :: Systemfunktionen :: IC-Design-Systemfunktionen
Bartels User Language - Programmierhandbuch

C.5 IC-Design-Systemfunktionen

Bartels AutoEngineer® Dokumentation

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:

FehlercodeBedeutung
0Regelsystem Operation/Funktion erfolgreich beendet
1Regelsystem Hauptspeicher nicht ausreichend
2Regelsystem Interner Fehler <e>
3Regelsystem Funktionsparameter ungültig
128Regelsystem Datenbankdatei kann nicht angelegt werden
129Regelsystem Datenbankdatei Lese-/Schreibfehler
130Regelsystem Datenbankdatei von falschem Typ
131Regelsystem Datenbankdateistruktur beschädigt
132Regelsystem Datenbankdatei nicht gefunden
133Regelsystem Datenbankfehler allgemein (Interner Fehler)
134Regelsystem Regel <r> nicht Regeldatenbank gefunden
135Regelsystem Regel in falschem Format in Datenbank (Interner Fehler <e>)
136Regelsystem Objekt nicht gefunden
137Regelsystem Objekt mehrfach definiert (Interner Fehler)
138Regelsystem Inkompatible Definition der Variable <v>
139Regelsystem 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:
?dzur Abfrage von int-Werten
?fzur Abfrage von double-Werten
?szur 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:

%dzur Angabe von int-Werten
%fzur Angabe von double-Werten
%szur 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 Undo 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 Undo 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 Undo 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 Undo 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 Undo 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 Undo 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 Undo 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 Undo 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(            // Mincon Funktionstyp (ICD10)
      );
Beschreibung
Der Rückgabewert der Funktion ced_getmincon entspricht dem im Chipeditor aktuell eingestellten Wert des Mincon-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 Undo 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 Undo wieder rückgängig gemacht werden.
Warnung
Diese Funktion verändert die Netzliste und erfordert daher einen anschließenden Backannotation-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];              // Mincon Funktionstyp (ICD10)
      );
Beschreibung
Die Funktion ced_setmincon setzt den Mincon-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.
Bartels :: Bartels AutoEngineer :: BAE Dokumentation :: User Language Programmierhandbuch :: Systemfunktionen :: IC-Design-Systemfunktionen

IC-Design-Systemfunktionen
© 1985-2024 Oliver Bartels F+E • Aktualisiert: 30. July 2009, 10:06 [UTC]

© 1985-2024 Oliver Bartels F+E Bartels Startseite Kontakt und Impressum

Webentwicklung Baumeister Mediasoft Engineering

IC-Design-Systemfunktionen - Deutsche Version IC Design System Functions - English Version