Dieses Kapitel beschreibt die Utilityprogramme des
Bartels AutoEngineer. Diese Programme laufen üblicherweise im Batchbetrieb, d.h. sie können von der Betriebssystemebene aus aufgerufen werden und benötigen kein Grafikinterface für den Dialog mit dem Benutzer. Die Utilityprogramme sind nützliche Zusatzwerkzeuge für die Bibliotheksverwaltung, zum Auswerten von DDB(Design DataBase)-Files, zur Konfiguration des
AutoEngineers, zum Umsetzen von (Fremd-)Netzlisten, usw. usf.
Inhalt
7.1 BAEHELP
Name
baehelp - BAE Windows Online-Dokumentation
Synopsis
baehelp [file]
Beschreibung
Das Programm
baehelp aktiviert unter Windows den Default-Webbrowser zum Laden der wahlweise über das Argument
file angegebenen (HTML-)Datei bzw. URL. Ist kein Argument angegeben, dann wird automatisch das BAE Benutzerhandbuch aus dem Verzeichnis
../baedoc relativ zum BAE-Programmverzeichnis geladen.
Warnungen
baehelp ist nur unter Windows ablauffähig.
7.2 BAESETUP, BSETUP
Name
baesetup - Bartels AutoEngineer Setup Modul
bsetup - Bartels AutoEngineer Setup Utility
Synopsis
bsetup -encode <code>
bsetup setupfile
Beschreibung
Freischaltung von BAE-Software-Autorisierungen
Der Aufruf
bsetup -encode <code>
dient der Freischaltung von BAE-Autorisierungen im Feld. Die Option
-encode erwartet als Argument den Autorisierungscode für die freizuschaltende BAE-Software-Konfiguration. Dieser Autorisierungscode ist im Bedarfsfall bei der Bartels System GmbH erhältlich. Der
bsetup-Aufruf muss aus dem aktuellen BAE-Programmverzeichnis auf der Maschine, an der der freizuschaltende Hardlock-Key installiert ist, erfolgen. Unmittelbar nach Aufruf des Utilityprogramms
bsetup mit der Option
-encode (und einem korrekten Autorisierungscode) ist der
Bartels AutoEngineer einmal zum Zwecke der Übernahme bzw. Freischaltung der neuen Autorisierung aufzurufen. Erst bei nachfolgenden BAE-Aufrufen erfolgt dann eine korrekte Autorisierungsprüfung, d.h. nach dem BAE-Aufruf zur Freischaltung der neuen Autorisierung (zu beachten ist hierbei die Meldung
Neue Optionen : <sw-config>. in der Statuszeile) muss ein Programmabbruch veranlasst werden bevor ein produktives Arbeiten mit dem
AutoEngineer wieder möglich ist.
Übernahme und Modifikation von BAE-Setupdaten
Der Aufruf
bsetup setupfile
dient der Übernahme von Setupdaten in den
Bartels AutoEngineer, d.h. die anwenderspezifische Gestaltung der BAE-Benutzeroberfläche, die firmenrelevante Definition der Lagenzuordnung in den Layoutmenüs sowie die Einstellung von Standard-Bibliotheks-Suchpfaden und -Namen, usw. Hierbei erwartet
bsetup als Argument den Dateinamen
setupfile der Setupdatei (diese Datei muss mit der Extension
.def verfügbar sein; beim Programmaufruf ist der Dateiname ohne diese Extension anzugeben).
bsetup liest die Setupdatei und speichert die darin enthaltenen Setup-Parameter in der Datei
bsetup.dat (im aktuellen Verzeichnis) ab. Beim Aufruf des
AutoEngineers werden die in dieser Datei gespeicherten Setup-Parameter eingelesen und sind somit für die Dauer der Bearbeitung im
AutoEngineer verfügbar (Voraussetzung hierfür ist die Installation von
bsetup.dat im BAE-Programm-Verzeichnis).
Unter Windows, Linux und Unix können die nachfolgend aufgeführten Systemparameter wahlweise auch mit dem über die Funktion
aus dem BAE-Hauptmenü aufrufbaren
baesetup modifiziert werden.
baesetup ist dialogboxorientiert und daher wesentlich einfacher zu bedienen als
bsetup vor dessen Aufruf üblicherweise eine DEF-Datei mit dem kompletten BAE-Parameterdatensatz erstellt bzw. modifiziert werden muss.
baesetup bietet zusätzlich die Möglichkeit, die geänderten Setupdaten in eine
bsetup-kompatible DEF-Datei zu exportieren.
Format der Eingabedatei
Dateianfang, Dateiende, Kommentare
Die Setupdatei beginnt mit dem Schlüsselwort
SETUP und endet mit
END. . Kommentare können zwischen
/* und
*/ eingefügt werden.
Kommando LAYMENUTEXT
Mit dem Kommando
LAYMENUTEXT lassen sich die Menüs für die Signallagen-Auswahl festlegen. Die Syntax hierfür lautet:
LAYMENUTEXT LINE <line> ("<text>",<layer>);
Über
<line> ist die Menüzeile (im Bereich von 1 bis 12) anzugeben. Der Eintrag <text> gibt den auf dem Menüfeld erscheinenden Text an und kann vom Benutzer frei vergeben werden.
<layer> gibt die durch das Menüfeld selektierte (Signal-)Lage an, wobei von 1 bis 100 gewählt werden kann. Eine Sonderform des
LAYMENUTEXT -Kommandos ist
LAYMENUTEXT TOPLAYER ("<text>");
Obige Zeile, in der lediglich
<text> geändert werden darf, ermöglicht die Definition einer Signallage als Oberste Lage.
Kommando LAYPADLAYER
Mit dem Kommando
LAYPADLAYER kann eine Lagenzuordnung auf Padebene ermöglicht
(ENABLE ) oder verhindert werden
(DISABLE ). Die Syntax für dieses Kommando lautet:
LAYPADLAYER (ENABLE) ;
bzw.
LAYPADLAYER (DISABLE) ;
Dieses Kommando ist historisch bedingt, da in früheren Software-Versionen auf Padebene die Zuweisung von Flächen auf Lagen möglich war. Der Eintrag
ENABLE sollte also nurmehr dazu dienen, alte Job-Files zu aktualisieren. Wir empfehlen ansonsten den Eintrag
DISABLE (siehe
stdset.def ).
Kommando LAYPLTMARKLAY
Über das Kommando
LAYPLTMARKLAY lässt sich eine Dokumentarlage definieren die durch den
CAM-Prozessor im
-Modus grundsätzlich mit ausgegeben wird (sinnvoll ist hier z.B. die Lage für die Film-Passermarken). Die Syntax hierfür lautet:
LAYPLTMARKLAY (<layer>) ;
Kommando LAYGRPDISPLAY
Mit dem Kommando
LAYGRPDISPLAY lässt sich eine Dokumentarlage bzw. Darstellungsebene definieren, die mit der
Layouteditor-Gruppenfunktion
über den Menüpunkt
ausschließlich zur Darstellung bewegter Gruppen angezeigt werden soll. Die Syntax für dieses Kommando lautet:
LAYGRPDISPLAY (<layer>) ;
Kommando LAYDOCLAYER
Mit dem Kommando
LAYDOCLAYER können bis zu 100 Dokumentarlagen definiert werden. Dabei ist zu beachten, dass eine Dokumentarlage im Grunde aus 3 "Seiten", nämlich
(unterste Lage, Lötseite),
(oberste Lage, Bauteilseite) und
bestehen kann. Damit ist es möglich, Elemente der Seite 1 der Dokumentarlage auf die Seite 2 zu spiegeln und umgekehrt (z.B. SMD-Bauteil von Bauteilseite auf Lötseite spiegeln mit entsprechender Spiegelung von am SMD-Bauteil definierten Dokumentar-Grafik, Dokumentar-Text, ...). Beim Plotten werden - sofern der Modus
eingeschaltet ist - die unter
abgelegten Elemente sowohl beim Plotten der Seite 1, als auch beim Plotten der Seite 2 hinzugefügt. Die Syntax für das
LAYDOCLAYER -Kommando lautet:
LAYDOCLAYER <layer> ("<text>",<side>,<rotate>[,<index>]) ;
Der Eintrag
<layer> gibt die Nummer der Dokumentarlage an, wobei von 1 bis 100 gewählt werden kann. Der Eintrag
<text> gibt den vom Benutzer frei wählbaren Text an, der auf dem Menüfeld als Bezeichnung für die Dokumentarlage erscheinen soll.
<side> gibt den Modus für die Abfrage nach der Seite bei der Generierung von Elementen auf der entsprechenden Dokumentarlage an, wobei folgende Einträge erlaubt sind:
SIDE1 | Eingaben erfolgen automatisch auf der Dokumentarlage |
SIDE2 | Eingaben erfolgen automatisch auf der Dokumentarlage |
BOTH | Eingaben erfolgen automatisch auf der Dokumentarlage |
NONE | Eingaben auf der Dokumentarlage mit Möglichkeit der Auswahl der Dokumentarlagenseite (Optionen , , ) |
Der Parameter
<rotate> erlaubt die Festlegung der Richtlinien für das Spiegeln und Rotieren von Texten, wobei folgende Einträge erlaubt sind:
LOGICAL | Text kann frei gedreht und gespiegelt werden und bleibt dabei leserichtig (z.B. fü Bestückungsplan) |
PHYSICAL | erlaubt beliebiges Drehen und Spiegeln des Textes, wobei jedoch dessen Position nicht durch die Funktionen bzw. verändert werden kann (z.B. für Bestückdaten) |
NOROTATE | Bauteil kann frei gedreht und gespiegelt werden, der Text bleibt jedoch fixiert (ansonsten wie PHYSICAL ; z.B. für Bohrplan) |
Über den Parameter
<index> kann optional ein Ausgabeindex für die Festlegung der Anzeigereihenfolge der Dokumentarlagen in der Farbpalette und in den Lagenauswahlmenüs vorgegeben werden. Die Indexnummerierung beginnend bei 1. Dokumentarlagen ohne Indexvorgabe werden fortlaufend auf die noch freien Anzeigepositionen verteilt. Mit Hilfe des
<index> -Parameters können häufig benutzte Dokumentarlagen am Beginn der Dokumentarlagenauswahl platziert werden, und die Dokumentarlagen lassen sich in der Dokumentarlagenauswahl entsprechend ihrer Funktionalität gruppieren.
Kommando DOCMENU
Mit dem Kommando DOCMENU können Dokumentarlagen an die oberste Ebene in den Lagenauswahlmenüs des Layoutsystems zugewiesen werden um die Auswahl häufig benutzter Dokumentarlagen zu vereinfachen bzw. zu beschleunigen. Die Syntax für das DOCMENU -Kommando lautet:
DOCMENU <menuline> (<layer>) ;
<menuline> ist hierbei die Zeile bzw. Position an der die über die Dokumentarlagennummer <menuline> angegebene Dokumentarlage in den obersten Ebenen der Lagenauswahlmenüs angezeigt werden soll.
Kommando USERUNITS
Mit dem Kommando
USERUNITS kann die Voreinstellung der Längeneinheiten für die Koordinatenein- und ausgabe definiert werden. Die Syntax für dieses Kommando lautet:
USERUNITS (METRIC) ;
bzw.
USERUNITS (IMPERIAL) ;
Dabei gibt
METRIC eine Einstellung auf mm-Einheiten und
IMPERIAL eine Einstellung auf Inch-Einheiten an.
Kommando SCMDEFLIBRARY
Mit dem Kommando
SCMDEFLIBRARY lässt sich ein Verweis auf die Stromlaufbibliothek
<stdlib>.ddb mit Standardsymbolen (Pin, Bustap, Junction, Labels, ...) und gleichzeitig ein Verweis auf das Verzeichnis
<libpath> mit den Stromlaufbibliotheken einstellen. Die Syntax hierfür lautet:
SCMDEFLIBRARY ("<libpath>/<stdlib>");
Der Datenbank-Pfad
<libpath> ist dabei frei wählbar, sollte jedoch auf das Verzeichnis verweisen, in dem neben der Datei
<stdlib>.ddb mit den Standardsymbolen auch alle anderen benötigten Stromlauf-Bibliotheksdateien zu finden sind. Zu beachten ist dabei, dass
/ das Trennzeichen für Hierarchien (sowohl im Dateiverzeichnis, als auch auf Datenbank-Ebene) darstellt (im Unterschied zu DOS:
\ ). Bei richtiger Definition dieser System-Variablen kann jedes SCM-Bibliothekssymbol entweder über Popupmenü durch die Selektion der SCM-Bibliotheksdatei und die Anwahl des gewünschten Symbols oder direkt durch die Eingabe von
<scmlib>/<symbolname>
in den Stromlauf geladen werden (also z.B. mit
74ls/74ls90 oder
passiv/r ). Auf die in
<stdlib>.ddb definierten Sondersymbole kann ohne explizite Selektion der Bibliotheksdatei direkt zugegriffen werden. Darüber hinaus ist im
Schaltplaneditor auch weiterhin die explizite Selektion der Stromlaufbibliothek über die Funktion
im Menü
möglich (die Eingabe von
- bewirkt dabei das Löschen des aktuellen Eintrags, die Eingabe von
! bzw.
. die Einstellung der über
SCMDEFLIBRARY definierten Bibliothek).
Kommando LAYDEFLIBRARY
Mit dem Kommando
LAYDEFLIBRARY lässt sich der Pfadname der Bibliothek mit den Layoutsymbolen definieren. Die Syntax für dieses Kommando lautet:
LAYDDEFLIBRARY ("<libpath>");
Der Datenbank-Pfad
<libpath> ist dabei frei wählbar; zu beachten ist dabei, dass
/ das Trennzeichen für Hierarchien im Dateiverzeichnis darstellt (im Unterschied zu DOS:
\ ). Bei richtiger Definition dieser System-Variablen kann jedes in der Datei
<libpath>.ddb enthaltene Layoutsymbol durch die Angabe von
<symbolname>
in das Layout geladen werden (also z.B. mit
dil16 oder
sot23 ). Darüber hinaus ist sowohl im
Layouteditor als auch im
Autoplacement auch weiterhin die explizite Selektion der Layoutbibliothek über die Funktion
im Menü
möglich (die Eingabe von
- bewirkt dabei das Löschen des aktuellen Eintrags, die Eingabe von
! bzw.
. die Einstellung der über
LAYDEFLIBRARY definierten Bibliothek).
Neben dem Default-Pfadnamen für die Symbolbibliothek im BAE-Layoutsystem setzt das Kommando
LAYDEFLIBRARY zusätzlich auch den Pfadnamen der Standardbibliothek für die Funktion
zur Anzeige Logischer Bibliotheksdefinitionen im
Schaltplaneditor.
Kommando LAYDEFELEMENT
Mit dem Kommando
LAYDEFELEMENT lässt sich ein Default-Eintrag für den Namen des jeweils zu generierenden Layouts festlegen. Die Syntax für dieses Kommando lautet:
LAYDEFELEMENT ("<layout-elementname>");
Die Definition dieses Eintrages erleichtert das Arbeiten mit dem
Packager ganz erheblich, da dabei jeweils die Abfrage nach dem Layoutelement einfach mit der Eingabetaste quittiert werden kann, und die Software dann selbsttätig den über
LAYDEFELEMENT definierten Namen einträgt (selbstverständlich ist auch weiterhin eine explizite Spezifikation des Layoutelementnamens möglich).
Kommando PROJROOTDIR
Mit dem Kommando
PROJROOTDIR kann das Startverzeichnis für die optionale Directory-Auswahl in den Datei-Auswahlmenüs festgelegt werden. Bei der Verzeichnisauswahl werden dann jeweils die Unterverzeichnisse des mit
PROJROOTDIR definierten Wurzelverzeichnisses zur Auswahl angezeigt. Die Syntax für das Kommando
PROJROOTDIR lautet
PROJROOTDIR ("<rootdir>");
wobei für
<rootdir> das gewünschte Wurzelverzeichnis für die Directory-Auswahl anzugeben ist. Enthält die Setupdatei kein
PROJROOTDIR -Kommando, dann wird das aktuelle Verzeichnis für die Verzeichnisauswahl verwendet. Mögliche Einträge für <rootdir> sind z.B.
/ (Wurzelverzeichnis des aktuellen Laufwerks),
d: (Wurzelverzeichnis des PC-Laufwerks D:),
c:/cad_data (Verzeichnis
cad_data auf dem PC-Laufwerk C:),
/pcb/projects (Verzeichnisbaum
pcb/projects des aktuellen Laufwerks), usw. Der
<rootdir> -Eintrag des
PROJROOTDIR -Kommandos darf keine Sonderzeichen wie z.B.
. oder
\ enthalten.
Kommando WINMENUMODE
Die Windows- bzw. Motif-Versionen der BAE-Software können wahlweise mit Pulldownmenüs oder mit Seitenmenüs betrieben werden. Das
bsetup-Kommando
WINMENUMODE dient dazu, die gewünschte Benutzeroberfläche zu aktivieren. Mit dem folgenden Kommando wird die BAE-Standardbenutzeroberfläche mit Seitenmenüs aktiviert; dies ist zugleich die Standardeinstellung für den Fall, dass in der Setupdatei kein
WINMENUMODE -Kommando eingetragen ist:
WINMENUMODE (SIDEMENU);
Mit dem folgenden Kommando wird in den Windows- bzw. Motif-Versionen der BAE-Software die BAE-Benutzeroberfläche mit Pulldownmenüs (Kontextmenüs erreichbar über linke Maustaste, Funktionswiederholung über rechte Maustaste) aktiviert:
WINMENUMODE (PULLDOWN);
Mit dem folgenden Kommando wird in den Windows- bzw. Motif-Versionen der BAE-Software die BAE-Benutzeroberfläche mit Pulldownmenüs (Kontextmenüs Windows-konform erreichbar über rechte Maustaste, Funktionswiederholung über linke Maustaste) aktiviert:
WINMENUMODE (PULLDOWN_RMB_CONTEXT);
Die DOS- und X11-Versionen der BAE-Software können grundsätzlich nur mit der BAE-Standardbenutzeroberfläche betrieben werden.
Kommando FRAMECOLOR
Mit dem Kommando
FRAMECOLOR kann die Farbzuordnung für die Benutzeroberfläche der BAE-Module definiert werden. Die Syntax für dieses Kommando lautet:
FRAMECOLOR <screenarea> (<colornumber>);
<screenarea> gibt den Arbeitsbereich der Benutzeroberfläche an. Hierbei sind folgende Einträge für die Benutzeroberflächen der BAE-Grafikmodule (BAE-Shell,
Schaltplaneditor,
Layouteditor,
Autorouter,
CAM-Prozessor,
CAM-View) möglich:
Identifier | Arbeitsbereich |
DIALAREA | Status-/Eingabezeile |
LISTAREA | Textausgabe/Grafikarbeitsbereich |
MENUHEAD | Menü-Header/Info-Feld |
MENUHEAD BACK | Menü-Header/Info-Feld Hintergrund |
MAINMENU | Hauptmenü |
MAINMENU BACK | Hauptmenü Hintergrund |
SUBMENUA | Menü/Untermenü |
SUBMENUA BACK | Menü/Untermenü Hintergrund |
EMENMARK | Menü-Kursor enabled (System erwartet Eingabe) |
EFILMARK | Menü-Balken enabled (System erwartet Eingabe) |
DMENMARK | Menü-Kursor disabled (System arbeitet) |
DFILMARK | Menü-Balken disabled (System arbeitet) |
POPMTEXT | Popupmenü Text |
POPMBUTT | Popupmenü Button |
POPMBACK | Popupmenü Hintergrund |
POPMFRAM | Popupmenü Rahmen |
POPMFILL | Directory-Popupmenü Hintergrund |
<colornumber> gibt die Farbnummer an. Dabei sind Werteinträge von 1 bis 15 erlaubt. Die Zuordnung der Farbnummer zu der entsprechenden Farbe erfolgt gemäß folgender Liste:
Farbnummer | Farbe |
1 | Blau |
2 | Grün |
3 | Kobaltblau |
4 | Rot |
5 | Violett |
6 | Braun |
7 | Hellgrau |
8 | Dunkelgrau |
9 | Hellblau |
10 | Hellgrün |
11 | Hellkobaltblau |
12 | Hellrot |
13 | Hellviolett |
14 | Gelb |
15 | Weiß |
Beispiele
Im Lieferumfang des AutoEngineers ist ein Setup-File-Template (nach Installation im BAE-Programm-Verzeichnis unter stdset.def ) mit folgendem Inhalt enthalten:
SETUP
/* Bartels AutoEngineer Standard Setup */
/* Menue Lagenbezeichnungen */
LAYMENUTEXT LINE 1 ("Lage &1 (Loets.)",1);
LAYMENUTEXT LINE 2 ("Lage &2",2);
LAYMENUTEXT LINE 3 ("Lage &3",3);
LAYMENUTEXT LINE 4 ("Lage &4",4);
LAYMENUTEXT TOPLAYER ("Lage n (Bes&ts.)");
/* Dokumentarlagen */
LAYDOCLAYER 1 ("Bestueckungsplan",SIDE2,LOGICAL);
LAYDOCLAYER 2 ("Loetmaske",NONE,PHYSICAL);
LAYDOCLAYER 3 ("Bohrplan",BOTH,NOROTATE);
LAYDOCLAYER 4 ("Film Passermarken",BOTH,PHYSICAL);
LAYDOCLAYER 5 ("Baugruppen",BOTH,LOGICAL);
LAYDOCLAYER 6 ("Bauteil-DRC",SIDE2,LOGICAL);
LAYDOCLAYER 7 ("Pin-Nummer",SIDE2,LOGICAL);
LAYDOCLAYER 8 ("Lotauftrag (SMD)",SIDE2,LOGICAL);
LAYDOCLAYER 9 ("Bemassung/Hinweise",SIDE2,LOGICAL);
/* Pad Lagenabfrage Freigabe */
LAYPADLAYER (DISABLE);
/* Film Passermarken */
LAYPLTMARKLAY (4);
/* Teilweise Gruppen Darstellung */
LAYGRPDISPLAY (5);
/* Standard Suchpfade und Namen */
SCMDEFLIBRARY ("/baelib/stdsym");
LAYDEFLIBRARY ("/baelib/laylib");
LAYDEFELEMENT ("s1");
/* Standard Benutzereinheiten */
USERUNITS (METRIC);
/* Windows/Motif Menueform */
WINMENUMODE (PULLDOWN);
/* Farbeinstellungen Grafik allgemein */
FRAMECOLOR DIALAREA (11);
FRAMECOLOR LISTAREA (14);
/* Farbeinstellungen Seitenmenu rechts */
FRAMECOLOR MENUHEAD (10);
FRAMECOLOR MENUHEAD BACK (8);
FRAMECOLOR MAINMENU (12);
FRAMECOLOR MAINMENU BACK (8);
FRAMECOLOR SUBMENUA (10);
FRAMECOLOR SUBMENUA BACK (8);
/* Farbeinstellungen Selektionsbalken */
FRAMECOLOR EMENMARK (2);
FRAMECOLOR DMENMARK (15);
FRAMECOLOR EFILMARK (8);
FRAMECOLOR DFILMARK (4);
/* Farbeinstellungen Popupmenu */
FRAMECOLOR POPMTEXT (3);
FRAMECOLOR POPMBUTT (14);
FRAMECOLOR POPMBACK (8);
FRAMECOLOR POPMFRAM (15);
FRAMECOLOR POPMFILL (1);
/* Farbeinstellungen Textprogramme */
FRAMECOLOR DIALLINE (10);
FRAMECOLOR OUTLINES (14);
FRAMECOLOR HEADLINE (12);
END.
Obige Setupdatei sollte an die benutzer- bzw. firmenspezifischen Anforderungen (Aufbau der Benutzeroberfläche, Zugriff auf Stromlauf- und Layoutbibliotheken, Zuordnung der Signallagen, Verwendung von Dokumentarlagen, usw.) angepasst werden und kann dann mit dem folgenden Kommando in die Software eingespielt werden:
> bsetup stdset 
Dateien
bsetup.dat -- Setupdatei kompiliert (im BAE-Programm-Verzeichnis)
stdset.def -- Setupdatei-Quellcode (Template)
Siehe auch
BAE Shell, Schaltplaneditor, Layouteditor, Autorouter, CAM-Prozessor, CAM-View, Packager.
Diagnose
Die durch bsetup erzeugten Fehlermeldungen sind selbsterklärend.
7.3 BICSET (IC-Design)
HINWEIS: Das Utilityprogramm bicset ist nur in Bartels AutoEngineer IC-Design verfügbar!
Name
bicset - Bartels AutoEngineer IC-Design Setup Utility
Synopsis
bicset setupfile
Beschreibung
Das Utilityprogram
bicset dient der Konfiguration von Setupdaten für das IC-Designsystem des
Bartels AutoEngineer IC-Design-System. Hierzu zählen Standardzellen-Dimensionsangaben für die automatische Platzierung, Lagenzuordnungen und Lagenmenüdefinitionen, DRC-Parameter, usw.
bicset erwartet als Argument den Dateinamen
setupfile der Setupdatei (diese Datei muss mit der Extension
.def verfügbar sein; beim Programmaufruf ist diese Dateinamensendung wegzulassen).
bicset liest die Setupdatei und speichert die darin enthaltenen Setup-Parameter in der Datei
bsetup.dat (im aktuellen Verzeichnis) ab. Beim Aufruf des IC-Designsystems des
Bartels AutoEngineers IC-Design-Systems werden diese Parameter aus der Datei
bsetup.dat im BAE-Programm-Verzeichnis geladen und aktiviert.
Format der Eingabedatei
Dateianfang, Dateiende, Kommentare
Die Setupdatei beginnt mit dem Schlüsselwort
SETUP und endet mit
END. . Kommentare können zwischen
/* und
*/ eingefügt werden.
Dieser Abschnitt wird zur Zeit überarbeitet. Wir bitten um Nachsicht.
Beispiele
Im Lieferumfang der
Bartels AutoEngineer IC-Design Software ist die IC-Design-Setupdatei
icset.def (im BAE-Programm-Verzeichnis) mit folgendem Inhalt enthalten:
SETUP
/* Bartels AutoEngineer IC Design Setup */
Dieser Abschnitt wird zur Zeit überarbeitet. Wir bitten um Nachsicht.
END.
Obige Setupdatei können Sie an Ihre spezifischen Anforderungen anpassen und dann mit dem folgenden Kommando kompilieren bzw. aktivieren:
> bicset icset 
Dateien
bsetup.dat -- Setupdatei kompiliert (im BAE-Programm-Verzeichnis)
icset.def -- Setupdatei-Quellcode (Template)
Siehe auch
BAE-Shell,
Chipeditor,
Cellplacer,
Cellrouter.
Diagnose
Die durch
bicset erzeugten Fehlermeldungen sind selbsterklärend.
7.4 BLDRING (IC-Design)
HINWEIS: Das Utilityprogramm bldring ist nur in Bartels AutoEngineer IC-Design verfügbar!
Name
bldring - Bartels AutoEngineer IC-Design Build Ring Utility
Synopsis
bldring ringdescriptionfile
Beschreibung
Das Utilityprogram
bldring dient zur automatisierten Erstellung eines Chip-Basislayouts aus einer Beschreibungsdatei. Die Beschreibungsdatei entählt Informationen über die verwendeten Zellmakros und Sektionen zur Platzierung eines ässeren (rechteckigen) Rings mit Bondingpadzellen und beliebigen anderen Zellplatzierungen. Bei den Bondingpadzellen muss nur die relative Abfolge der Padzellen in den einzelnen Ringseiten spezifiziert werden, die Platzierungskoordinaten werden automatisch aus den Zellmakrobeschreibungen und den Ringdimensionen bestimmt. In den nicht von Bondingpads belegten Teilen des Rings werden automatisch Metallstrukturen zum Durchschleifen zweier Spannungsversorgungen erzeugt. Bei den festen Zellplatzierungen ist eine Koordinatenangabe relativ zu den Begrenzungen des Rings möglich, so dass einmal definierte Strukturen einfach in verschieden grosse Designs übernommen werden können.
bldring erwartet als Argument den Dateinamen
ringdescriptionfile der Beschreibungsdatei (diese Datei muss mit der Extension
.rig verfügbar sein; beim Programmaufruf ist diese Dateinamensendung wegzulassen). Die Namen der Ausgabedatei und des darin erzeugten IC-Designelementes werden in der Ringbeschreibungsdatei spezifiziert.
Format der Eingabedatei
Dateianfang, Dateiende, Kommentare
Die Setupdatei beginnt mit dem Schlüsselwort
ring und wird durch das Dateiende beendet. Kommentare können zwischen
/* und
*/ eingefügt werden.
Dieser Abschnitt wird zur Zeit überarbeitet. Wir bitten um Nachsicht.
Beispiele
Dieser Abschnitt wird zur Zeit überarbeitet. Wir bitten um Nachsicht.
Dateien
Siehe auch
Chipeditor.
Diagnose
Die durch
bldring erzeugten Fehlermeldungen sind selbsterklärend.
7.5 CONCONV
Name
conconv - Connections Conversion Utility
Synopsis
conconv projectname libraryfile
Beschreibung
Das Programm
conconv dient der Übertragung von physikalischen (d.h. gepackten) ASCII-Netzlisten aus den Formaten BAE, CALAY, MARCONI oder RACAL in das interne Netzlistenformat des
Bartels AutoEngineer.
conconv erwartet als erstes Argument den Dateinamen
projectname der Netzlistendatei (diese Datei muss mit der Extension
.con verfügbar sein; beim Programmaufruf ist der Dateiname ohne diese Extension anzugeben).
conconv erwartet als zweites Argument den Namen
libraryfile der Layoutbibliothek, aus der die Gehäusebauformen geladen werden sollen.
libraryfile muss im DDB(Design DataBase)-Format vorliegen, und im Dateinamen die Extension
.ddb aufweisen (diese Extension ist beim Programmaufruf nicht mit anzugeben).
conconv liest die ASCII-Netzliste
<projectname>.con und prüft, ob alle darin enthaltenen Layoutsymbole in der Bibliothek
<libraryfile>.ddb definiert sind. Es wird das Job-File
<projectname>.ddb generiert und die Freelist
<projectname>.fre ausgegeben. Die Freelist wird vom System nicht weiter benötigt und ist zur Auswertung durch den Benutzer bestimmt (Anzeige nicht angeschlossener Pins, Statistik). Im Job-File befindet sich nunmehr die übersetzte Netzliste. Auch die ASCII-Netzliste
<projektname>.con wird jetzt nicht mehr benötigt, sollte jedoch für etwaige Änderungen aufgehoben werden.
Format der Eingabedatei
Dateianfang, Dateiende, Kommentare
Die Eingabedatei mit der einzulesenden ASCII-Netzliste muss mit dem Kommando
LAYOUT beginnen und mit dem Kommando
END. enden. Kommentare können an beliebiger Stelle zwischen
/* und
*/ eingefügt werden. Das
LAYOUT -Kommando hat folgendes Format:
LAYOUT <elementname>;
<elementname> gibt den Namen der Netzliste bzw. des in der
Zieldatei zu erstellenden Layouts an.
Bauteilliste
Nach dem
LAYOUT -Kommando folgt die Bauteilliste, die mit dem Schlüsselwort
PARTS beginnen muss und für jedes Bauteil ein Kommando der Form
<part> : <plname> ;
enthält.
<part> ist hierbei der Bauteilname,
<plname> der Physical Library Name, d.h. der Name des Gehäuses bzw. des Layoutsymbols.
Netzliste
Nach der Bauteilliste folgt die Netzliste, die je nach Format mit einem entsprechenden Schlüsselwort beginnen muss
(CONNECT für Bartels-Format,
CALAY für CALAY-Format,
RACAL für RACAL-Format,
MARCONI für MARCONI-Format). Im Bartels-Format ist für jedes Netz ein Kommando der Form
<part>.<pin>=<part>.<pin>=...=<part>.<pin>
bzw.
/<net>/ <part>.<pin>=<part>.<pin>=...=<part>.<pin>
einzutragen. Zusätzlich können hinter
"/<net>/" die folgenden Netzattribute definiert werden:
PRIORITY(<prior>) MINDIST(<dist>) ROUTWIDTH(<width>)
Obige Netzattribute werden vom
Autorouter berücksichtigt, wobei
<prior> die Routingpriorität,
<dist> den minimalen Abstand des Netzes zu anderen Potentialen und
<width> die netzbezogene Leiterbahnbreite spezifizieren. Darüber hinaus kann für jeden einzelnen Pin (jeweils hinter
"<pin>" , in Klammern) eine pinbezogene Leiterbahnanschlussbreite definiert werden.
<prior> ist als Integerwert, die anderen Werte jeweils in Millimetern anzugeben.
Im CALAY-Format ist für jedes Netz ein Kommando der Form
<part>(<pin>),<part>(<pin>),...,<part>(<pin>)
bzw.
/<net> <part>(<pin>),<part>(<pin>),...,<part>(<pin>)
einzutragen. Darüber hinaus kann für jeden einzelnen Pin (jeweils hinter
"<pin>" , abgetrennt durch ein Komma) eine pinbezogene Leiterbahnanschlussbreite (Einheit mm) definiert werden.
Im RACAL-Format ist für jedes Netz eine Kommandosequenz der Form
.ADD_TER <part> <pin> <net>
.TER <part> <pin>
<part> <pin>
:
<part> <pin>
einzutragen. Die RACAL-Netzliste ist mit dem Schlüsselwort
.END abzuschließen.
Im MARCONI-Format ist für jedes Netz ein Kommando der Form
<part> <pin> <part> <pin> ... <part> <pin> ; <net> /
einzutragen.
Beispiele
Netzliste
(design.con ) im Bartels-Format:
LAYOUT board;
PARTS
c1 : cap50;
c2 : cap75;
r1 : res;
t1 : tebc;
CONNECT
/net1/ c2.2=t1.3;
/net2/ c1.2(0.4)=t1.2=r1.2;
/gnd/ PRIORITY(2) MINDIST(0.4) t1.1=c1.1(0.4);
/vcc/ PRIORITY(1) ROUTWIDTH(0.5) c2.1=r1.1;
END.
Netzliste
(design.con ) im CALAY-Format:
LAYOUT board;
PARTS
c1 : cap50;
c2 : cap75;
r1 : res;
t1 : tebc;
CALAY
/net1 c2(2),t1(3);
/net2 c1(2,0.4),t1(2),r1(2);
/gnd t1(1),c1(1,0.4);
/vcc c2(1,0.5),r1(1,0.5);
END.
Netzliste
(design.con ) im RACAL-Format:
LAYOUT board;
PARTS
c1 : cap50;
c2 : cap75;
r1 : res;
t1 : tebc;
RACAL
.ADD_TER c2 2 net1
.TER t1 3
.ADD_TER c1 2 net2
.TER t1 2
r1 2
.ADD_TER t1 1 gnd
.TER c1 1
.ADD_TER c2 1 vcc
.TER r1 1
.END
END.
Netzliste
(design.con ) im MARCONI-Format:
LAYOUT board;
PARTS
c1 : cap50;
c2 : cap75;
r1 : res;
t1 : tebc;
MARCONI
c2 2 t1 3 ; net1 /
c1 2 t1 2 r1 2 ; net2 /
t1 1 c1 1 ; gnd /
c2 1 r1 1 ; vcc /
END.
Alle oben aufgeführten Netzlisten können mit folgendemAufruf transferiert werden:
> conconv design laylib 
Obiger Aufruf bewirkt, dass die ASCII-Netzliste
design.con eingelesen wird, deren Einträge in der Bauteilliste gegen die Gehäusebibliothek
laylib.ddb geprüft werden, und anschließend die Netzliste (mit Bauteilliste) unter dem Namen
board im Jobfile
design.ddb abgespeichert wird. Wurde der
conconv-Lauf fehlerfrei beendet, dann kann man nun den
Layouteditor aufrufen, ein Layout mit dem Elementnamen
board im Jobfile
design.ddb erzeugen, und anschließend im Menü
jeweils mit
die in der Bauteilliste eingetragenen Bauteile in das Layout laden. Zu beachten ist hierbei, dass beim Laden der Bauteile dieselbe Bibliothek
laylib.ddb verwendet wird, wie beim
conconv-Aufruf spezifiziert (evtl. Einstellung im
Layouteditor über
-
).
Siehe auch
netconv
Diagnose
Die durch
conconv erzeugten Fehlermeldungen sind selbsterklärend.
Warnungen
In den Eingabedaten sind Bauteilnamen, Pinnamen oder Netznamen mit Sonderzeichen
(- ,
+ ,
/ ,
( ,
= , usw.) in einfachen oder doppelten Anführungszeichen anzugeben.
7.6 COPYDDB
Name
copyddb - Copy Design Database Utility
Synopsis
copyddb srcfile dstfile {-ms|-md|-mr}
{-a|-as|-al|-ac|-sp|-ss|-sl|-sm|-ll|-lp|-ls|-ld|-cl|-cc|-cp|
-drc|-llib|-gtab|-fnt|-sct|-lct|-ict|-ulp|-ull|-rule|-recover} [pattern]
Beschreibung
Das Programm
copyddb kopiert selektierbare Datenbankeinträge von einem DDB(Design DataBase)-File in ein anderes. Damit lässt sich
copyddb als im Batch-Mode betreibbares Programm zum Mischen von Bibliotheken oder zur Aktualisierung von Job-Design-Files verwenden.
copyddb erwartet zwei Dateinamen als Argumente.
srcfile und
dstfile sind die Namen der DDB-Quell- bzw. der DDB-Zieldatei (diese Dateien müssen mit der Extension
.ddb verfügbar sein, wenn die Dateinamen beim Programmaufruf ohne Extension angegeben wurden).
copyddb kopiert Einträge aus der Quelldatei in die Zieldatei, wobei über den Merge-Switch gesteuert werden kann, ob evtl. in der Zieldatei bereits vorhandene Einträge überschrieben werden dürfen oder nicht, bzw. ob lediglich in der Zieldatei bereits vorhandene Elemente ersetzt werden sollen (replace).
copyddb erwartet optional ein Schlüsselwort als Argument. Über dieses
pattern werden die Namen der zu kopierenden Elemente spezifiziert. Die Angabe des Schlüsselwortes kann mit Wildcards erfolgen. Ist kein Schlüsselwort angegeben, dann werden alle Elemente der selektierten Klasse kopiert. Die Selektion der zu kopierenden Objektklasse erfolgt über den Class Switch.
Optionen
Merge Switch (erforderlich):
-ms | Merge Source (Quelldatei ist Master) |
-md | Merge Destination (Zieldatei ist Master) |
-mr | Merge Replace (Quelldatei ist Master) |
Class Switch (erforderlich):
-a | Alle Klassen |
-as | Alle SCM-Klassen (wie alle -s? -Switches) |
-al | Alle Layout-Klassen (wie alle -l? -Switches) |
-ac | Alle Chip/IC Design-Klassen (wie alle -c? -Switches) |
-sp | SCM Pläne (mit Bauteilliste und logischer Netzliste) |
-ss | SCM Symbole (mit Logischer Bibliothek) |
-sl | SCM Labels |
-sm | SCM Marker |
-ll | Layout Pläne (mit physikalischer Netzliste und Routingdaten) |
-lp | Layout Bauteile |
-ls | Layout Padstacks |
-ld | Layout Pads |
-cl | Chip/IC Design Layouts (mit physik. Netzliste und Routingdaten) |
-cc | Chip/IC Design Zellen |
-cp | Chip/IC Design Pins |
-drc | Layout Design Rule Check Parameterblöcke |
-llib | Logische Bibliothekseinträge |
-gtab | Gerber Blendentabellen |
-fnt | BAE-Zeichensatzdaten |
-sct | SCM Farbtabellen |
-lct | Layout Farbtabellen |
-ict | Chip/IC Design Farbtabellen |
-ulp | User Language-Programme |
-ull | User Language-Libraries |
-rule | Regelsystemdefinitionen |
-recover | Alle Klassen (Restaurierungsmodus für korrupte DDB-Dateien) |
Beispiele
Kopieren aller Layoutsymbole deren Namen mit
so1 beginnen (z.B.
so14 ,
so16 , ...) aus
newlib.ddb nach
laylib.ddb mit
laylib.ddb als Master-File:
> copyddb newlib laylib -md -lp so1* 
Kopieren aller SCM-Einträge aus
design.ddb nach
redesign.ddb mit
design.ddb als Master-File:
> copyddb design redesign -ms -as 
Erneuern der in
design.ddb enthaltenen Padstack-Definitionen, deren Namen mit
finger beginnen, entsprechend den in
laylib.ddb enthaltenen Definitionen:
> copyddb laylib design -ms -ls finger* 
Kopieren aller User Language-Libraries aus
ulcprog.vdb nach
ullibs.sav mit
ulcprog.vdb als Master-File:
> copyddb ulcprog.vdb ullibs.sav -ms -ulp 
Ersetzen von in
design.ddb enthaltenen Layoutbauteilen durch entsprechend benannte Layoutbauteile aus
library.ddb , d.h. Aktualisieren der jobspezifischen Layoutbibliothek in
design.ddb :
> copyddb library design -mr -lp 
Dateien
bae.log -- Logfile (im aktuellen Verzeichnis)
Siehe auch
listddb.
Die Funktionalität zum Kopieren von DDB-Dateielementen ist auch in der User Language-Systemfunktion
ddbcopyelem implementiert.
Diagnose
Die durch
copyddb erzeugten Fehlermeldungen sind selbsterklärend.
Warnungen
copyddb ist ein mächtiges Werkzeug zur Manipulation von DDB-Dateiinhalten. Achten Sie ganz besonders darauf, WAS Sie mit
copyddb tun. Konflikte könnten auftreten, wenn unterschiedliche SCM- und/oder Layoutpläne gemischt werden, da dadurch auch Bauteil-Listen, Netzlisten, Bauteil-Attribute gemischt werden. Die unsachgerechte Anwendung von
copyddb kann insbesondere zu Problemen im
Packager bzw. in der
Backannotation führen. Wir weisen daher mit Nachdruck darauf hin, nach dem Gebrauch von
copyddb den Inhalt der Zieldatei auf Konsistenz zu überprüfen!
7.7 FONTCONV
Name
fontconv - Font Conversion Utility
Synopsis
fontconv fontfile libraryfile
Beschreibung
Das Programm
fontconv dient dazu, im ASCII-Format erstellte Vektorfontdaten in eine Fontbibliothek zu übertragen.
Das Argument
fontfile gibt den Namen der Fontbeschreibungsdatei an (diese muss mit der Extension
.fon verfügbar sein; beim Programmaufruf ist der Dateiname ohne diese Extension anzugeben).
Mit dem Argument
libraryfile wird die Bibliothek angegeben, in der die Fontdaten eingetragen werden. Die Bibliotheksdatei erhält die Extension
.fnt , die beim Aufruf nicht mit anzugeben ist. Die Fontbibliothek des
Bartels AutoEngineer trägt den Namen
ged.fnt und befindet sich im gleichen Verzeichnis wie die ausführbaren Programmdateien.
Format der Eingabedatei
Die Fontbeschreibungsdatei ist nach folgendem Schema aufgebaut:
FONT <fontname>;
CHAR <ord>;
POLY (0, 0), (10, 10), (10, 0) ;
:
:
END.
<fontname> gibt den Namen des Fonts in der Bibliothek an.
<ord> gibt die ASCII-Ordnungszahl des definierten Zeichens an (z.B. 65 für
A ). Es können Zeichen im Bereich von 0..255 definiert werden. Werden in einer Beschreibungsdatei für die gleiche ASCII-Nummer verschiedene Zeichenbeschreibungen angegeben, so gilt die jeweils letzte. Die Zeichen (CHARacter) werden als Liste von Linienzügen (POLYgonen) beschrieben. Ein Polygon wird durch Aufzählung der Koordinaten seiner Eckpunkte angegeben. Die Koordinaten sind ganzzahlig in einem 32x48 Raster anzugeben, ausgehend von 0,0 in der linken unteren Ecke. Es ergibt sich also ein Wertebereich von 0..31 für X-Koordinaten und 0..47 für Y-Koordinaten. Ein Zeichen kann bis zu 32 Eckpunkte enthalten. Kommentare beliebiger Länge können zwischen den Zeichenketten
/* und
*/ an beliebiger Stelle eingefügt werden.
Beispiele
Inhalt der Datei
test.fon mit Definition für
! und
" (je 4 Eckpunkte und 2 Polygone):
/* Name des Fonts in der Bibliothek */
FONT test;
/* ASCII-Code 33 fuer '!' */
CHAR 33;
/* Kurzer unterer Strich */
POLY (16,5),(16,9);
/* Langer oberer Strich */
POLY (16,13),(16,45);
/* ASCII-Code 34 fuer '"' */
CHAR 34;
/* Linker Strich */
POLY (12,40),(4,32);
/* Rechter Strich */
POLY (16,32),(24,40);
END.
Eintragen in die Fontbibliothek
(ged.fnt ) mit:
> fontconv test ged 
Dateien
ged.fnt -- BAE-Fontbibliothek (im Programmverzeichnis)
Siehe auch
fontextr
Diagnose
Die durch
fontconv erzeugten Fehlermeldungen sind selbsterklärend.
Warnungen
Ein eventuell schon in der Bibliothek enthaltener Font gleichen Namens wird kommentarlos ersetzt.
7.8 FONTEXTR
Name
fontextr - Font Extraction Utility
Synopsis
fontextr fontname libraryfile
Beschreibung
Das Programm
fontextr dient dazu, Vektorfontdaten aus dem internen Bibliotheksformat in ein les- und editierbares ASCII-Format umzuwandeln.
Das Argument
fontname gibt den Namen des Fonts in der Bibliothek an. Die ausgelesen Fontdaten werden in einer ASCII-Textdatei mit dem Namen
<fontname>.fon abgelegt.
Mit dem Argument
libraryfile wird die Bibliothek angegeben, aus der die Fontdaten ausgelesen werden. Die Bibliotheksdatei hat die Extension
.fnt , die beim Aufruf nicht mit anzugeben ist. Die Fontbibliothek des Bartels AutoEngineers trägt den Namen
ged.fnt und befindet sich im gleichen Verzeichnis wie die ausführbaren Programmdateien.
Format der Ausgabedatei
Die Fontbeschreibungsdatei ist nach folgendem Schema aufgebaut:
FONT <fontname>;
CHAR <ord>; /* 'ASCII-Character' */
POLY (0, 0), (10, 10), (10, 0) ;
:
:
END.
<fontname> gibt den Namen des Fonts in der Bibliothek an.
<ord> gibt die ASCII-Ordnungszahl des definierten Zeichens an, z.B. 65 für
A . Die Zeichen (CHARacter) werden als Liste von Linienzügen (POLYgonen) beschrieben. Ein Polygon wird durch Aufzählung der Koordinaten seiner Eckpunkte angegeben. Am Ende der Kopfzeile jeder Zeichendefinition steht in Kommentarform die ASCII-Repräsentation des Zeichens.
Beispiele
Auslesen des Fonts
standard aus der Fontbibliothek
ged.fnt (und Ablegen der Zeichensatzdaten in der ASCII-Datei
standard.fon ):
> fontextr standard ged 
Dateien
ged.fnt -- BAE-Fontbibliothek (im Programmverzeichnis)
Siehe auch
fontconv
Diagnose
Die durch
fontextr erzeugten Fehlermeldungen sind selbsterklärend.
7.9 INSTALL
Name
install - Bartels AutoEngineer Installation Utility
Synopsis
install
install [-c] srcfile[pattern] dstfile[directory\*]
Beschreibung
Mit dem Programm
install kann die PC-Software des
Bartels AutoEngineer ganz oder teilweise vom Installationsmedium der BAE-Software auf die PC-Festplatte installiert werden. Darüber hinaus lassen sich mit
install auch einzelne oder mehrere Dateien entweder komprimieren oder dekomprimieren.
Die Installation der BAE-PC-Software kann nur mit diesem Utilityprogramm durchgeführt werden, da die Dateien auf den Installationsdisketten des
Bartels AutoEngineer in einem komprimierten Format ausgeliefert werden.
BAE-Softwareinstallation
Die Installation der BAE-PC-Software kann mit dem Aufruf
install
gestartet werden. Voraussetzung hierfür ist, dass das aktuelle Verzeichnis den Inhalt des BAE-Install-Kits enthält (dies ist z.B. dann der Fall, wenn die Disk 1 des BAE-Install-Kits in einem
Diskettenlaufwerk oder die BAE-CD-ROM im CD-ROM-Laufwerk eingelegt ist, und wenn das Arbeitsverzeichnis mit dem entsprechenden Laufwerk übereinstimmt). Nach Aufruf von
install durchläuft der Benutzer eine Abfragesequenz, in der u.a. der Installationsmodus sowie die Zielverzeichnisse zur Installation der BAE-Softwarekomponenten abgefragt werden. Der
Installationsmodus gibt an, welche Dateien kopiert werden sollen. Bei einer Neu-Installation werden alle Dateien kopiert. Bei einer Update-Installation werden auf
.dat ,
.def und
.fnt endende Systemdateien mit benutzerspezifischen Setupdaten, Farb- oder Blendentabellen, Zeichensätzen, usw. nicht überschrieben. Bei der Abfrage der Verzeichnisse werden Defaultnamen angezeigt. Diese können durch einfaches Drücken der Eingabetaste
übernommen werden. Die Pfadnamen der Zielverzeichnisse können editiert werden. Wahlweise können Zielverzeichnisnamen auch gelöscht werden, um die Installation der entsprechenden Softwarekomponenten zu unterdrücken. Ist eines der Zielverzeichnisse nicht vorhanden, dann wird es während der Installation nach Bestätigung durch den Benutzer automatisch angelegt.
Komprimieren/Dekomprimieren von Dateien
Selektierbare Dateien lassen sich mit der Aufrufart
install [-c] srcfile[pattern] dstfile[directory\*]
dekomprimieren (ohne Option
-c ) bzw. komprimieren (mit Option
-c ), wobei die Spezifikation von Wildcards optional zulässig ist
(pattern ). Ist das Ziel ein Verzeichnis für mehrere über Wildcard spezifizierte Dateien, so muss
\* an den Verzeichnisnamen angehängt werden.
Beispiele
Dekomprimieren aller
.ddb -Dateien von Floppy/Laufwerk A und Kopieren in ein Verzeichnis auf Festplatte:
> install a:\*.ddb c:\baelib\* 
Dekomprimieren der Datei
ged.fnt von Floppy/Laufwerk B und Kopieren in ein Verzeichnis auf Festplatte:
> install b:\ged.fnt c:\bae 
Komprimieren der Datei
design.ddb und Ablegen der komprimierten Datei unter
design.cmp :
> install -c design.ddb design.cmp 
Diagnose
Die durch
install erzeugten Fehlermeldungen sind selbsterklärend.
7.10 LISTDDB
Name
listddb - List Design Database Utility
Synopsis
listddb ddbfile listfile
Beschreibung
Mit dem Programm
listddb kann der Inhalt von DDB(Design DataBase)-Files ausgelistet werden.
Das Argument
ddbfile gibt den Namen der DDB-Datei an, deren Inhalt ausgelistet werden soll (die DDB-Datei muss mit der Extension
.ddb verfügbar sein, wenn der Dateiname beim Programmaufruf ohne Extension angegeben wurde).
Das Argument
listfile gibt den Namen der ASCII-Datei an, auf die der Inhalt der DDB-Datei ausgelistet werden soll.
Beispiele
Auflisten des Inhalts von
laylib.ddb auf die Datei
laylib.lst :
> listddb laylib laylib.lst 
Siehe auch
copyddb
Diagnose
Die durch
listddb erzeugten Fehlermeldungen sind selbsterklärend.
Warnungen
Das
listfile Argument gibt den Namen der durch
listddb zu erzeugenden Ausgabedatei an.
listddb führt keine Prüfung auf Existenz dieser Datei durch. Geben Sie daher in keinem Fall den Namen einer noch benötigten existierenden Datei an, da diese sonst durch
listddb kommentarlos überschrieben wird!
7.11 LOGLIB
Name
loglib - Logical Library Maintenance
Synopsis
loglib loglibfile libraryfile
Beschreibung
Das Programm
loglib dient dazu, Informationen über die Zuordnung der Stromlaufsymbole zu den Layoutsymbolen, die Zuordnung von logischen zu physikalischen Anschlüssen, Pin- und Gattertausch, feste Versorgungsanschlüsse, usw. in ein DDB(Design DataBase)-File einzuspielen. Dies ist notwendig, um die Transformation von Schaltplänen in das Layout, d.h. die Umsetzung logischer Netzlisten in physikalische (mit Hilfe des
Packagers oder umgekehrt über
) zu ermöglichen.
loglib erwartet als erstes Argument den Namen
loglibfile einer ASCII-Datei (Loglibdatei), in der die logische Bibliotheksinformation abgelegt ist (diese Datei muss mit der Extension
.def verfügbar sein; beim Programmaufruf ist der Dateiname ohne diese Extension anzugeben).
loglib erwartet als zweites Argument den Namen
libraryfile der DDB-Datei, in das die logische Bibliotheksinformation einzuspielen ist (diese Datei erhält die Extension
.ddb beim Programmaufruf ist der Dateiname ohne diese Extension anzugeben).
Gebrauch
Das Programm
loglib muss immer zur Anwendung kommen, wenn ein neues (oder geändertes) Stromlaufsymbol definiert wurde bzw. wenn sich eine neue (oder geänderte) Zuweisung von Stromlauf- zu Layoutsymbol ergibt. Im Regelfall wird zunächst das Stromlaufsymbol in der Stromlaufbibliothek erstellt (oder editiert). Anschließend wird (falls nicht schon existent) in der Layoutbibliothek das Layoutsymbol definiert, in welches das Stromlaufsymbol gepackt werden soll. Schließlich sind die entsprechenden Einträge in einer Loglibdatei zu erstellen und die darin eingetragenen Definitionen mit dem Programm
loglib in die Layoutbibliothek einzuspielen.
Format der Eingabedatei
Dateianfang, Dateiende, Kommentare
Die Loglibdatei beginnt mit dem Schlüsselwort
loglib und endet mit
end. . Kommentare können zwischen
/* und
*/ eingefügt werden.
Kommando part
Über das
part -Kommando erfolgt die Zuweisung des Stromlaufsymbols an das Layoutsymbol. Die Syntax für dieses Kommando lautet:
part <llname> : <plname>
Der
Packager wird bei der Umsetzung des Stromlaufs in das Layout entsprechend des eingetragenen
part -Kommandos das durch
<llname> (Logical Library Name) gegebene Stromlaufsymbol in die durch
<plname> (Physical Library Name) gegebene Gehäuseform packen. Steht vor
<plname> das Schlüsselwort
default , so besteht die Möglichkeit, bei der Stromlauf-Erstellung über einen entsprechenden Werteintrag für das am Stromlaufsymbol
<llname> definierte Attribut
$plname dem
Packager eine andere Gehäusezuweisung vorzugeben:
part <llname> : default <plname>
Wird für
<plname> eine (durch Komma getrennte) Liste von Gehäusen angegeben, dann besteht während der Bauteilplatzierung im Layout die Möglichkeit der Zuweisung der entsprechenden Alternativbauform(en) an das betreffende Bauteil. Die Syntax hierfür lautet:
part <llname> : [default] <plname>[,<plname>,...,<plname>]
Der erste
<plname> -Eintrag entspricht dabei dem Default-Gehäuse für das entsprechende Bauteil. Die nachfolgenden Einträge spezifizieren die Alternativbauformen, die über die Funktion
während der Platzierung des entsprechenden Bauteils gewählt werden können. Die Auswahlreihenfolge im Menü zur Bauformauswahl entspricht hierbei der Reihenfolge der
<plname> -Einträge im
part -Kommando. Im Layout durchgeführte Zuweisungen alternativer Gehäusebauformen müssen mit
in den Stromlauf zurückgemeldet werden. In jedem Fall haben jedoch im Stromlauf über das Attribut
$plname definierte Gehäusezuweisungen höhere Priorität.
Mit Hilfe des Schlüsselwortes
class kann das Bauteil wahlweise einer Bauteilklasse zugewiesen werden:
part <llname> : class <partclassname> [default] <plname>
Bauteilklassen werden vom
Packager ausgewertet, um die Zulässigkeit der Zuweisung zu alternativen Bauteildefinitionen über das Attribut
$rlname (Requested Logical Library Name) zu prüfen.
Soll eine einmal über
loglib vorgenommene Zuweisung vollständig aus der Bibliothek gelöscht werden, so kann dies mit dem Kommando
delete part <llname> ;
geschehen. Die Loglibdatei bietet außerdem die Möglichkeit virtuelle Symbole zu definieren, also Stromlaufsymbole, die keinem Layoutsymbol zuzuordnen sind. In diesem Fall ist im
part -Kommando anstelle des
<plname> das Schlüsselwort
virtual einzutragen:
part <llname> : virtual ;
Das Kommando
part ermöglicht über das Schlüsselwort
logical die Definition rein logischer Bauteile:
part <llname> : logical ...
Die Definition logischer Bauteile ohne Gehäusezuweisung ermöglicht die Generierung logischer Netzlisten (z.B. im Format EDIF für PLD- bzw. LCA-Design).
Die Zuweisung unterschiedlicher Stromlaufsymbole in ein einziges Gehäuse (z.B. Spule und Kontakt beim Relais) geschieht durch Verwendung der Schlüsselwörter
mainpart und
subpart in den entsprechenden
part -Kommandos:
part <mainllname> : mainpart <plname>
:
part <subllname> : subpart <mainllname>
Bei der
subpart -Definition ist zu beachten, dass hier anstelle eines Verweises auf einen
<plname> ein Verweis auf den
<llname> des
mainpart (<mainllname> ) einzutragen ist.
Für den Fall, dass eine 1:1-Zuordnung zwischen den logischen Pins und den physikalischen Anschlüssen vorliegt (d.h. das Stromlaufsymbol ist genau einem Layoutsymbol zugeordnet, und die Pinbezeichnungen entsprechen sich), dann genügt es, das
part -Kommando mit einem Strichpunkt abzuschließen:
part <llname> : <plname> ;
Liegt der Sonderfall der 1:1-Zuordnung nicht vor, oder sind Pin- und Gattertausch, Versorgungsanschlüsse, feste Attribute oder ähnliches zu definieren, dann geschieht dies mit den entsprechenden, nachfolgend beschriebenen Kommandos unmittelbar nach dem
part -Kommando in geschweiften Klammern:
part <llname> : <plname> { <commands> }
Kommando net
Über das Kommando
net können Netze definiert werden, die im Schaltbild immer wieder auftreten und deshalb nicht einzeln verdrahtet werden müssen (z.B. feste Versorgungsanschlüsse). Die Syntax hierfür lautet:
net "<netname>" : ( <pinlist> ) ;
Durch Voranstellen des Dollarzeichens
($ ) kann mit dem Kommando
net ein Netznamensattribut anstelle des Netznamens definiert werden:
net "$<netname>" : ( <pinlist> ) ;
Ist auf dem zugehöhrigen SCM-Symbol ein entsprechendes Attribut definiert, dann kann im Stromlauf eine variable, bauteilspezifische Versorgungsspannungszuweisung durch einen entsprechenden Netznamenseintrag (z.B.
vcc ,
vss ,
0v , etc.) für das Netznamensattribut vorgenommen werden.
Eine Sonderform des
net -Kommandos ist das
internal -Kommando, in dem anstelle einer Netznamensdefinition lediglich das Schlüsselwort
internal eingetragen ist:
net internal : ( <pinlist> ) ;
Das
internal -Kommando sorgt dafür, dass die in der zugehörigen
<pinlist> definierten Anschlüsse durch den
Packager automatisch miteinander verbunden werden.
<pinlist> enthält (getrennt durch Komma) die Liste der Pins. Die
pin -Einträge definieren die physikalischen Pinbezeichnungen. Enthält ein Pinname Sonderzeichen, dann ist er in Anführungszeichen anzugeben.
Kommando bus
Mit Hilfe des
bus -Kommandos können bereits direkt am Bauteil Busse definiert werden. Die Syntax für dieses Kommando lautet:
bus ( <buspinlist> ) ;
<buspinlist> definiert hierbei die Liste der am Bauteil definierten logischen Pins, über die jeweils ganze Busse angeschlossen werden können. Die Definition der jeweiligen Bussignale kann dann z.B. mit dem
xlat -Kommando (siehe unten) erfolgen. Dabei ergeben sich die entsprechenden logischen Pinbezeichnungen jeweils aus dem Bus(pin)namen und dem Bussignalnamen in folgendem Format:
"<buspin>.<bussignal>"
Kommando pin
Das Kommando
pin dient der Auflistung der am Stromlaufsymbol definierten logischen Anschlüsse. Die Syntax für dieses Kommando lautet:
pin ( <pinlist> ) ;
<pinlist> enthält hierbei die Liste der logischen Pinbezeichnungen am Stromlaufsymbol.
Bei der Angabe von Pinnamen lassen sich optional auch ganze Bereiche in der Form
<startpin>-<endpin>[:<schrittweite<]
angeben. So kann z.B. die Pinliste
pin(a1,a2,a3,a4) mit
pin(a1-a4); oder die Pinliste
pin(c2,c4,c6,c8,c10) mit
pin(c2-c10:2) spezifiziert werden. Es sind auch mehrere Bereiche wie z.B.
pin(a1-a32,b1-b2,c1-c32); in einem Kommando erlaubt. Die Bereichsangabe dient nur der Verkürzung der Eingabe. Beim Abspeichern und der Anzeige mit
werden weiterhin die vollständigen Pinnamenslisten verwendet.
Das Kommando
pin none ;
unterdrückt die automatische 1:1-Zuordnung von Symbol- zu Layoutbauteilpins bei fehlendem pin -Kommando und gestattet somit z.B. die Erstellung universell verwendbarer mainpart -Symbole ohne Pins.
Kommando xlat
Über das Kommando
xlat erfolgt die Zuordnung der (über Kommando
pin definierten) logischen Pins zu den physikalischen Anschlüssen am Gehäuse, d.h. die Definition der Gatterzuordnung. Die Syntax für das
xlat -Kommando lautet:
xlat ( <lplist> ) to ( <pplist> )
or ( <pplist> ) or ... or ( <pplist> ) ;
<lplist> enthält die Liste der am Stromlaufsymbol definierten logischen Pinbezeichnungen. Die
<pplist> -Einträge definieren (entsprechend der in
<lplist> vorgegebenen Reihenfolge) die Zuweisungen der logischen zu den physikalischen Pinbezeichnungen.
Für jedes
xlat -Kommando mit Alternativen (d.h. mit
or -Optionen zur Definition von Gattern) wird automatisch eine
swap -Definition für bauteilübergreifenden Gattertausch generiert, sofern nicht explizit ein
swap internal -Kommando (siehe unten) mit angegeben wurde.
Kommando swap
Das Kommando
swap erlaubt die Definition von Pin-, Gatter-, oder Pingruppen-Vertauschbarkeit (vgl. hierzu Funktion
-
im
Layouteditor). Die Syntax für das
swap -Kommando lautet:
swap <swapdefinition> ;
Die
<swapdefinition> enthält gestaffelt in bis zu vier Klammerebenen die Vertauschbarkeits-Definitionen, wobei über Pinlisten die physikalischen Anschlüsse der jeweils vertauschbaren Swap-Ebene angegeben sind. Die Funktion der jeweiligen Klammerebene ergibt sich aus folgendem Schema:
( Bauteil-Tausch ) |
([ Pingruppentausch ]) |
([( Gattertausch )]) |
([(( Pintausch ))]) |
Um die Möglichkeit des bauteilübergreifenden Gatter-Tausches zu unterdrücken, kann im
swap -Kommando hinter dem Schlüsselwort
swap das Schlüsselwort
internal eingefügt werden.
Kommando newattr
Mit Hilfe des Kommandos
newattr können über die Loglibdatei Attribute mit Werteinträgen in die Bibliothek übernommen werden. Die Syntax hierfür lautet:
newattr "$<attname>" = "<attvalue>" ;
<attname> definiert dabei den Attributnamen, und
<attvalue> enthält den zugehörigen Attributwert. Derartige Attributwertzuweisungen können im Layout durch die Definition des Textes
<attname> (z.B. auf einer Dokumentarlage) visualisiert werden. Auch kann der entsprechende Werteintrag mit Hilfe von
User Language-Programmen bzw. mit dem Utilityprogramm
userlist weiter in Richtung Postprozess, PPS, usw. ausgewertet werden (typische Beispiele:
$sachnummer für Stücklisten,
$delay für Simulation,
$bauteilhoehe für Bestückautomat,
$preis ,
$lieferant ,
$toleranz , usw.).
Das Kommando
newattr ermöglicht auch die Definition bzw. Zuweisung pinspezifischer Attribute bzw. Attributwerte. Die Syntax hierfür lautet:
newattr "$<attname>" = "<attvalue>" to ( <pplist> ) ;
In der Pinliste sind die physikalischen Pinbezeichnungen einzutragen. Damit können z.B. Pintypdefinitionen eingetragen werden wie sie für Electronic Rule Check (ERC) oder zur Generierung von Netzlisten für Simulatoren wie PSpice benötigt werden.
Der
Packager erlaubt über das Pinattribut
$pintype eine Plausibilitätsprüfung für die im Schaltplan vorgenommenen Verbindungen zwischen Pins verschiedener Typen. Die Pinattribute werden zweckmässigerweise in den logischen Definitionen der Symbole fest für die einzelnen Layoutbauteilpins vergeben. Unterstützt werden die folgenden Pintypen:
$pintype | Pintyp |
in | Eingabe-Pin |
out | Ausgabe-Pin |
bidi | Bidirektionaler Anschluss |
anl | Analoger Anschluss |
sup | Stromversorgungsanschluss |
Der ERC überprüft für Netze mit mindestens einem Eingang, ob an diesem Netz ein normaler Ausgang, ein bidirektionaler Anschluss oder ein Versorgungsspannungspin vorhanden ist und gibt ggf. die Warnmeldung
Netz 'Netzname' hat nur Eingaenge! aus. Außerdem überprüft der ERC, ob an einem normalen Ausgang ein anderer Ausgang, ein bidirektionaler Anschluss oder ein Versorgungsspannungspin angeschlossen ist und gibt ggf. die Warnmeldung
Treiber-Kollision auf Netz 'Netzname'! aus.
Das
newattr -Kommandos unterstützt auch die Vergabe variantenspezifischer Attribute. Dazu ist die Variantennummer dem Attributnamen nach dem Anführungszeichen mit Komma getrennt anzuhängen. Damit lassen sich bei fixer Verwendung von Varianten für alle Projekte, wie z.B.
110 Volt und
230 Volt oder
deutsch und
english den einzelnen Varianten unterschiedliche feste Attributwerte zuordnen. Ohne Variantennummernangabe wird der Attributwert der Basisvariante zugeordnet.
Über das Kommando
newattr kann durch Zuweisung der speziellen Werte
?id? ,
?symid?extension und
?partid?extension eine automatische Generierung von ID-Attributwerten durch den
Packager angefordert werden.
?id? erzeugt dabei fortlaufende ID-Werte nach dem Schema
id1 ,
id2 usw., bei
?symid?extension und
?partid?extension wird die gegebene Extension mit Unterstrich an den Schaltplansymbolnamen bzw. den Layoutbauteilnamen des gerade bearbeiteten Symbols angehängt. So ergibt z.B.
?partid?diffpair1 ID-Werte nach dem Schema
ic1_diffpair1 ,
ic2_diffpair1 usw. Die automatische ID-Generierung ist nützlich, wenn
newattr auf mehrere Pins verweist, da so automatisch eine Beziehung zwischen Pins hergestellt werden kann, wie sie z.B. für die Markierung von Differential Pairs benötigt wird.
Bei Vorgabe des speziellen Wertes
!unique! gibt das
newattr -Kommando keine Attributzuweisung aus der logischen Definition heraus an, sondern steuert die Gatterzuordnung durch den
Packager so, dass nur Symbole mit gleichen Werten für die so markierten Attribute zusammen in ein Layoutbauteil gepackt werden. Dabei werden die
swap -Kommandos automatisch so berücksichtigt, dass Gatter bauteilübergreifend nur zwischen Bauteilen mit gleichen Werten für die so markierten Attribute getauscht werden können. Die
!unique! -Einstellung kann somit anstelle der Packungssteuerung über
$rpname -Attribute bei Symboltypen mit unterschiedlichen Attributwerten innerhalb eines Projekts verwendet werden. Dies ist z.B. bei Widerstandsarrays nützlich:
part ra_so16r : so16r {
newattr "$val" = "!unique!";
pin (1-16);
swap internal (
(( 1,16)),(( 2,15)),(( 3,14)),(( 4,13)),
(( 5,12)),(( 6,11)),(( 7,10)),(( 8, 9))
);
}
Das folgende Beispiel zeigt die Verwendung des
!unique! -Werts bei der Definition eines Operationsverstärkers mit Versorgungsspannunszuweisung über Attributwerte:
part op_lm324 : dil14 {
pin (/i,i,o);
net "$vplus" : (4);
net "$vminus" : (11);
newattr "$vplus" = "!unique!";
newattr "$vminus" = "!unique!";
xlat (/i, i, o)
to ( 2, 3, 1)
or ( 6, 5, 7)
or ( 9,10, 8)
or (13,12,14);
swap internal ((2,3,1),(6,5,7),(9,10,8),(13,12,14));
}
Kommando netattr
Über das Kommando
netattr kann bereits im Stromlauf die Möglichkeit der Spezifikation von Router-Steuerparametern angeboten werden. Die Syntax für das Kommando
netattr lautet:
netattr <netatt> "$<attname>" : ( <pinlist> ) ;
Für
<netatt> können beliebige Attributnamen eingesetzt werden, wobei jedoch folgende Schlüsselworte spezielle Attribute zur
Autorouter-Steuerung definieren, d.h. vom System in spezieller Weise ausgewertet werden:
routwidth | netzbezogene Leiterbahnbreite (in mm) |
powwidth | pinbezogene Anschlussbreite für die über Kommando net definierten Signale (in mm) |
mindist | netzbezogener Mindestabstand zu anderen Potentialen (in mm) |
priority | netzbezogene Routing-Priorität (Integer; je größer, desto höher die Priorität) |
Die mit dem
AutoEngineer gelieferte Bibliothek enthält in
route.ddb virtuelle Stromlaufsymbole, über die
netattr -Einträge im Stromlauf möglich sind. Die entsprechende Loglibdatei
(route.def ) hat folgenden Inhalt:
loglib
part att_rw : virtual
{
pin (x);
netattr routwidth "$val" : (x);
}
part att_pw : virtual
{
pin (x);
netattr powwidth "$val" : (x);
}
part att_md : virtual
{
pin (x);
netattr mindist "$val" : (x);
}
part att_pr : virtual
{
pin (x);
netattr priority "$val" : (x);
}
end.
Wie aus obiger Loglibdatei zu ersehen ist, enthalten die virtuellen Symbole jeweils einen Pin (benannt
x ) und ein Attribut. Die Zuweisung des jeweiligen Attributes an ein bestimmtes Signal erfolgt im Stromlauf-Editor durch Anschluss des virtuellen Symbols (über Pin
x ) an das betreffende Signal sowie Eintrag des entsprechenden Attributwertes.
Durch die Möglichkeit der Definition beliebiger anwendungsspezifischer Netzattribute lassen sich zusätzliche Signalnetzinformationen auf gesonderte Weise verarbeiten bzw. auswerten. Solche Netzattribute lassen sich z.B. zur Kontrolle des Layoutprozesses (maximal/minimal zulässige Leiterbahnlänge, Parallelführung von Leiterbahnen, Lagenzuordnung, usw.) verwenden oder können zur Steuerung nachgeschalteter Simulationsprozesse bzw. Laufzeitanalysen oder zur Prüfung von ECL/EMV-Regeln herangezogen werden (tatsächliche Leiterbahnlängen, Parallelverlauf von Leiterbahnen, usw.). Die Bereitstellung entsprechender Tools zur Auswertung anwendungsspezifischer Netzattribute kann mit Hilfe entsprechender
User Language-Programme erfolgen.
Über das Kommando
netattr kann durch Zuweisung der speziellen Werte
?id? ,
?symid?extension und
?partid?extension eine automatische Generierung von ID-Attributwerten durch den
Packager angefordert werden.
?id? erzeugt dabei fortlaufende ID-Werte nach dem Schema
id1 ,
id2 usw., bei
?symid?extension und
?partid?extension wird die gegebene Extension mit Unterstrich an den Schaltplansymbolnamen bzw. den Layoutbauteilnamen des gerade bearbeiteten Symbols angehängt. So ergibt z.B.
?partid?diffpair1 ID-Werte nach dem Schema
ic1_diffpair1 ,
ic2_diffpair1 usw. Die automatische ID-Generierung ist nützlich, wenn
netattr auf mehrere Netze verweist, da so automatisch eine Beziehung zwischen Netzen hergestellt werden kann, wie sie z.B. für die Markierung von Differential Pairs benötigt wird.
Kommando call
Über das
call -Kommando erfolgt die Zuweisung von Blockstromlaufplänen an Stromlaufsymbole für hierarchisches Schaltplandesign. Die Syntax hierfür lautet:
call <blockname> ;
Die Definition des Bauteiles erfolgt dabei
virtual . Die Pins des Stromlaufsymbols werden den gleichnamigen Modulports in den Blockstromlaufplänen zugewiesen.
Kommando architecture
Über das Kommando
architecture lassen sich Stromlaufsymbole (vom Typ
virtual ) aus intern beliebig verschalteten anderen Stromlaufsymbolen aufbauen, die zudem mehreren Layoutbauteilen zugeordnet sein können. Die Syntax hierfür lautet:
architecture { <partlist> }
<partlist> enthält eine Auflistung der verwendeten Symbole jeweils mit in Klammern gesetzter kommaseparierter Auflistung der Symbolpins in der Form:
<pinname:connection>
Hierbei kann
<connection> der Name eines Pins des
<architecture> -Symbols sein. In der Form
<net netname> kann der Anschluss an ein global benanntes Netz erfolgen. Mit
<net & intnetname> oder
<& intnetname> kann ein nur lokal für das
<architecture> -Symbol gültiges Netz referenziert werden.
Beispiele
Loglibdatei
example.def mit der Definition dreier Bauteile:
loglib
/* Example Loglib File */
part 74ls00 : dil14, so14
{
newattr "$partnumber" = "A-NAND-X11B82";
newattr "$pintype" = "in" to (1,2,4,5,9,10,12,13);
newattr "$pintype" = "out" to (3,6,8,11);
newattr "$pintype" = "sup" to (7,14);
pin (a,b,y);
net "vcc" : (14);
net "$groundnetname" : (7);
xlat ( a, b, y)
to ( 1, 2, 3)
or ( 4, 5, 6)
or (13,12,11)
or (10, 9, 8);
swap (((1,2),3),((4,5),6),((13,12),11),((10,9),8));
}
part tx27 : default sot23;
part tr_bc547 : class "npn-transistor" default to92
{
pin (e,b,c);
xlat (e,b,c)
to (1,2,3);
}
end.
In obigem Beispiel ist das Gatter
74ls00 definiert, das bis zu viermal in das Gehäuse
dil14 gepackt werden kann, wobei die logischen Pins (a,b,y) wahlweise den physikalischen Anschlüssen (1,2,3), (4,5,6), (13,12,11) oder (10,9,8) zugewiesen werden können. Dieses Gehäuse kann im Layout gegen die Alternativbauform
so14 getauscht werden. Außerdem ist für das Bauteil
74ls00 das Attribut mit Namen
partnumber und Wert
A-NAND-X11B82 definiert, und jedem physikalischen Pin ist ein Attribut zur Spezifikation des Pintyps zugewiesen. Der Anschluss 14 des Gehäuses
dil14 ist fest mit dem Signal
vcc verbunden, während der Anschluss 7 auf Stromlaufebene durch Zuweisung eines Netznamenseintrags (z.B.
vss ) an das Attribut
$groundnetname des Symbols
74ls00 mit dem gewünschten Signalnetz verbunden werden kann. Über das
swap -Kommando sind für das Gehäuse
dil14 mit den vier Gattern
74ls00 folgende Tauschmöglichkeiten definiert:
Pintausch: (1,2) bzw. (4,5) bzw. (13,12) bzw. (10,9)
Gattertausch: (1,2,3) mit (4,5,6) bzw. (13,12,11) bzw. (10,9,8)
Bauteil-Tausch: (1,2,3,4,5,6,13,12,11,10,9,8)
Neben dem Bauteil
74ls00 sind in obigem Beispiel auch noch das Bauteil
tx27 (per Default direkt dem Gehäuse
sot23 zugeordnet) sowie der NPN-Transistor
tr_bc547 (mit Zuweisung an Bauteilklasse
npn-transistor ) definiert.
Obige Loglibdatei
example.def lässt sich mit folgendem
loglib-Aufruf in die DDB-Datei
mylib.ddb einspielen:
> loglib example mylib 
Folgendes Beispiel zeigt die Zuweisung verschiedener Stromlaufsymbole an ein einziges Gehäuse (in diesem Fall geschieht dies für ein Relais-Bauteil mit zwei Kontakten und einer Spule):
loglib
/* Relais-Bauteil */
part rel2 : mainpart dilrel
{
xlat (a,b) to (1,7) or (8,14);
swap ((1,7),(8,14));
}
part rel2sub : subpart rel2
{
xlat (p,m) to (2,6);
}
end.
Folgendes Beispiel zeigt die Definition der beiden Busse
b1 und
b2 mit den Bussignalen
0 ,
1 ,
2 und
3 am Bauteil
buspart (das entsprechende Stromlaufsymbol
buspart besitzt in diesem Fall die beiden Pins
b1 und
b2 , von wo aus alle definierten Bussignale über entsprechende Busverbindungen abgegriffen werden können):
loglib
/* Bus-Bauteil */
part buspart : sot8
{
bus (b1,b2);
xlat (b1.0,b1.1,b1.2,b1.3) to (1,2,3,4);
xlat (b2.0,b2.1,b2.2,b2.3) to (5,6,7,8);
}
end.
Folgendes Beispiel zeigt die Definition eines Symbols für das hierarchische Schaltplandesign. Dem Stromlaufsymbol
dff werden dabei die zugehörigen Blockstromlaufpläne
dff zugewiesen. Die Pins
s ,
r ,
q und
/q müssen auf den entsprechenden Blockstromlaufplänen als Modulports definiert sein.
loglib
/* Hierarchisch aufgebautes Flip-Flop */
part dff : virtual
{
pins (s,r,q,/q);
call dff;
}
end.
Folgendes Beispiel zeigt eine synthetische Symboldefinition über das Kommando
architecture . Das Stromlaufsymbol
delay wird dabei intern aus einer Serienschaltung von vier
74ls04 -Invertern aufgebaut, die über lokale interne Netze miteinander verbunden sind.
loglib
/* Synthetisch generierte Inverter-Serienschaltung */
part delay : virtual
{
pin (in,out);
architecture
{
part "74ls04" (a:in,y:&connect1);
part "74ls04" (a:&connect1,y:&connect2);
part "74ls04" (a:&connect2,y:&connect3);
part "74ls04" (a:&connect3,y:out);
}
}
end.
Dateien
Das bei der Software-Installation des
Bartels AutoEngineer generierte Bibliotheks-Verzeichnis enthält neben der Layoutbibliothek
laylib.ddb für alle mitgelieferten Stromlauf-Bibliotheksdateien die entsprechenden Loglibdateien
(*.def ), die alle bereits mit dem Programm
loglib in die Layoutbibliothek eingespielt sind.
Siehe auch
Packager.
Die Funktionalität zur Kompilierung logischer Bibliotheksdefinitionen ist auch in der
User Language-Systemfunktion
con_compileloglib implementiert.
Diagnose
Die durch
loglib erzeugten Fehlermeldungen sind selbsterklärend.
Warnungen
In den Eingabedaten sind Bauteilnamen, Pinnamen oder Netznamen mit Sonderzeichen
(- ,
+ ,
/ ,
( ,
= , usw.) in einfachen oder doppelten Anführungszeichen anzugeben.
Wird im Stromlauf oder im Layout während der Bearbeitung ein Symbol aus einer Bibliotheksdatei in eine Projektdatei geladen, dann wird datentechnisch eine komplette Kopie des Symbols in der Projektdatei abgelegt. Dies führt dazu, dass im Laufe der Bearbeitung in jeder Projektdatei automatisch eine projektspezifische Bibliothek angelegt wird. Wird über eine Loglibdatei eine Veränderung vorgenommen, von der Layoutsymbole betroffen sind, die bereits in einer projektspezifischen Layoutbibliothek existieren, dann muss
loglib auch auf die entsprechende Projektdatei angewendet werden damit z.B. die richtige Pin/Gate-Swap-Information in die projektspezifische Bibliothek eingetragen wird. Bei falscher oder fehlender Anwendung von
loglib kommt es spätestens beim
Packager-Lauf zu Fehlermeldungen wie etwa
Bauteil nicht in Bibliothek! ,
Bauteil nicht definiert! oder
Pin nicht gefunden! .
7.12 NETCONV
Name
netconv - Logical Netlist Conversion Utility
Synopsis
netconv projectname
Beschreibung
Das Programm
netconv dient dazu, logische (d.h. ungepackte) ASCII-Netzlisten in den
Bartels AutoEngineer zu übertragen.
netconv erwartet den Namen
projectname des Projektes, für das die logische Netzliste umgesetzt werden soll.
netconv liest die ASCII-Datei
<projectname>.net und legt die darin enthaltene logische Netzliste unter dem Namen
netlist in einem DDB-File mit Namen
<projectname>.ddb ab. Diese logische Netzliste lässt sich mit dem
Packager in eine physikalische (d.h. gepackte) Netzliste umwandeln. Anschließend kann das Layout erstellt werden, wobei auch Pin-/Gattertausch entsprechend den durch den
Packager übertragenen
swap -Kommandos (siehe hierzu auch Programm
loglib) durchgeführt werden kann.
Format der Eingabedatei
Dateianfang, Dateiende, Kommentare
Die Eingabedatei muss mit dem Kommando
NETLIST; beginnen und mit dem Kommando
END. enden. Kommentare können an beliebiger Stelle zwischen
/* und
*/ eingefügt werden.
Bauteilliste
Die Bauteilliste muss mit dem Schlüsselwort
PARTS beginnen und kann für jedes Bauteil ein Kommando der Form
<part> : <llname> ;
enthalten.
<part> ist der Bauteilname, und
<llname> ist der Logical Library Name bzw. der Name des Stromlaufsymbols.
Netzliste
Die Netzliste muss mit dem Schlüsselwort
CONNECT beginnen und für jedes Netz ein Kommando der Form
<part>.<pin>=<part>.<pin>=...=<part>.<pin>;
bzw.
/<net>/ <part>.<pin>=<part>.<pin>=...=<part>.<pin>;
enthalten.
<net> ist hierbei der Netzname,
<part> der Bauteilname und
<pin> die Pinbezeichnung.
Beispiele
Inhalt der Datei
design.net :
NETLIST;
/* Part list */
PARTS
ic1 : 74ls00;
ic2 : 74ls00;
c1 : c;
/* Net list */
CONNECT
ic1.a = ic2.y;
ic2.a = ic1.y;
/vcc/ c1.1;
/vss/ c1.2;
END.
Übertragen der logischen Netzliste aus
design.net in den Bartels AutoEngineer mit Hilfe von
netconv:
> netconv design 
Nach fehlerfreiem
netconv-Lauf wurde die logische Netzliste aus
design.net unter dem Namen
netlist im DDB-File
design.ddb abgespeichert. Diese logische Netzliste lässt sich nun mit Hilfe des
Packager in eine physikalische umwandeln, und anschließend kann das entsprechende Layout erstellt werden.
Siehe auch
conconv,
loglib,
Packager.
Diagnose
Die durch
netconv erzeugten Fehlermeldungen sind selbsterklärend.
Warnungen
Mit
netconv können logische Netzlisten in den
übernommen werden. Sofern bei der Erstellung des zugehörigen Layouts Pin- und/oder Gattertausch vorgenommen wird, ist dies mit Hilfe der
in den Stromlauf zurückzumelden. Hierzu ist möglicherweise mit geeigneten Werkzeugen eine Auswertung des durch die
erzeugten Assignmentsdatei vorzunehmen.
In den Eingabedaten sind Bauteilnamen, Pinnamen oder Netznamen mit Sonderzeichen
(- ,
+ ,
/ ,
( ,
= , usw.) in einfachen oder doppelten Anführungszeichen anzugeben.
7.13 REDASC
Name
redasc - REDAC ASCII Input Interface
Synopsis
redasc projectname [libraryfile]
Beschreibung
Das Programm
redasc erlaubt die Übernahme von Layoutdaten des Redac-MAXI-Systems, d.h. sowohl die Transformation von Layoutsymbolen als auch die Übertragung der Bauteilliste, der Netzliste und der Platzierung im CDI-Format in den
Bartels AutoEngineer.
redasc erwartet als Argument den Namen
projectname der umzusetzenden CDI-Datei (diese Datei muss mit der Extension
.cdi verfügbar sein; beim Programmaufruf ist der Dateiname ohne diese Extension anzugeben).
redasc erwartet optional als Argument den Namen
libraryfile einer Layoutbibliothek (diese Datei muss im DDB(Design DataBase)-Format mit der Extension
.ddb verfügbar sein; beim Programmaufruf ist diese Extension nicht mit anzugeben). Für den Fall, dass in der CDI-Datei nicht alle benötigten Layoutsymbole definiert sind, kann
redasc diese aus dem
libraryfile laden (sofern natürlich darin vorhanden).
redasc liest die CDI-Datei
<projectname>.cdi und erzeugt das Design-File
<projectname>.ddb mit den in der CDI-Datei definierten Layoutsymbolen, überträgt die in der CDI-Datei enthaltene Bauteilliste, Netzliste und Platzierung in das Design-File und erzeugt die Freelist
<projectname>.fre . Die Freelist wird vom System nicht weiter benötigt und ist zur Auswertung durch den Benutzer bestimmt (Anzeige nicht angeschlossener Pins, Statistik). Das Design-File enthält nach dem
redasc-Lauf die benötigte (jobspezifische) Layoutbibliothek, die übersetzte Bauteil- und Netzliste sowie die Platzierung und kann im
Layouteditor weiterbearbeitet werden.
Siehe auch
conconv
Diagnose
Die durch
redasc erzeugten Fehlermeldungen sind selbsterklärend.
7.14 RULECOMP
Name
rulecomp - Bartels Rule System Compiler
Synopsis
rulecomp srcfile [-l]
Beschreibung
Der Compiler
rulecomp dient der Übersetzung von Quellcodedateien zur Spezifikation von Regeldefinitionen für das im
Bartels AutoEngineer integrierte
Neuronale Regelsystem.
rulecomp erwartet als erstes Argument den Quellcodedateinamen
srcfile der Regeldefinition. (diese Datei muss mit der Extension
.rul verfügbar sein; beim Programmaufruf ist der Dateiname ohne diese Extension anzugeben).
rulecomp übersetzt die angegebene Quellcodedatei und speichert die darin definierten Regeln bzw. Regelsätze in der Datei
brules.vdb im BAE-Programmverzeichnis. Diese Regeln können später dann von speziellen BAE-Systemfunktionen bzw. von anwenderspezifischen
User Language-Programmen angewendet bzw. abgearbeitet werden.
Optionen
Die Kommandozeilenoptionen des Regelcompilers bestehen aus einem Bindestrich
(- ) gefolgt von der Optionsspezifikation. Optionspezifikationen, die nur aus einem Buchstaben und der wahlweisen Angabe einer numerischen Modus- oder Schalterangabe bestehen, bezeichnet man häufig als Switches oder Flags.
Listing Option [-l]
Mit der Option
-l kann die Listingausgabe gesteuert werden. Wenn die Option
-l nicht angegeben ist, dann erfolgt keine Listingausgabe. Ist die Option
-l angegeben, dann erzeugt der Rule System Compiler eine Listingausgabe für die kompilierten Regeln bzw. Regelsätze. Der Name der Listingdatei wird aus dem Namen der Quelltextdatei durch Abändern der Dateinamenserweiterung in
.lst erzeugt. Die Listingdatei wird vom System nicht weiter benötigt, sie ist lediglich zur Auswertung durch den Benutzer bestimmt.
Beispiele
Kompilieren der in
routstd.rul enthaltenen Regeldefinitionen; die übersetzten Regeldefinitionen werden unter dem Namen
routstd in der Datei
brules.vdb im BAE-Programmverzeichnis abgelegt:
> rulecomp routstd 
Kompilieren der in
routstd.rul enthaltenen Regeldefinitionen mit Ausgabe eines Listings auf die Datei
routstd.lst ; die übersetzten Regeldefinitionen werden unter dem Namen
routstd in der Datei
brules.vdb im BAE-Programmverzeichnis abgelegt:
> rulecomp rulestd -l 
Dateien
brules.vdb -- BAE-Regeldatendatei (im BAE-Programmverzeichnis)
Siehe auch
Bartels AutoEngineer Benutzerhandbuch - Kapitel 6
Diagnose
Die durch
rulecomp erzeugten Fehlermeldungen sind selbsterklärend.
Warnungen
rulecomp ist ein mächtiges Programmierwerkzeug zur Erzeugung von Regeln zur automatisierten Generierung bzw. Bearbeitung von Designdaten im
Bartels AutoEngineer. Wir empfehlen daher nachdrücklich, jede mit
rulecomp erzeugte Regel vor einem produktiven Einsatz zunächst in einer unkritischen Umgebung (Test-Software-Installation, Test-Job, Arbeitsdateien vorher sichern, ...) einem sorgfältigen Test zu unterziehen.
7.15 ULC - User Language Compiler
Name
ulc - Bartels User Language Compiler
Synopsis
ulc [-wcon|-wcoff] [[-S[ource]] srcfile...]
[-lib libname...] [-dll libname...]
[{-cp|-cl} [dstname...]]
[-I[nclude] includepath...] [-D[efine] macroid...]
[-O[0|1]] [-e[0|1]] [-w[0|1|2|3|4]] [-t[0|1]]
[-l[0|1|2|3|4|5]] [-ld listingdirectory name]
[-dp prgname...] [-dl libname...]
[-ulp prgfilename] [-ull libfilename]
[-log logfilename]
Beschreibung
Der
User Language Compiler
ulc dient dazu,
User Language-Quelltext in
User Language-Maschinenprogramme bzw. in
User Language-Libraries zu übersetzen.
User Language-Programme können vom
User Language Interpreter ausgeführt werden.
User Language-Libraries werden üblicherweise aus häufig benötigten Quelltexten erzeugt. Der Maschinencode von
User Language-Libraries kann wahlweise statisch (während der Kompilierung durch den
User Language Compiler) oder dynamisch (während der Laufzeit durch den
User Language Interpreter) eingebunden werden in anderen Maschinencode (Programme oder Libraries). Der Vorteil des Librarykonzepts besteht darin, dass häufig benötigte Quelltexte nur einmal der zeitaufwändigen Kompilierung unterzogen werden müssen; anschließend kann der entsprechende Maschinencode über die sehr viel schnelleren Linkprozesse referenziert werden.
Optionen
Die Kommandozeilenoptionen des
User Language Compilers bestehen aus einem Bindestrich
(- ) oder einem Schrägstrich
(/ ) gefolgt von der Optionsspezifikation. Optionspezifikationen, die nur aus einem Buchstaben und der wahlweisen Angabe einer numerischen Modus- oder Schalterangabe bestehen, bezeichnet man häufig als Switches oder Flags. Diese speziellen Optionen können wahlweise gruppiert werden wie z.B. in
/l2Ow3 oder
-O1w3l2 , wo jeweils der Modus 2 für die Listingausgabe selektiert, der Optimierer aktiviert und der Warning Severity Level auf 3 gesetzt werden.
Wildcard Option [-wcon|-wcoff]
Mit Hilfe dieser Option kann die Berücksichtigung von Wildcards bei der Spezifikation von Datei- und Elementnamen aktiviert (Option
-wcon; Default) bzw. deaktiviert (Option
-wcoff) werden. Ist die Wildcarderkennung aktiviert, dann erlangen die Zeichen
? und
* Sonderbedeutung bei der Spezifikation von Datei- und Elementnamen;
? ist dann Platzhalter für ein beliebiges Zeichen,
* ist dann Platzhalter für eine beliebige Anzahl beliebiger Zeichen. Die Deaktivierung der Wildcarderkennung ist notwendig, um die Bearbeitung von Programmnamen wie z.B.
scm_? oder
ged_* zu ermöglichen.
Source File Option [[-S[ource]] srcfile...]
Mit dieser Option werden die Namen der zu übersetzenden Quelltextdateien spezifiziert. Die Dateinamen dürfen dabei Verzeichnispfade enthalten, d.h. die Quelltextdateien müssen nicht notgedrungen im aktuellen Verzeichnis abgelegt sein. Bei der Auswertung von Dateinamen werden Wildcards berücksichtigt, sofern die Wildcarderkennung mit der Option
-wcon (siehe oben) aktiviert ist. Dateinamen können wahlweise mit oder ohne Namenserweiterung spezifiziert werden. Wird die Namenserweiterung weggelassen, dann für der Compiler automatisch die Extension
.ulc an die entsprechenden Dateinamen an. Quelltextdateinamen mit anderen Namenserweiterungen der müssen also mit ihrer Extension spezifiziert werden. Damit ist es dann allerdings auch möglich, z.B.
User Language-Libraries aus Includedateien mit der Extension
.ulh zu erzeugen. Der Type des zu erzeugenden Maschinencodes wird mit den Optionen
-cp (für
User Language-Programme; siehe unten) bzw.
-cl (für
User Language-Libraries) festgelegt. Der Elementname des erzeugten Maschinencodes ergibt sich aus dem Quelltextdateinamen, wobei der Verzeichnispfad und die Dateinamenserweiterung weggelassen werden. Ein von dieser Konvention abweichender Name für den Maschinencode kann mit den Optionen
-cp bzw.
-cl (siehe unten) spezifiziert werden. Das Schlüsselwort
-Source bzw.
-S ist bei der Spezifikation von Quelltextdateinamen nur dann erforderlich, wenn sich sonst Mehrdeutigkeiten bei der Auswertung der Kommandozeile ergeben könnten. Dies ist z.B. dann nicht der Fall, wenn die Quelltextdateinamen die ersten Namensargumente im Compileraufruf darstellen. Mit Hilfe der Schlüsselworte
-Source bzw.
-S können andererseits jedoch an beliebigen Stellen in der Kommandozeile Quelltextdateien spezifiziert. Ist weder die Option
-dp noch die Option
-dl (siehe unten) spezifiziert, dann erwartet der
User Language Compiler die Angabe von zumindest einer Quelltextdatei.
Static Link Option [-lib libname...]
Die Static Link Option
-lib erwartet den Namen einer oder mehrerer
User Language-Libraries sowie die Spezifikation von zumindest einer Quellcodedatei (siehe oben, Option
-Source). Die mit
-lib angeforderten Libraries müssen in kompilierter Form in der Datei
ulcprog.vdb im BAE-Programmverzeichnis verfügbar sein. Der im
User Language Compiler integrierte Linker bindet den Maschinencode der angeforderten Libraries in den Maschinencode der zu übersetzenden Quelltextdateien ein.
Dynamic Link Option [-dll libname...]
Die Dynamic Link Option
-lib erwartet den Namen einer oder mehrerer
User Language-Libraries sowie die Spezifikation von zumindest einer Quellcodedatei (siehe oben, Option
-Source). Die mit
-dll angeforderten Libraries müssen in kompilierter Form in der Datei
ulcprog.vdb im BAE-Programmverzeichnis verfügbar sein. Der im
User Language Compiler integrierte Linker erzeugt die für den
User Language Interpreter notwendigen Informationen zur Laufzeiteinbindung der angeforderten Libraries in den Maschinencode der zu übersetzenden Quelltextdateien.
Create Program/Library Option [{-cp|-cl} [dstname...]]
Mit dieser Option wird der Typ des zu erzeugenden Maschinencodes festgelegt. Der
User Language Compiler kann sowohl
User Language-Programme als auch
User Language-Libraries generieren. Wenn weder die Option
-cp noch die Option
-cl angegeben ist, dann erzeugt der Compiler
User Language-Programme. Mit der Option
-cp kann die Generierung von Programmen explizit veranlasst werden, die Option
-cl hingegen veranlasst die Generierung von Libraries; es dürfen nicht beide Optionen gleichzeitig angegeben werden. Der Elementname des zu erzeugenden Maschinencodes ergibt sich standardmäßig aus dem jeweiligen Quellcodedateinamen durch Elimination des Verzeichnispfades und der Namenserweiterung. Abweichend von dieser Konvention können mit den Optionen
-cp und
-cl explizit andere Elementnamen für zu erzeugenden Maschinencode angegeben werden, wobei dann aber nur noch genau eine Quelltextdatei spezifiziert werden darf (siehe oben, Option
-Source). Der generierte Maschinencode wird unter dem spezifizierten Zielelementnamen in der Datei
ulcprog.vdb im BAE-Programmverzeichnis abgelegt. Wildcards werden bei der Angabe von Zielelementnamen für Maschinencode grundsätzlich nicht berücksichtigt. Die explizite Angabe mehrerer Zielelementnamen dagegen ist zulässig; damit ist es möglich den Maschinencode einer einzelnen Quelltextdatei unter verschiedenen Namen abzulegen, also z.B. aus der Quelltextdatei
bae_st.ulh mit einem einzigen Compileraufruf die Programme
scm_st,
ged_st, usw. zu erzeugen.
Include Path Option [-I[nclude] includepath...]
Mit der Option
-Include (bzw.
-I) können Alternativpfade für die Suche nach Includedateien spezifiziert werden. Diese Option erwartet zumindest einen Verzeichnispfadnamen als Argument. Stößt der Compiler im Quelltext auf eine
#include -Anweisung, dann sucht er zunächst im aktuellen Verzeichnis nach der angeforderten Includedatei und dehnt die Suche anschließend auf die mit der Option
-Include angegebenen Verzeichnisse aus, wobei die Verzeichnisse in der Reihenfolge ihrer Spezifikation abgesucht werden.
Define Option [-D[efine] macroid...]
Mit der Option
-Define (bzw.
-D) können beim Compileraufruf Makros definiert werden. Diese Option erwartet zumindest einen Makronamen als Argument. Die Option
-Define entspricht der
#define -Anweisung im Quelltext, d.h. die mit dieser option definierten Makros können in den Preprozessoranweisungen
#ifdef und
#ifndef zur Steuerung der bedingten Übersetzung ausgewertet werden.
Optimizer Option [-O[0|1]]
Mit der Option
-O kann der Optimierer des
User Language Compilers aktiviert bzw. deaktiviert werden. Per Default (d.h., wenn diese Option nicht spezifiziert ist) ist der Optimierer deaktiviert. Die Option
-O bzw.
-O1 aktiviert den Optimierer. Mit der Option
-O0 kann der Optimierer explizit deaktiviert werden. Der Optimierer befreit den Maschinencode von Redundanzen, und gestaltet ihn durch Modifikationen effizienter. Optimierter Maschinencode benötigt in der Regel erheblich weniger Festplatten- und Hauptspeicher und kann schneller geladen und abgearbeitet werden. Es wird daher dringend empfohlen, den Optimierer zu aktivieren.
Error Severity Option [-e[0|1]]
Mit der Option
-e kann der Error Severity Level gesetzt werden. Per default (d.h., wenn diese Option nicht spezifiziert ist) ist der Wert 1 eingestellt. Die Option
-e0 setzt den Error Severity Level auf 0; die Option
-e bzw.
-e1 setzt den Error Severity Level explizit auf 1. Ist der Error Severity Level auf 1 eingestellt, dann versucht der Compiler alle beim Compileraufruf spezifizierten Quelltextdateien zu übersetzen (ungeachtet etwaiger Fehler beim übersetzen einzelner Quelltexte); ein Error Severity Level von 0 hingegen veranlasst den Compiler, den Übersetzungsvorgang bei der ersten fehlerhaften Quelltextdatei abzubrechen.
Warning Severity Option [-w[0|1|2|3|4]]
Mit der Option
-w kann der Warning Severity Level auf einen Wert von 0 bis 4 gesetzt werden. Per Default (d.h., wenn diese Option nicht spezifiziert ist) ist der Wert 0 eingestellt. Wird diese Option ohne die explizite Angabe eines Levels angegeben
(-w), dann wird der Wert 3 eingestellt. Jede im Compiler definierte Warnmeldung ist einem speziellen Warning Severity Level zugeordnet, wobei höhere Werte unwichtigere Warnungen kennzeichnen. Der Compiler gibt nur die Warnungen aus, deren Warning Severity Level kleiner oder gleich dem mit der Option
-w eingestellten Level ist, d.h. mit dieser Option kann die Ausgabe weniger bedeutsamer Warnmeldungen unterdrückt werden.
Top Level Warnings Only Option [-t[0|1]]
Mit der Option
-t können wahlweise Warnungen mit Bezug auf die Kompilierung von Includedateien unterdrückt werden (Wert 1). Per Default (d.h., wenn diese Option nicht spezifiziert ist bzw. der Optionswert 0 gesetzt ist) werden Warnmeldungen mit Bezug auf alle kompilierten Quellcodedateien ausgegeben. Ist dieser Optionswert auf 1 gesetzt, dann unterdrückt der
User Language Compiler die Ausgabe von Warnmeldungen mit Bezug auf die Kompilierung von Includedateien und gibt lediglich die Warnmeldungen mit Bezug auf die "Top-Level"-Quellcodedatei(en) aus. Dies reduziert die Anzahl der Warnmeldungen und erleichtert damit deren Analyse insbesondere dann, wenn mit Standardincludedateien gearbeitet wird, die (eine Vielzahl von) Funktionen und Variablen enthalten, welche nicht in jedem Programm verwendet werden.
Listing Option [-l[0|1|2|3|4|5]]
Mit der Option
-l kann die Listingausgabe gesteuert werden. Dabei können Listingmode im Bereich von 0 bis 5 spezifiziert werden. Mit dem Listingmodus 0 wird keine Listingausgabe erzeugt, während der Modus 5 die detailliertesten Informationen liefert. Modus 0 ist der Standardwert, d.h. wenn die Option
-l nicht angegeben ist, dann erfolgt auch keine Listingausgabe. Wird diese Option ohne die explizite Angabe des Modus spezifiziert
(-l), dann wird der Modus 5 eingestellt. Der Name der Listingdatei wird aus dem Namen der Quelltextdatei durch Abändern der Dateinamenserweiterung in
.lst erzeugt. Die Listingdatei wird vom System nicht weiter benötigt, sie ist lediglich zur Auswertung durch den Benutzer bestimmt.
Listing Directory [-ld listingdirectoryname]
Die Option
-ld gestattet die Spezifikation eines alternativen Verziechnisses für die mit der Option
-l auszugebenden Listindateien. Dies ist insbesondere bei der Verwendung von
make -Utilities zur automatisierten Compilierung geänderter
User Language-Programme nützlich, um das Quellverzeichnis "sauber" zu halten. Im Verzeichnis
baeulc wird ein
makefile bereitgestellt, das die Abhägigkeiten der
User Language-Programme von Includedateien enthält und mit Listingdateien in einem Unterverzeichnis
(lst ) arbeitet.
Delete Program Option [-dp prgname...]
Mit der Option
-dp können einmal übersetzte
User Language-Programme wieder aus der Datei
ulcprog.vdb im BAE-Programmverzeichnis gelöscht werden. Diese Option erwartet den Elementnamen zumindest eines Programms als Argument. Bei der Auswertung der Elementnamen werden Wildcards berücksichtigt, sofern die Wildcarderkennung mit der Option
-wcon (siehe oben) aktiviert ist. Beim Versuch, nicht-existente Libraries zu löschen, werden Warnungen ausgegeben. Damit nicht Maschinencode gelöscht werden kann, der unmittelbar zuvor im gleichen Compilerlauf erzeugt wurde, erfolgt das Löschen von Programmen grundsätzlich immer bevor mit der Übersetzung von Quelltexten begonnen wird.
Delete Library Option [-dl libname...]
Mit der Option
-dl können einmal übersetzte
User Language-Libraries wieder aus der Datei
ulcprog.vdb im BAE-Programmverzeichnis gelöscht werden. Diese Option erwartet den Elementnamen zumindest einer Library als Argument. Bei der Auswertung der Elementnamen werden Wildcards berücksichtigt, sofern die Wildcarderkennung mit der Option
-wcon (siehe oben) aktiviert ist. Beim Versuch, nicht-existente Libraries zu löschen, werden Warnungen ausgegeben. Damit nicht Maschinencode gelöscht werden kann, der unmittelbar zuvor im gleichen Compilerlauf erzeugt wurde, erfolgt das Löschen von Libraries grundsätzlich immer bevor mit der Übersetzung von Quelltexten begonnen wird.
Program Database File Name Option [-ulp prgfilename]
Per Default speichert der
User Language Compiler User Language-Programme in der Datei
ulcprog.vdb im Programmverzeichnis des
Bartels AutoEngineer ab. Mit der Option
-ulp kann hierfür eine andere Datei angegeben werden.
Library Database File Name Option [-ull libfilename]
Per Default speichert der
User Language Compiler User Language-Libraries in der Datei
ulcprog.vdb im Programmverzeichnis des
Bartels AutoEngineer ab. Mit der Option
-ull kann hierfür eine andere Datei angegeben werden.
Log File Option [-log logfilename]
Der
User Language Compiler gibt alle Meldungen auf die Standardausgabe und gleichzeitig auf eine Reportdatei aus. Die Ausgabe auf die Reportdatei erfolgt, um längere Listen von Meldungen, welche insbesondere bei der Übersetzung mehrerer Quelltextdateien entstehen können, zu sichern. Der Standardname der Reportdatei ist
ulc.log (im aktuellen Verzeichnis). Mit der option
-log kann ein anderer Dateiname für die Reportdatei angegeben werden.
Beispiele
Kompilieren des in
ulprog.ulc enthaltenen
User Language-Programms mit Optimierung und Ausgabe von Warnmeldungen; das übersetzte Programm wird unter dem Namen
ulprog in der Datei
ulcprog.vdb im BAE-Programmverzeichnis abgelegt:
> ulc ulprog -Ow 
Kompilieren des in
ulprog.ulc enthaltenen User Language-Programms mit Erzeugung einer Listingdatei
(ulprog.lst ); das übersetzte Programm wird unter dem Namen
newprog in der Datei
ulcprog.vdb im BAE-Programmverzeichnis abgelegt:
> ulc ulprog -l -cp newprog 
Löschen der
User Language-Programme mit Namen
ulprog und
newprog sowie der
User Language-Libraries, deren Namen mit
test beginnen und auf
lib enden, aus der Datei
ulcprog.vdb im BAE-Programmverzeichnis:
> ulc -dp ulprog newprog -dl test*lib 
Erzeugen der
User Language-Library
libsll aus der Quelltextdatei
libbae.ulh (der Optimierer ist aktiviert; ein Listing wird auf die Datei
libbae.lst ausgegeben):
> ulc libbae.ulh -cl libsll -l2O 
Kompilieren aller im aktuellen Verzeichnis enthaltenen Quelltextdateien mit der Extension
.ulc sowie statisches Linken der generierten Maschinenprogramme mit der
User Language-Library
libsll (das Makro
USELIB wird zur Kontrolle der bedingten Übersetzung definiert; der Optimierer ist aktiviert):
> ulc *.ulc -Define USELIB -lib libsll -O 
Generieren der User Language-Libraries
libstd und
stdlib aus der Quelltextdatei
std.ulh (der Optimierer ist aktiviert, Warnmeldungen mit Severity Level kleiner oder gleich 2 werden ausgegeben):
> ulc -w2 -O -cl libstd stdlib -Source std.ulh 
Generieren der User Language-Library
liblay aus der Quelltextdatei
\baeulc\lay.ulh mit dynamischen Linken der Library
libstd (der Optimierer ist aktiviert, der Warning Severity Level ist auf den Standardwert 3 gesetzt, die Compiler-Meldungen werden auf die Reportdatei
genlib.rep anstelle
ulc.log ausgegeben):
> ulc /wO -cl liblay -S \baeulc\lay.ulh -dll libstd -log genlib.rep 
Generieren der User Language-Programm
laypcr und
tracerep aus den Quelltextdateien
laypcr.old und
tracerep.ulc mit dynamischem Linken der Library
liblay (der Optimierer ist aktiviert):
> ulc laypcr.old /dll liblay /cp -O /S tracerep 
Dateien
ulcprog.vdb -- BAE-User Language-Datenbank (im BAE-Programmverzeichnis)
Siehe auch
userlist,
User Language Interpreter,
Bartels User Language Programmierhandbuch
Diagnosis
Die durch
ulc erzeugten Fehlermeldungen sind selbsterklärend.
Warnungen
ulc ist ein Programmierwerkzeug zur Erzeugung von Programmen, die die Manipulation von DDB-Dateiinhalten ebenso wie die Erzeugung von Fertigungsdaten zulassen. Auch eine weit reichende Änderung der Benutzeroberfläche ist durch die mit
ulc erzeugten Programme möglich. Daher sollte jedes mit
ulc erzeugte Programm vor einem produktiven Einsatz in jedem Fall zunächst in einer unkritischen Umgebung (Test-Software-Installation, Test-Job, Arbeitsdateien vorher sichern, ...) einem sorgfältigen Test unterzogen werden. In diesem Zusammenhang muss auch eindringlich auf die Möglichkeit des Missbrauchs durch Dritte (Einspielen zerstörerisch wirkender Programme in Ihr eigenes
ulcprog.vdb ) hingewiesen werden.
7.16 User Language Interpreter
Beschreibung
Der
Bartels User Language Interpreter erlaubt die Ausführung von kompilierten, d.h. durch den
Bartels User Language Compiler generierten
Bartels User Language-Programmen. Der
Bartels User Language Interpreter ist in nahezu allen Programmmodulen des
Bartels AutoEngineer eingebunden.
Aufruf von User Language-Programmen
In dem Menü
ist im
Schaltplaneditor, im
Layouteditor, im
Neuronalen Autorouter, im
CAM-Prozessor, im
CAM-View-Modul und im
Chipeditor des
Bartels AutoEngineer ein Menüpunkt
vorhanden, mit dem es möglich ist, ein in
ulcprog.vdb (im BAE-Programmverzeichnis) gespeichertes
User Language-Programm über seinen Namen zu starten.
Der Start eines
User Language-Programms ist auch durch Betätigung einer Standardtaste
(0,
1, ...,
9,
a,
b,
c, ...) oder einer Funktionstaste
(F1,
F2, ...,
F12) möglich, sofern sich der Anwender in der Menüleiste befindet; hierzu muss in
ulcprog.vdb ein
User Language-Programm mit dem Namen
scm_<c> bzw.
scm_f<n> (im
Schaltplaneditor),
ged_<c> bzw.
ged_f<n> (im
Layouteditor),
ar_<c> bzw.
ar_f<n> (im
Autorouter),
cam_<c> bzw.
cam_f<n> (im
CAM-Prozessor),
cv_<c> bzw.
cv_f<n> (im
CAM-View-Modul) oder
ced_<c> bzw.
ced_f<n> (im
Chipeditor) verfügbar sein.
<c> gibt dabei das gedrückte Zeichen,
f<n> die gedrückte Funktionstaste an.
Sind Programme mit den Namen
scm_st,
ged_st,
ar_st,
cam_st,
cv_st bzw.
ced_st vorhanden, so werden diese automatisch beim Start des entsprechenden Programmoduls ausgeführt.
Über die
Bartels User Language werden darüber hinaus Systemfunktionen zur Tastaturprogrammierung und Menübelegung zur Verfügung gestellt. Durch eine geeignete Verwendung dieser Funktionen (z.B. in den
User Language-Startupprogrammen) lässt sich die Benutzeroberfläche des
Bartels AutoEngineer sogar während der Bearbeitung dynamisch verändern. Und schließlich besteht über eine weitere
User Language-Systemfunktion die Möglichkeit
User Language-Programme aus anderen
User Language-Programmen heraus aufzurufen.
Beispiele
Aufruf des
User Language-Programms
ulprog :
Datei |  |
Anwenderfunktion |  |
Programmname ? | ulprog  |
Dateien
ulcprog.vdb -- BAE-User Language-Datenbank im BAE-Programmverzeichnis
Siehe auch
User Language Compiler,
Schematic Editor,
Layouteditor,
Autorouter,
CAM-Prozessor,
CAM-View,
userlist,
Bartels User Language - Programmierhandbuch
Diagnose
Die durch den
User Language Interpreter erzeugten Fehlermeldungen sind selbsterklärend.
Warnungen
Der
Bartels User Language Interpreter ist ein Programm, das die Manipulation von DDB-Dateiinhalten ebenso wie die Erzeugung von Fertigungsdaten zulässt. Auch eine weit reichende Änderung der Benutzeroberfläche ist durch den Einsatz des
Bartels User Language Interpreters mmöglich. Daher sollte jedes
User Language-Programm vor einem produktiven Einsatz in jedem Fall zunächst in einer unkritischen Umgebung (Test-Software-Installation, Test-Job, Arbeitsdateien vorher sichern, ...) einem sorgfältigen Test unterzogen werden. In diesem Zusammenhang muss auch eindringlich auf die Möglichkeit des Missbrauchs durch Dritte (Einspielen zerstörerisch wirkender Programme in Ihr eigenes
ulcprog.vdb ) hingewiesen werden.
7.17 USERLIST
Name
userlist - User Programmable List Generator
Synopsis
userlist scriptfile projectfile jobname
Beschreibung
Das Programm
userlist ist ein anwenderprogrammierbarer ASCII-Listengenerator, mit dem Daten aus Design-File-Netzlisten in einem vom Benutzer frei festlegbaren Format extrahiert werden können. Dabei lassen sich die Art der Ausgabe (Vor-/Nachkommastellen, Ausgabe von Schlüsselwörtern, usw.) und der Typ der auszugebenden Information (Bauteilattribute, Pinattribute, usw.) vom Benutzer in einem Spezifikationsfile
(userlist-Script) frei definieren.
Das Programm
userlist interpretiert das vom Anwender erstellte
userlist-Script
<scriptfile>.usf , liest die unter
<jobname> im Design-File
<projectfile>.ddb abgelegte Netzliste und generiert eine Ausgabedatei mit Namen
<projectfile>.<ext> (die Extension
<ext> ist im Script zu definieren).
Format der Eingabedatei
Dateianfang, Dateiende, Kommentare
Am Dateianfang des
userlist-Scripts ist die Extension des Ausgabefiles über den Parameter
EXTENSION zu definieren:
EXTENSION = "<ext>";
Das
userlist-Script muss mit dem Schlüsselwort
ENDSPEC enden. Kommentare können zwischen
/* und
*/ eingefügt werden.
FOR-Kommando
Die Auswahl von Elementen eines Bereiches erfolgt mit
FOR (ALL <class> ) { <commands> }
<class> gibt die Klasse der zu bearbeitenden Objekte an. Hierfür können die Schlüsselworte
NETS ,
PARTS ,
PINS ,
ATTRIBUTES bzw.
<attname> eingesetzt werden.
NETS bezeichnet die Objektklasse Netzliste,
PARTS die Bauteilliste,
PINS die Pinliste und
ATTRIBUTES die Attributliste.
<attname> erlaubt die Abarbeitung der Attributwertliste für das Attribut mit dem durch
<attname> gegebenen Namen. Die Kommandoliste
<commands> wird für jedes Element der angegebenen Objektklasse einmal abgearbeitet. Dabei können, soweit sinnvoll, weitere
FOR -Schleifen verschachtelt werden. Bei verschachtelten
FOR -Schleifen beziehen sich die Objektklassen jeweils auf die in der übergeordneten Schleife angegebene Objektklasse. So arbeitet in
FOR (ALL NETS) { FOR (ALL PINS) {...}}
die
PINS -Schleife jeweils die Pins des aktuellen Netzes der
NETS -Schleife ab.
Ausgabe-Befehle
Zur Ausgabe stehen die Kommandos
PRINT und
PRINTFOR zur Verfügung. Die Syntax für das Kommando
PRINT lautet:
PRINT(<parameters>);
In
<parameters> ist - getrennt durch Kommas - die Liste der auszugebenden Parameter enthalten. In Anführungszeichen angegebene Parameter werden unverändert ausgegeben. Anführungszeichen selbst werden mit dem Schlüsselwort
QUOTES ausgegeben. Tabulatorzeichen können mit
TAB erzeugt werden. Eine neue Zeile erreicht man durch Angabe von
CR . Die restlichen Parameter geben Elemente der Datenbank an. Dabei kann durch Angabe von
:<length>:<decimals>
die Anzahl der Gesamtstellen und Nachkommastellen zur Ausgabe von Zahlen und Strings angegeben werden. Wird
<length> negativ angegeben, so wird der Ausgabestring linksbündig in dem durch die Gesamtstellen definierten Ausgabefeld dargestellt. Mit
%<length>:<decimals>
werden Leerstellen zu Beginn des Ausgabefeldes mit Nullen aufgefüllt. Standardeinstellung sind 3 Nachkommastellen und eine Feldbreite, die der Länge des darzustellenden Elements entspricht. Reichen die angegebenen Gesamtstellen nicht zur Ausgabe aus, so verbreitert sich das Ausgabefeld entsprechend. Bei Elementen, die Distanzen angeben, kann die Ausgabe durch Nachstellen von
" MM" bzw.
" INCH" in der entsprechenden Längeneinheit erfolgen. Beispiele für die Anwendung des
PRINT -Kommandos sind:
PRINT(QUOTES,PINWIDTH:7:3,QUOTES); /* Output: " 3.756" */
PRINT(QUOTES,PINWIDTH%7:3,QUOTES); /* Output: "003.756" */
PRINT(QUOTES,PINWIDTH:-7:3,QUOTES); /* Output: "3.756 " */
In
PRINT -Kommandos kann hinter der Angabe von Namen und Attributen mit durch Leerzeichen getrennten
UPPER - oder.
LOWER -Texten eine Ausgabe der Namen bzw. Attribute in Groß- bzw. Kleinschreibung erzwungen werden.
Das Kommando
PRINTFOR dient zur Ausgabe von Listen unbekannter Länge mit Trennzeichen zwischen den einzelnen Elementen. Die Syntax für dieses Kommando lautet:
PRINTFOR (ALL <class>) SEPERATOR(<sep>),ELEMENTS(<elements>);
Die Trennzeichen zwischen den einzelnen Elementen werden über den Seperator
<sep> spezifiziert (z.B.
. ,
CR , usw.). In
<elements> stehen die Daten, die zu einem Listenelement ausgegeben werden sollen. Für die Parameterliste in
<sep> und
<elements> gilt die gleiche Syntax, wie für die Parameterliste in
PRINT . Steht
PRINTFOR innerhalb einer
FOR -Schleife, so beschränkt sich die Ausgabe automatisch auf das gerade aktuelle Element der
FOR -Schleife.
IF-Abfragen
Das
IF -Kommando dient zur bedingten Abarbeitung von Kommandos. Die Syntax hierfür lautet:
IF (<expr>) { <commands> }
bzw.
IF (<expr>) { <commands> } ELSE { <commands> }
Die Bedingungsanweisung
<expr> besteht entweder aus
? <attr>
oder
<attr> <operator> <attr|constant>
Der Ausdruck
? <attr> prüft, ob das mit
<attr> angegebene Attribut vorhanden ist. Für vergleichende Ausdrücke stehen die Operatoren
(<operator> )
= (gleich),
<> (ungleich),
< (kleiner),
> (größer),
<= (kleiner oder gleich),
>= (größer oder gleich) zur Verfügung.
Zählvariable
Die Befehle
CLEARCOUNTER;
und
COUNTUP;
dienen zur Ansteuerung eines Zählers. Mit
CLEARCOUNTER wird der Zähler auf Null gesetzt.
COUNTUP erhöht den Zähler um eins. Der aktuelle Wert des Zählers steht als Attribut
COUNTVALUE zur Verfügung.
Attribute
Es können folgende Attribute ausgegeben werden:
Netzdaten | NETNAME | Netzname |
NETPINCOUNT | Anzahl der Pins am Netz |
PRIORITY | Netz-Priorität (für Router) |
MINDIST | Netz-Mindestabstand (für Router) |
NETNUMBER | Netznummer |
Bauteildaten | PARTNAME | Bauteilname |
PINCOUNT | Anzahl der Pins am Bauteil |
FREEPINS | Anzahl der nichtangeschlossenen Pins am Bauteil |
PARTATTRIBCOUNT | Anzahl der Attribute des Bauteiles |
$attributname | Wert des angegebenen Attributes |
Pindaten | PINNAME | Pinname |
PINWIDTH | Pinbezogene Anschlussbreite |
Allgemeine Daten | PROJECTNAME | Projekt- bzw. Design-Name |
ATTRIBCOUNT | Gesamthäufigkeit der aktuellen Kombination Attributname, Attributwert |
ATTRIBNAME | Name des aktuellen Attributes |
ATTRIBVALUE | Wert des aktuellen Attributes |
COUNTVALUE | Aktueller Wert des Counters |
Beispiele
Netzlisten-Generator
conconv.usf :
/* Connection List Generator */
EXTENSION = ".con";
PRINT ("LAYOUT ", PROJECTNAME, ";", CR);
PRINT ("PARTS",CR);
FOR (ALL PARTS)
{
PRINT (" ",PARTNAME," : ",$plname,";",CR);
}
PRINT ("CONNECT",CR);
FOR (ALL NETS)
{
PRINT (" /", NETNAME,"/ ");
PRINTFOR (ALL PINS)
SEPERATOR ("="), ELEMENTS (PARTNAME,".",PINNAME);
PRINT (";",CR);
}
PRINT ("END.",CR);
ENDSPEC
Durch einen Aufruf der Form
> userlist conconv design board 
wird die Netzliste
board des Job-Files
design.ddb gelesen und auf die Datei
design.con ausgegeben. Die Ausgabe hat dann folgendes Format:
LAYOUT board;
PARTS
ic1 : dil14;
ic2 : dil14;
ic3 : dil16;
CONNECT
/gnd/ ic1.1=ic2.2=ic3.9;
/vcc/ ic1.11=ic2.5=ic3.7;
END.
Partlister:
EXTENSION = ".ptl";
FOR (ALL $plname)
{
PRINT (ATTRIBCOUNT," ",ATTRIBVALUE,CR);
}
ENDSPEC
Ausgabedatei
<job>.ptl , z.B.:
3 cap50
4 dil14
2 dil16
1 r75
Diagnose
Die durch
userlist erzeugten Fehlermeldungen sind selbsterklärend.
7.18 VALCONV
Name
valconv - VALID to Bartels Conversion
Synopsis
valconv projectname
Beschreibung
Das Programm
valconv erlaubt die Übertragung von Bauteil- und Netzlisten, die mit dem VALID-Stromlaufeditor erstellt wurden, in den
Bartels AutoEngineer.
Das Argument projectname gibt den Namen des DDB(Design DataBase)-Files an, in das die VALID-Bauteil- und die VALID-Netzliste zu transferieren sind (es wird eine Datei mit Namen
<projectname>.ddb generiert; die Extension
.ddb ist beim Programmaufruf nicht mit anzugeben).
valconv liest die VALID-Bauteilliste aus der Datei mit Namen
pstxprt , die VALID-Netzliste wird aus der Datei
pstxnet gelesen. Diese beiden Dateien werden vom VALID-System generiert und müssen sich beim
valconv-Aufruf im aktuellen Verzeichnis befinden.
Nach erfolgreichem
valconv-Lauf befindet sich im generierten DDB-File eine logische, d.h. eine ungepackte Netzliste. Diese Netzliste muss im
Bartels AutoEngineer mit Hilfe des
Packagers in eine physikalische, d.h. eine gepackte Netzliste umgesetzt werden. Erst dann kann im
Layouteditor auf der Basis dieser Netzliste das Layout erstellt werden.
Dateien
pstxprt -- VALID-Bauteilliste
pstxnet -- VALID-Netzliste
Siehe auch
netconv,
Packager,
loglib
Diagnose
Die durch
valconv erzeugten Fehlermeldungen sind selbsterklärend.
Warnungen
In den Eingabedaten sind Bauteilnamen, Pinnamen oder Netznamen mit Sonderzeichen
(- ,
+ ,
/ ,
( ,
= , usw.) in einfachen oder doppelten Anführungszeichen anzugeben.
Utilities © 1985-2025 Oliver Bartels F+E • Aktualisiert: 26. January 2007, 17:23 [UTC]
|