Dieses Kapitel erläutert die Handhabung des Programm-Moduls
Schaltplaneditor für den Entwurf von Schaltplänen. Hierbei wird der Leser in einer logischen Abfolge durch die Erstellung von Bibliothekselementen sowie die Bearbeitung von Stromlaufplänen geführt. Der in diesem Kapitel erstellte Schaltplan wird in den nachfolgenden Kapiteln einer weiteren Bearbeitung unterzogen. Es wird daher empfohlen, dieses Kapitel Schritt für Schritt und ohne Auslassung irgendwelcher Abschnitte durchzuarbeiten, um einen vollständigen Überblick über den Funktionsumfang des
Schematic Editors zu gewinnen. Sobald ein spezielles Kommando angewandt bzw. dessen Benutzung erläutert wurde, ist davon auszugehen, dass der Leser dieses Kommando verstanden hat und es bei Bedarf ohne nähere Erläuterungen wieder ausführen kann. Nachfolgende Instruktionen zu dem betreffenden Kommando sind dann weniger ausführlich, um das Lesen zu vereinfachen und den Lernprozess zu beschleunigen.
Inhalt
2.1 Allgemeine Hinweise
Das Schaltplanpaket des
Bartels AutoEngineer besteht im Wesentlichen aus einem grafisch-interaktiven
Schaltplaneditor mit integriertem Stromlaufsymboleditor und integrierter
sowie dem Programm-Modul
Packager zur Umwandlung von logischen in physikalische Netzlisten ("Forward Annotation").
Die nachfolgenden Abschnitte dieses Benutzerhandbuchs enthalten eine detaillierte Beschreibung des
Schaltplaneditors zur Erstellung und Bearbeitung von Stromlaufsymbolen und Schaltplänen.
2.1.1 Komponenten und Leistungsmerkmale
Schaltplaneditor
Wer mit einem System zur Schaltplanerstellung arbeitet, erwartet vor allem, dass seine Netzliste zuverlässig exakt mit dem Schaltbild übereinstimmt. Im
Schaltplaneditor des
Bartels AutoEngineer wird deshalb die Herstellung einer Verbindung, beispielsweise der Anschluss eines Pins an eine Leitung, sofort vom Computer farblich quittiert. Auch T-Stücke werden vom System selbständig erkannt und durch Anschlusspunkte markiert. Diese Zuverlässigkeit wird dadurch erreicht, dass die Netzliste im Hintergrund "inkremental" aktualisiert, das heißt nur entsprechend der gerade durchgeführten Änderung neu berechnet wird. Hierzu wird eine Änderungsliste geführt, die auch die zwanzigstufige
-Funktion steuert.
Eine weitere Anforderung an ein CAE-System ist die völlige Freiheit bei der Erstellung der Schaltplansymbole. Mit dem
Bartels AutoEngineer kann der Anwender am Bildschirm eigene Symbole "zeichnen" und ist so nicht auf eine vorgegebene Norm angewiesen. Einmal entwickelt und gespeichert, dreht und spiegelt das System die Symbole entsprechend den Vorgaben selbsttätig.
Invertierte Signale werden mit einem Strich über dem Text gekennzeichnet, der - auch beim Versetzen des Textes - fest mit diesem verbunden bleibt. Beim Aufrufen von Signalnamen werden - vom Anwender konfigurierbar - automatisch die richtigen Labels verwendet, z.B. das in der Bibliothek vordefinierte Massesymbol für Masseverbindungen.
Selbstverständlich sind dem System auch Busse und Bustaps bekannt, wobei nicht nur numerische, sondern beliebige Namen für die Bussignale vergeben werden können. Durch die leistungsfähige inkrementale Netzlistenerzeugung erkennt das System außerdem auch über Busse und Labels entstandene Verbindungen bereits während der Eingabe. Im
Bartels AutoEngineer können Busse jedoch nicht nur auf Schaltplanebene sondern bereits auf Symbolebene in der SCM-Bibliothek definiert werden. Dieses flexible Konzept der Bussynthese bei der Symbolgestaltung unterstützt den Anwender optimal beim Entwurf beliebig komplexer Bauteile.
Das System unterstützt den Anwender auch bei der Erzeugung von hierarchischen Schaltplänen. D.h., es ist möglich, Schaltpläne als Blockschaltbilder zu definieren und diese auf anderen Stromläufen als Block zu referenzieren. Selbstverständlich erfolgt hierbei ebenfalls eine saubere Verwaltung der Netzliste mit der logisch richtigen Unterscheidung zwischen globalen und lokalen Netzen.
Irren ist menschlich - und gerade der Entwickler muss die Möglichkeit haben, verschiedene Lösungsansätze auszuprobieren und durchzuspielen und auf Wunsch wieder an den Ausgangspunkt seiner Überlegungen zurückzukehren. Deshalb können im Bartels-System die letzten zwanzig Arbeitsschritte mit der
-Funktion rückgängig gemacht werden. Entscheidet sich der Anwender dann trotzdem für den zuerst eingeschlagenen Weg, kann er den
-Befehl per
aufheben.
Durch die Einbindung der
Bartels User Language in das Schaltplan-Paket hat der Anwender die Möglichkeit, eigene Menüfunktionen (Makros), Postprozessoren, Test- und Editierfunktionen, usw. zu implementieren, die er wahlweise explizit (über eine spezielle Menüfunktion) oder implizit (über Tastatur oder ereignisgesteuert) aktivieren kann.
Das Stromlaufpaket des
Bartels AutoEngineer bietet eine Reihe mächtiger zusätzlicher bzw. spezieller Features wie z.B. Gruppenfunktionen, beliebige Attributdefinitionen, Attributwertzuweisungen an Bauteile bzw. Netze, automatische Bauteilbenennung mit definierbaren Namensmustern, virtuelle Symbole für Firmenlogos oder Schriftfelder, Netz-Highlight, automatisches Re-connect beim Bewegen von Symbolen, usw. Netzlistenänderungen im Layout wie z.B. Pin/Gate-Swaps oder die Umbenennung von Bauteilen werden mit Hilfe der
automatisch in den Schaltplan zurückgemeldet.
2.1.2 Programmaufruf
Der Aufruf des
Bartels AutoEngineer sollte grundsätzlich aus dem Verzeichnis erfolgen, in welchem die zu bearbeitenden Projektdateien abgelegt bzw. abzulegen sind. Wechseln Sie also zunächst in Ihr Projektverzeichnis (zur Abarbeitung der in diesem Handbuch aufgeführten Beispiele ist es zweckmäßig, in das bei der Installation des
Bartels AutoEngineer angelegte BAE-Jobs-Directory zu wechseln). Der Aufruf des Stromlauf-Editors erfolgt aus der Shell des
Bartels AutoEngineer. Starten Sie diese von Betriebssystemebene aus mit folgendem Befehl:
> bae
Der AutoEngineer zeigt auf dem Schirm das Bartels-Logo sowie folgendes Menü (die Funktion
ist nur unter Windows bzw. Motif verfügbar; die Menüpunkte
und
sind nur in speziellen Softwarekonfigurationen wie etwa in
BAE HighEnd oder
BAE IC Design verfügbar):
Wählen Sie den Menüpunkt
mit der Maus an, und bestätigen Sie Ihre Wahl durch Drücken der linken Maustaste:
Schaltplan | |
Nun wird der
Schaltplaneditor des
AutoEngineers geladen. Sollte der Programmaufruf fehlschlagen, dann deutet dies darauf hin, dass die Software nicht richtig installiert ist. Wir verweisen in diesem Zusammenhang auf die
Bartels AutoEngineer® Installationsanleitung.
2.1.3 Hauptmenü
Nach dem Aufruf des Stromlauf-Editors befindet sich auf der rechten Bildschirmseite eine Menüleiste, bestehend aus dem Hauptmenü im oberen Bereich sowie dem im Hauptmenü selektierten Menü im unteren Bereich. Nach dem Laden des Schematic-Moduls ist das Menü
aktiviert, und der grüne Menübalken steht auf Laden.
Unter Windows und Motif kann anstelle der Standard- bzw. Seitenmenükonfiguration wahlweise auch ein Benutzerinterface mit Pulldownmenüs aktiviert werden. Hierzu ist mit Hilfe des Utilityprogramms
bsetup das Kommando
WINMENUMODE mit der Option
PULLDOWN in das Setup der BAE-Software einzuspielen (siehe hierzu auch
Kapitel 7.2). Bei der Verwendung von Pulldownmenüs ist das Hauptmenü als horizontal ausgerichtete Menüleiste am oberen Ende der Benutzerschnittstelle angeordnet.
Das Hauptmenü ist während der Dauer der Stromlaufbearbeitung ständig verfügbar und ermöglicht die Aktivierung der folgenden Menüs:
Undo, Redo
Im Menü
finden Sie die
-Funktion, mit der die letzten zwanzig Arbeitsschritte rückgängig gemacht werden können. Mit der
-Funktion kann der
-Befehl wieder aufgehoben werden. Sie sollten diese wichtigen Funktionen unbedingt an einigen Stellen in den nachfolgenden Beispielen ausprobieren, um ein Gefühl für die Mächtigkeit dieser Kommandos zu bekommen.
Ansicht, Bilddarstellung
Im Menü
bzw.
, das Sie außer durch Selektion im Hauptmenü auch immer über die mittlere Maustaste erreichen, können Sie Zoomfunktionen aktivieren, das Eingabe- bzw. Hintergrundraster definieren, oder die Farbtabelle einstellen. Daneben existieren hier nützliche Hilfsfunktionen z.B. zur Bauteilsuche oder zur Netzanzeige.
Dateiverwaltung
Über das Menü
können Elemente neu generiert, geladen, gespeichert, kopiert, ersetzt oder gelöscht werden. Außerdem können von hier aus Farbtabellen geladen oder gespeichert werden, und es sind in diesem Menü auch wichtige Datenbank-Verwaltungsfunktionen (Auflisten Dateiinhalt, Update Bibliothek) enthalten.
Symbole
Das Menü
dient dazu, Schaltzeichen, Labels oder Modulports in den Schaltplan zu laden, diese zu bewegen oder wieder zu löschen. Außerdem stehen hier Funktionen zur Zuweisung von Attributwerten an Bauteile sowie zur Anzeige der in der Logischen Bauteilbibliothek definierten Symbollogik zur Verfügung. Auf Symbol- bzw. Labelebene können über das Menü
Pins (d.h. Markersymbole) platziert, bewegt und gelöscht sowie Namensmuster für die automatische Bauteilbenennung definiert werden.
Verbindungen
Das Menü
dient dazu, Verbindungen oder Busse zu generieren, umzuverlegen oder wieder zu löschen.
Grafik
Das Menü
enthält Funktionen, um Grafik (Linien oder Flächen) zu erzeugen, diese zu verändern, zu bewegen, zu kopieren oder wieder zu löschen.
Texte
Das Menü
dient dazu, Texte einzugeben, zu bewegen, zu verändern, oder wieder zu löschen.
Gruppen
Im Menü
werden Funktionen angeboten, mit deren Hilfe selektierbare Teile des gesamten Schaltplans in Gruppen zusammengefasst und dann bewegt, kopiert oder gelöscht werden können.
Parameter
Das Menü
enthält Funktionen zur Selektion der Bibliothek, zum Setzen des Nullpunktes bzw. der Elementgrenzen, zur Selektion des Pinsymbols und des Verbindungspunkt-Markers, zur Festlegung der Schaltplanhierarchie, sowie zur Aktivierung der automatischen Datensicherung.
Plotausgabe
Im Menü
sind die Funktionen zur Erstellung von HP-GL-, HP-Laser- und Postscript-Ausgabedaten enthalten.
Diverse
Im Menü
kann ein Rücksprung in die Shell des
Bartels AutoEngineer oder der Programmabbruch veranlasst werden. Außerdem besteht von hier aus die Möglichkeit des expliziten
User Language-Programmaufrufs.
2.1.4 Modifizierte Benutzeroberfläche
Menübelegung und Tastaturprogrammierung
Einige der mit der BAE-Software installierten
User Language-Programme definieren implizite User Language-Programmaufrufe über die eine weit reichend modifizierte Benutzeroberfläche mit einer Vielzahl von Zusatzfunktionen (Startups, Toolbars, Menübelegung, Tastaturprogrammierung) aktiviert wird. Das User Language-Startupprogramm
bae_st wird automatisch beim Aufruf des Schematic Editors gestartet.
bae_st ruft seinerseits das
User Language-Programm
uifsetup auf, welches eine vordefinierte Menü- und Tastaturbelegung im
Schaltplaneditor aktiviert. Änderungen bzw. Anpassungen der Menü- und Tastaturbelegung können zentral in der Quellcodedatei von
uifsetup vorgenommen werden. Die aktuelle Tastaturbelegung kann mit dem
User Language-Programm
hlpkeys angezeigt werden. Der Aufruf von
hlpkeys ist über die Funktion
aus dem Menü
möglich, sofern die vordefinierte Menübelegung aus
uifsetup aktiviert ist. Mit dem User Language-Programm
uifdump kann die in der aktuellen Interpreterumgebung definierte Menü- und Tastaturbelegung in Form eines Reports angezeigt bzw. auf eine Datei ausgegeben werden. Mit dem User Language-Programm
uifreset lässt sich die komplette Menü- und Tastaturbelegung zurücksetzen.
uifsetup,
uifdump und
uifreset sind auch über das Menü des User Language-Programms
keyprog aufrufbar, welches zudem komfortable Funktionen zur Online-Tastaturprogrammierung sowie zur Verwaltung von Hilfstexten für
User Language-Programme zur Verfügung stellt.
Kontextmenüs im Grafikarbeitsbereich
Bei Betätigung der linken Maustaste im Grafikarbeitsbereich wird ein kontextsensitives Menü mit spezifischen Funktionen zur Bearbeitung des an der aktuellen Mausposition platzierten Objekts aktiviert, wenn nicht bereits eine andere Menüfunktion aktiv ist. Ist kein Element geladen, dann werden die Dateiverwaltungsfunktionen
bzw.
angeboten. Dieses Feature ist über einen automatisierten Aufruf des User Language-Programms
scm_ms implementiert.
Kaskadierende Pulldownmenüs unter Windows/Motif
Die Windows- und Motifversionen des Schematic Editors ermöglichen die Konfiguration kaskadierender Pulldownmenüs. Menüpunkte können ihrerseits implizit auf Untermenüs verweisen. Die Notwendigkeit des Aufrufs von Funktionen zur expliziten Anzeige von Untermenüs entfällt damit. Die Pulldownmenüs der Windows- und Motifversionen des Schematic Editors werden über das
User Language-Programm
uifsetup entsprechend mit kaskadierenden Menüs ausgestattet. Untermenüfunktionen lassen sich damit einfach lokalisieren und starten. Die über die rechte Maustaste implementierte Wiederholfunktion ist entsprechend angepasst. Die Wiederholung von in Untermenus untergebrachten Funktionen vereinfacht sich dadurch erheblich.
Dialoge für Parametereinstellungen unter Windows/Motif
In den Windows- und Motifversionen des Schematic Editors sind die folgenden Dialoge für Parametereinstellungen implementiert:
- - : Allgemeine SCM-Parameter
- - : Bilddarstellungsparameter
- - : Plotparameter
In den Pulldownmenükonfigurationen werden die Standardfunktionen für Parametereinstellungen über das
User Language-Programm
uifsetup durch die obigen Menüfunktionen zum Aufruf der entsprechenden Dialoge ersetzt.
Pulldownmenükonfiguration unter Windows/Motif
Bei der Verwendung von Pulldownmenüs unter Windows und Motif wird über das
User Language-Programm
uifsetup eine an Windows angepasste Menüanordnung mit zum Teil geänderten Funktionsbezeichnungen und einer Vielzahl von Zusatzfunktionen konfiguriert. Das Hauptmenü des Schematic Editors wird dabei wie folgt aufgebaut:
Das Menü
enthält die beiden Funktionen
und
. für den Zugriff auf das im Windows-Help-Format verfügbare Referenzhandbuch zum Schaltplaneditor.
lädt dabei direkt die Referenzhandbuchseite eines selektierbaren Menüpunkts oder Benutzeroberflächenelements.
2.1.5 Grundsätzliches zur Bedienung
Automatische Parametersicherung
Im Schaltplaneditor ist eine Funktion zur automatischen Sicherung wichtiger Design- und Bearbeitungsparameter implementiert. Bei Aktivierung der Funktion zur Sicherung des aktuell geladenen Elements werden die folgenden Parameter automatisch in der aktuell bearbeiteten Designdatei gespeichert:
- Zeitintervall für automatische Datensicherung
- Name der aktuell geladenen SCM-Farbtabelle
- Eingaberaster
- Hintergrundraster
- Raster- und Winkelfreigabe
- Koordinatenanzeigemodus
- Standardwinkel für Symbol- und Labelplatzierung
- Spiegelungsmodus für Symbol- und Labelplatzierung
- Signalroutingmodus Ein/Aus für Symbol- und Labelplatzierung
- Spiegelungsmodus für Bustapplatzierung
- Standardtextgröße
- Bibliothekszugriffspfad
- Pfadname Logische Bibliothek
- Plotdateiname
Die Elementnamen der zu sichernden Parametersätze werden vom aktuell bearbeiteten SCM-Element abgeleitet. Planspezifische Parametersätze erhalten den Namen
[plan] , symbolspezifische Parametersätze den Namen
[symbol] , labelspezifische Parametersätze den Namen
[label] , markerspezifische Parametersätze den Namen
[marker] . Beim Laden eines Elements wird automatisch der entsprechende Parametersatz mitgeladen. Dadurch wird in komfortabler Weise eine spezifische Arbeitsumgebung zur Bearbeitung der selektierten Bibliothekshierarchie bzw. des selektierten Designobjekts aktiviert.
User Language
Im
Schaltplaneditor ist der
Bartels User Language Interpreter integriert, d.h. vom Schaltplaneditor aus können
User Language-Programme gestartet werden. Der Anwender hat damit die Möglichkeit, eigene Zusatzfunktionen nach anwender- bzw. firmenspezifischen Bedürfnissen zu implementieren und in den
Schaltplaneditor einzubinden. Hierzu zählen zum Beispiel Statusanzeigen und Parametereinstellungen, Report- und Testfunktionen (Fanoutkontrolle, Electronic Rule Check), Prüf- und Editierfunktionen, spezielle Plotfunktionen, Utilities zur Verwaltung von Bauteilbibliotheken, automatische Platzierungsfunktionen, firmenspezifische Batch-Prozeduren, usw. usf.
Im
Schaltplaneditor können User Language Programme explizit oder implizit aufgerufen werden. Der explizite Programmaufruf erfolgt über den Menüpunkt
im Menü
. Nach der Aktivierung dieses Menüpunktes ist auf die Abfrage nach dem Programmnamen der Name des aufzurufenden
User Language-Programms (z.B.
ulprog ) explizit einzugeben. Die Betätigung einer beliebigen Maustaste oder die Eingabe eines Fragezeichens
? auf die Abfrage nach dem Programmnamen bewirkt hierbei die Aktivierung eines Popupmenüs mit allen aktuell verfügbaren
User Language-Programmen.
User Language-Programme können auch implizit über die Tastatur aktiviert werden. Diese Art des Programmaufrufs ist immer dann möglich, wenn nicht gerade eine andere interaktive Eingabe über Tastatur erwartet wird. Die Spezifikation des Programmnamens erfolgt dabei implizit durch Drücken einer Taste. Zulässige Tasten sind dabei die Standardtasten
(1,
2, ...,
0,
a,
b,
c, ...; entsprechende Programmnamen sind
scm_1,
scm_2, ...,
scm_0,
scm_a,
scm_b,
scm_c, ...) bzw. die Funktionstasten
(F1,
F2, ...; entsprechende Programmnamen sind dabei
scm_f1,
scm_f2, ...).
Der
Schaltplaneditor ermöglicht den ereignisgesteuerten Aufruf von
User Language-Programmen. Dabei lösen spezielle Ereignisse bzw. Operationen implizit, d.h. automatisch den Aufruf von
User Language-Programmen mit definierten Namen aus, sofern diese verfügbar sind. Im Einzelnen sind dies die
User Language-Programme
scm_st beim Starten des Schaltplaneditor,
scm_load nach dem Laden eines Elements,
scm_save vor dem Speichern eines Elements,
scm_tool bei Selektion eines Toolbarelements sowie
scm_zoom bei Änderung des Zoomfaktors. Der Aufruf über die Startupsequenz der Interpreterumgebung eignet sich besonders zur automatischen Voreinstellung von modulspezifischen Parametern sowie zur Tastaturprogrammierung und Menübelegung. Der implizite Aufruf von
User Language-Programmen nach dem Laden bzw. vor dem Speichern von Elementen ermöglicht die automatische Aktivierung elementspezifischer Bearbeitungsparameter wie z.B. des zuletzt selektierten Zoombereichs oder spezieller Farbeinstellungen. Bei Interaktionen in der Werkzeugliste werden die den selektierten Toolbarelementen zugewiesenen Funktionen ausgelöst. Die Änderung des Zoomfaktors kann dazu benutzt werden, Aktualisierungen in Funktionen zur Verwaltung von Entwurfsansichten auszulösen.
Mit der
Bartels User Language werden darüber hinaus mächtige Systemfunktionen zur Tastaturprogrammierung und Menübelegung sowie zur Definition von Werkzeugleisten (Toolbars) zur Verfügung gestellt. Beachten Sie bitte, dass über die mit der BAE-Software ausgelieferten
User Language-Programme eine Vielzahl von Zusatzfunktionen implementiert und transparent in die Benutzeroberfläche des
Schaltplaneditors eingebunden sind.
Eine ausführliche Beschreibung der
Bartels User Language finden Sie im
Bartels User Language Programmierhandbuch (Kapitel 4.2 enthält eine Auflistung aller mit der BAE-Software ausgelieferten
User Language-Programme).
Neuronales Regelsystem
Im
Bartels AutoEngineer sind eine Vielzahl mächtiger Zusatzfunktionen über das integrierte
Neuronale Regelsystem implementiert.
Kapitel 6.3.1 enthält eine Übersicht über die im Schalplanpaket bereitgestellten Regelsystemanwendungen.
2.2 Bibliotheksbearbeitung
Im Lieferumfang des
Bartels AutoEngineer sind eine Reihe von Schaltzeichenbibliotheken enthalten. Natürlich kann jedoch der Fall eintreten, dass Sie für Ihren aktuell zu bearbeitenden Schaltplan ein Symbol benötigen, welches noch nicht in einer dieser mitgelieferten Bibliotheken enthalten ist. Nachfolgend wird anhand von Beispielen die Erstellung derartiger Bibliothekssymbole beschrieben. Dabei werden entsprechend der Datenbankhierarchie (siehe hierzu auch
Kapitel 1.3) ausgehend von der untersten Hierarchieebene zunächst ein Pinsymbol (auf Markerebene), anschließend ein Stromlaufsymbol (auf Symbolebene) und schließlich noch zwei Labelsymbole (auf Labelebene) definiert. Alle diese Symbole werden in einem DDB-File mit Namen
demo.ddb abgelegt. Gehen Sie hierzu zunächst in das bei der Software-Installation angelegte BAE-Jobs-Verzeichnis (z.B.
c:\baejobs ), und starten Sie den
AutoEngineer:
> C:
> cd c:\baejobs
> bae
Rufen Sie das Schaltplan-Modul auf:
Schaltplan | |
Sie befinden sich nun im Stromlauf-Editor des
Bartels AutoEngineer und können mit der Erstellung der Bibliothekselemente beginnen. Bevor Sie jedoch eigene Stromlaufsymbole erstellen, sollten Sie sich mit den Normen zur Schaltzeichenerstellung vertraut machen. Häufig existieren firmenspezifische Konventionen, die zu beachten sind. Beispiele hierfür sind etwa das Raster für die Schaltzeichendarstellung, die Mindestbreite für das Schaltzeichen, die Kennzeichnung von Ein- und Ausgängen oder von Steuerblöcken, die Mindesthöhe für Texte, das Raster zur Platzierung der Pins, die Lage des Schaltzeichen-Nullpunktes, usw. Insbesondere der Nullpunkt und das Raster zur Platzierung der Pins sollte so grob (z.B. 2mm) gewählt werden, dass später in dem zur Schaltplanerstellung gewählten Raster (z.B. 1mm) die Verbindungen problemlos an diese Pins herangeführt werden können.
Abbildung 2-1 zeigt die SCM-Bibliothekssymbole, die wir in diesem Abschnitt erstellen werden.
Abbildung 2-1: SCM-Bibliothekssymbole
2.2.1 Marker-Erstellung
Erzeugen des Markersymbols
Generieren Sie mit den folgenden Befehlen in der Datei
demo.ddb einen Marker mit dem Elementnamen
p und einer Elementgröße von 10*10 mm:
Datei | |
Neues Element | |
Marker | |
Dateiname ? | demo |
Elementname ? | p |
Elementbreite (mm/") ? | 10 |
Elementhoehe (mm/") ? | 10 |
Auf dem Bildschirm sehen Sie nun einen quadratischen Rahmen mit einem Kreuz in der Mitte. Der Rahmen beschreibt die Elementgrenzen des Markers, während das Kreuz die Position des Element-Nullpunktes kennzeichnet.
Definieren des Kontaktbereiches
Pinsymbole dienen auf Planebene zur visuellen Überprüfung von Netzlistenänderungen, d.h. sobald eine Verbindung am Marker richtig angeschlossen wurde, wird der am Marker definierte Kontaktbereich nicht mehr auf dem Schema angezeigt. Die Kontaktflächen der Marker werden beim Plotten des Planes nicht mitgeplottet.
Definieren Sie nun im Nullpunkt des Markers einen quadratischen Kontaktbereich mit einer Kantenlänge von 1mm. Dies geschieht mit folgenden Befehlen:
Grafik | |
Neuer Kontaktbereich | |
Sprung absolut | |
Abs. X Koordinate (mm/") ? | 0.5 |
Abs. Y Koordinate (mm/") ? | 0.5 |
Sprung relativ | |
Rel. X Koordinate (mm/") ? | -1 |
Rel. Y Koordinate (mm/") ? | 0 |
Sprung relativ | |
Rel. X Koordinate (mm/") ? | 0 |
Rel. Y Koordinate (mm/") ? | -1 |
Sprung relativ | |
Rel. X Koordinate (mm/") ? | 1 |
Rel. Y Koordinate (mm/") ? | 0 |
Fertig | |
Definieren der Referenz
Wir haben nun bereits die grafische Gestaltung des Markersymbols abgeschlossen. Der Marker sollte jedoch noch mit einer Referenz für die Pinbezeichnung ausgestattet werden. Hierzu sei kurz die Bedeutung des
$ -Zeichens erklärt. Im AutoEngineer definiert das
$ -Zeichen eine Variable, die - auf einer Hierarchiestufe gesetzt - auf den höheren Hierarchieebenen den Namen des Elements anzeigt. So zeigt das auf Markerebene platzierte
$ -Zeichen auf Schaltzeichen- und Schaltplanebene den Pinnamen an, ein
$ -Zeichen auf Symbolebene platziert zeigt auf Schaltplanebene den Bauteilnamen an, usw.
Platzieren Sie nun mit folgenden Befehlen das
$ -Zeichen mit einer Texthöhe von 2mm an der Koordinate [-0.5,0.5]:
Texte | |
Neuer Text | |
Text ? | $ |
Textgroesse | |
Texthoehe ( 4.00mm) ? | 2 |
Sprung absolut | |
Abs. X Koordinate (mm/") ? | -0.5 |
Abs. Y Koordinate (mm/") ? | 0.5 |
Definieren der Elementgrenzen
Nun sollten noch die Elementgrenzen des Markers so umdefiniert werden, dass sie die Objekte des Markers möglichst dicht umschließen. Dies geschieht wie folgt:
Einstellungen | |
Obere Elementgrenze | |
Sprung absolut | |
Abs. X Koordinate (mm/") ? | 0 |
Abs. Y Koordinate (mm/") ? | 0 |
Untere Elementgrenze | |
Sprung absolut | |
Abs. X Koordinate (mm/") ? | 0 |
Abs. Y Koordinate (mm/") ? | 0 |
Sichern des erstellten Markersymbols
Speichern Sie das Markersymbol nun mit folgenden Befehlen ab:
Datei | |
Speichern | |
Das Markersymbol ist nun definiert und unter dem Elementnamen
p in der Datei
demo.ddb abgespeichert. Sie können dies wie folgt überprüfen:
Datei | |
Dateiinhalt | |
Marker | |
Dateiname ? | |
Da bei der Abfrage nach dem Dateinamen ein leerer String angegeben wurde, verwendet das System den Dateinamen des im Speicher befindlichen Elements (also
demo.ddb ). Das System sollte nun im Grafikarbeitsbereich folgende Liste mit den in der Datei
demo.ddb enthaltenen Markersymbolen ausgeben:
Typ : Marker / Datei : demo.ddb
:p - Ende -
Betätigen Sie nun die Leertaste, um wieder in die Menüoberfläche zu gelangen.
2.2.2 Symbol-Erstellung
Wir wollen im Folgenden ein neues Bibliothekssymbol mit dem Elementnamen
CD4081 erstellen. Dieses Symbol kann in einer neuen oder in einer bereits bestehenden Bibliotheks- oder Projektdatei generiert werden. In diesem Beispiel erstellen wir das Symbol in unserer aktuellen Bibliotheksdatei
demo.ddb .
Bei dem zu definierenden Bauteil
CD4081 bietet es sich an, nicht das komplette IC als ein Symbol zu erzeugen, sondern als Einzelgatter, da es innerhalb des Packages vier mal vorkommt. Wenn Sie die im Folgenden aufgeführten Arbeitsschritte richtig nachvollziehen, sollte sich das in
Abbildung 2-2 dargestellte Symbol ergeben.
Abbildung 2-2: Stromlaufsymbol CD4081
Erzeugen des Stromlaufsymbols
Erzeugen Sie mit folgenden Befehlen ein neues Symbol (d.h. ein neues Element vom Typ Symbol) mit dem Elementnamen
CD4081 in der Datei
demo.ddb (sofern vom vorhergehenden Arbeitsschritt noch ein Element der Datei
demo.ddb geladen ist, genügt die Angabe eines leeren Strings (Betätigen der Eingabetaste
) auf die Abfrage nach dem Dateinamen):
Datei | |
Neues Element | |
Symbol | |
Dateiname ? | demo |
Elementname ? | cd4081 |
Blatt (C)omplex/(L)ogik/(G)ate/(D)iskret/(M)anuell ? | g |
Die Symbolgröße legt vordefinierte Elementgrenzen für das Symbols fest. Die Elementgrenze ist der aktive Arbeitsbereich, innerhalb dessen Objekte platziert werden können. Dieser Bereich lässt sich auch nachträglich verändern. Sie können die Elementbreite und die Elementhöhe entweder manuell eingeben oder einfach eine der folgenden vordefinierten Elementgrößen auswählen:
Option | Element-/Symbolgröße |
| 50 × 90 mm |
| 30 × 30 mm |
| 15 × 15 mm |
| 15 × 10 mm |
Selektion des Pinsymbols
Selektieren Sie zunächst den zuvor erstellten Marker
p , der für dieses Schaltzeichen als Pinsymbol verwendet werden soll:
Einstellungen | |
Einstellungen | |
Name Pinsymbol | |
Bauteilpin Marker Name ? | p |
Sie können mit Hilfe obiger Parameterzuweisung Schaltzeichen aus Pinsymbolen mit unterschiedlicher Geometrie erstellen. Per Default wird vom System der Marker mit dem Namen
pin verwendet (achten Sie darauf, dass dieser Marker auch in der voreingestellten Bibliothek verfügbar ist; siehe hierzu auch die Beschreibung des Kommandos
SCMDEFLIBRARY im Programm
bsetup).
Platzieren der Pins
Nun sind die Pins des Symbols zu definieren. Das Bauteil
CD4081 beinhaltet 4 gleiche AND-Gatter mit den Eingängen
A und
B sowie dem Ausgang
Y . Dies sind die logischen Namen der Pins (andere logische Pins könnten z.B. mit
INPUT ,
OUT ,
CLK , etc. bezeichnet sein). Die Zuordnung zum jeweiligen physikalischen Pin erfolgt später mit Hilfe des Utilityprogramms
loglib (siehe hierzu auch die Beschreibung zum
Packager in
Kapitel 3.2 dieses Handbuchs). 1:1-Zuordnungen, d.h. die Identität logischer und physikalischer Pinbezeichnungen, sind natürlich ebenso möglich.
Die Marker des Schemasymbols sind die Bauteile, aus denen das Symbol interaktiv erstellt wird. Um in der Sprache des
AutoEngineer zu bleiben: Das Symbol des Symbols ist der Marker!
Dieser zunächst etwas verwirrende Satz ist jedoch logisch. Ein Symbol wird aus Markern erstellt, welche die Pins des Symbols repräsentieren. Die Markerebene ist die unterste Hierarchieebene des Schematics. Folgender Zusammenhang ist gegeben: Der Marker ist das Element, durch dessen Platzierung auf der Symbolebene Symbole erzeugt werden, während durch das Platzieren der Symbole auf Planebene Schaltpläne erzeugt werden.
Platzieren Sie nun die Pins
A ,
B und
Y an den Koordinaten [2,10], [2,2] und [12,6] im Symbol:
Symbole | |
Neues Symbol | |
Bauteilname ? | a |
Positionieren auf [2,10] | |
Neues Symbol | |
Bauteilname ? | b |
Positionieren auf [2,2] | |
Neues Symbol | |
Bauteilname ? | y |
Positionieren auf [12,6] | |
Die Marker sind nun platziert und stellen innerhalb des
CD4081 -Gatters die Pins
A ,
B und
Y dar. Die Koordinaten der Marker werden während der Platzierung im Statusfenster der Benutzeroberfläche angezeigt.
Die Eingabe eines
/ vor dem Bauteilnamen bewirkt die inverse Schreibweise des Namens. Damit ließe sich z.B. ein negierter Ausgang durch die Definition des Bauteilnamens
/y kennzeichnen. Dies gilt auch für Texte.
Grafik
Das Symbol besteht jetzt zwar aus allen für das Einzelgatter
CD4081 benötigten Pins, aber noch nicht aus der Symbolgeometrie, wie Sie entsprechend Ihren Bedürfnissen oder nach Norm in der Schaltung erscheinen soll.
Erstellen Sie jetzt mit folgenden Kommandos die Symbol-Outline des
CD4081 :
Grafik | |
Neue Grafiklinie | |
Positionieren auf [4,1] | |
Positionieren auf [4,11] | |
Positionieren auf [10,11] | |
Positionieren auf [10,1] | |
Positionieren auf [4,1] | |
Fertig | |
Um das Symbol zu komplettieren, sind jetzt die Pins als Grafiklinien oder Flächen einzuzeichnen. Gehen Sie wie folgt vor:
Grafik | |
Neue Grafiklinie | |
Positionieren auf Pin "A", [2,10] | |
Positionieren auf [4,10] | |
Fertig | |
Nun ist eine waagrechte Grafiklinie ausgehend vom Mittelpunkt des Pins
A bis zur Symbol-Outline eingezeichnet. Diese Linie ist auch nach Anschluss des Markers
A im Plan als Pin sichtbar und wird mitgeplottet. Kopieren sie nun die am Pin
A gezeichnete Grafiklinie auf die Pins
B und
Y :
Grafik | |
Grafik kopieren | |
Positionieren auf Pin "A", [2,10] | |
Positionieren auf Pin "B", [2,2] | |
Grafik kopieren | |
Positionieren auf Pin "A", [2,10] | |
Positionieren auf [10,6] | |
Text und Attribute
Die grafische Gestaltung des neuen Symbols ist nun abgeschlossen. Das Symbol sollte jedoch noch mit einigen Texten ausgestattet werden. Zunächst setzen wir die Variable für die Symbol-Referenz, d.h. wir legen fest, an welcher Stelle am Symbol der Bauteilname (IC01, R20, V2) erscheinen soll. Hierzu sei nochmals kurz die Bedeutung des
$ -Zeichens erklärt. Im
AutoEngineer wird durch den Text
$ eine Variable definiert, die auf den nächst höheren Hierarchieebenen den Namen des Elements anzeigt. Ein
$ als Text auf Symbolebene platziert zeigt also auf Planebene den Bauteilnamen an.
Platzieren Sie nun den Text
$ mit einer Textgröße von 3mm:
Texte | |
Neuer Text | |
Text ? | $ |
Textgroesse | |
Texthoehe ( 2.00mm) ? | 3 |
Positionieren auf [4,11] | |
Zur Kenntlichmachung der Funktion des Symbols im Plan sollte noch ein
& -Zeichen für das AND-Gatter im Symbol platziert sein.
Texte | |
Neuer Text | |
Text ? | & |
Textgroesse | |
Texthoehe ( 3.00mm) ? | 4 |
Positionieren auf [6,4] | |
Als nächstes tragen Sie mit folgender Befehlsfolge den Gatternamen
CD4081 (Texthöhe 1mm) in das Symbol ein:
Texte | |
Neuer Text | |
Text ? | CD4081 |
Textgroesse | |
Texthoehe ( 4.00mm) ? | 1 |
Positionieren auf [5,1] | |
Definieren Sie nun das Attribut
$plname als Kommentartext (Texthöhe 1mm ist noch eingestellt):
Texte | |
Neuer Text | |
Text ? | $plname |
Kommentartext | |
Positionieren auf [5,0] | |
Im Schaltplanpaket des Bartels AutoEngineer wird unterschieden zwischen Standardtext und Kommentartext. Sowohl Standardtext als auch Kommentartext werden auf dem Bildschirm dargestellt, bei der Generierung von Plots werden jedoch nur die Standardtexte ausgegeben. Somit besteht über die Definition von Kommentartexten die Möglichkeit, Attribute oder Texte beim Plotten auszublenden.
Es besteht auch die Möglichkeit, Texte mit Rahmen zu versehen. Die Einstellung erfolgt beim Platzieren des Textes in den über die rechte Maustaste erreichbaren Untermenüs der Funktionen
,
bzw.
über die Optionen
,
und
.
erzeugt einen Textrahmen im Abstand von 1/8 der Texthöhe,
erzeugt einen Textrahmen im Abstand von 1/4 der Texthöhe. Bei Aktivierung offener Rahmen wird die am Textursprung befindliche vertikale Rahmenlinie offen gelassen; dadurch können Textfahnen für Labels erzeugt werden, die sich dynamisch der Textlänge anpassen. Die Optionen
und
können simultan angewendet werden. Bei der Plotausgabe kann es dazu kommen, dass Textnegierungsstriche mit Textrahmen verschmelzen. Die Gefahr hierzu besteht insbesondere beim Plotten kleiner Texte mit großen Stiften. Mit der Option
werden alle Textrahmeneinstellungen zurückgesetzt.
Die über die rechte Maustaste in den Funktionen
,
und
erreichbaren Untermenüs enthalten auch die Optionen
und . Damit
wird die Möglichkeit der Drehung für den bearbeiteten Text abgeschaltet. Texte, für die der Modus
gesetzt ist, werden in allen Datenbankhierarchieebenen immer ungedreht angezeigt bzw. geplottet.
Mit
wird der Text zentriert an der Platzierungsposition ausgerichtet.
Um diese Modi wieder abzuschalten, ist die Option
aus demselben Untermenü auf den Text anzuwenden.
Attribute werden im AutoEngineer als Texte bestehend aus dem
$ -Zeichen und nachfolgend dem (kleingeschriebenen) Attributnamen auf Symbolebene definiert. Diese Attribute haben die Funktion von Variablen, d.h. derartigen Attributen können auf Planebene Werte zugewiesen werden. Die in
Tabelle 2-1 aufgeführten Attribute besitzen aufgrund programmbedingter Konventionen eine besondere Bedeutung.
Tabelle 2-1: Spezielle Attribute im Bartels AutoEngineer
Attributname | Funktion/Bedeutung |
$ | Referenzname |
$$ | Logischer Referenzname |
$llname | Logical Library Name |
$plname | Physical Library Name (und alternative Layoutgehäusebauformen) |
$ulname | Used Library Name (alternative Layoutgehäusezuweisung) |
$rpname | Requested Part Name |
$rbname | Requested Backannotated Part Name |
$gp | Gate Pin |
$blkname | Hierarchieblock-Name |
$pageref | SCM-Label-Stromlaufblatt-Namensliste |
$pagecref | SCM-Label-Stromlaufblatt-Kommentarliste |
$orgname | Ursprüngliche(r)/interne(r) SCM-Symbol-/Bauteilname(n) eines Layoutbauteils |
$pagename | Schaltplanbattname(n) eines Layoutbauteils |
$blkrname | Schaltplanblockname(n) eines Layoutbauteils |
$rlname | Requested Logical Library Name |
$rlext | Requested Logical Library Name Extension |
$val | Wert |
$pow | Leistung |
$type | Bauteiltyp |
$comment | Kommentar (englisch) |
$commentge | Kommentar (deutsch) |
$manufacturer | Hersteller |
$partside | Bauteilseite (top = ungespiegelt, bottom = gespiegelt) |
$pltbaeversion | Bartels AutoEngineer Software-Versionsnummer (nur Lesezugriff) |
$pltbaebuild | Bartels AutoEngineer Software-Buildnummer (nur Lesezugriff) |
$pltfname | Projektdateipfadname |
$Pltfname | Projektdateipfadname (Großschreibung) |
$pltfsname | Projektdateiname (ohne Verzeichnispfad) |
$Pltfsname | Projektdateiname (Großschreibung, ohne Verzeichnispfad) |
$pltpagecnt | Gesamtanzahl Projektschaltplanblätter |
$pltename | Elementname |
$Pltename | Elementname (Großschreibung) |
$pltdatede | Aktuelles Datum (deutsches Format) |
$pltdateus | Aktuelles Datum (US-amerikanisches Format) |
$pltdate2de | Aktuelles Datum (deutsches Format; zweistellige Jahreszahl) |
$pltdate2us | Aktuelles Datum (US-amerikanisches Format; zweistellige Jahreszahl) |
$plttime | Aktuelle Uhrzeit |
$pltsdatede | SCM-/Layout-Sicherungsdatum (deutsches Format) |
$pltsdateus | SCM-/Layout-Sicherungsdatum (US-amerikanisches Format) |
$pltsdate2de | SCM-/Layout-Sicherungsdatum (deutsches Format; zweistellige Jahreszahl) |
$pltsdate2us | SCM-/Layout-Sicherungsdatum (US-amerikanisches Format; zweistellige Jahreszahl) |
$pltstime | SCM-/Layout-Sicherungsuhrzeit |
$pltpname | Layoutelementname des letzten Packager-Laufs |
$Pltpname | Layoutelementname des letzten Packager-Laufs (Großschreibung) |
$pltpdatede | Datum (deutsches Format) des letzten Packager-Laufs |
$pltpdateus | Datum (US-amerikanisches Format) des letzten Packager-Laufs |
$pltpdate2de | Datum (deutsches Format; zweistellige Jahreszahl) des letzten Packager-Laufs |
$pltpdate2us | Datum (US-amerikanisches Format; zweistellige Jahreszahl) des letzten Packager-Laufs |
$pltptime | Uhrzeit des letzten Packager-Laufs |
$pltcname | Layoutelementname |
$pltcdatede | Datum des letzten Namensupdates (deutsches Format) |
$pltcdateus | Datum des letzten Namensupdates (US-amerikanisches Format) |
$pltcdate2de | Datum des letzten Namensupdates (deutsches Format; zweistellige Jahreszahl) |
$pltcdate2us | Datum des letzten Namensupdates (US-amerikanisches Format; zweistellige Jahreszahl) |
$pltctime | Uhrzeit des letzten Namensupdates |
$pltfbname | Elementspezifischer Projektdateiname ohne die Endung .ddb |
$Pltfbname | Elementspezifischer Projektdateiname ohne die Endung .ddb (Großschreibung) |
$pltfbsname | Elementspezifischer Projektdateiname ohne die Endung .ddb und ohne den Verzeichnispfad |
$Pltfbsname | Elementspezifischer Projektdateiname ohne die Endung .ddb und ohne den Verzeichnispfad (Großschreibung) |
$pltecomment | DDB-Elementkommentar - Elementspezifischer Kommentartext |
$drcblk | Design Rule Check Block (Pin/-Netzattribut) |
$net | Pinnetzname |
$netname | Netzname (Netzattribut) |
$nettype | Netztyp (Pin-/Netzattribut) |
$powpin | Versorgungspindefinition (Pinattribut) |
$viastk | Viapadstacktyp (Netzattribut) |
$notest | Deaktivierung automatische Testpunktgenerierung (Netzattribut) |
$routdis | Deaktivierung Autorouting (Netzattribut) |
$layers | Autoroutinglagen (Netzattribut) |
$@ | Layoutbauteilname (Padstackattribute) |
Die Systemattribute
$pltbaeversion und
$pltbaebuild dienen der Anzeige bzw. Ausgabe der Versions- und Buildnummer der
Bartels AutoEngineer-Software. Diese ermöglicht die für ISO-Zertifizierungen benötigte Dokumentation des verwendeten Softwarestandes auf Schaltplanausgaben.
Die Attribute
$ ,
$llname ,
$plname ,
$gp ,
$ulname und
$blkname werden vom System automatisch gesetzt. Die Referenz
($ ) wird auf der jeweils nächsthöheren Hierarchieebene durch den Namen des Elements ersetzt; auf Schaltplanebene wird hierfür der durch den
Packager erzeugte Bauteil- bzw. Pinname eingesetzt. Auf Symbolebene kann über das Attribut
$$ der logische Bauteilname zur Anzeige auf Schaltplanebene auch nach dem
Packager-Lauf referenziert werden, und auf Markerebene kann über das Attribut
$$ entsprechende die logische Pinbezeichnung zur Anzeige auf Schaltplanebene auch nach dem
Packager-Lauf referenziert werden.
Auf Symbolebene platzierte
$llname -Texte werden auf Schaltplanebene durch den Namen des Symbolmakros ersetzt. Das
$llname -Attribut kann nicht interaktiv bzw. explizit gesetzt werden, da der
Packager automatisch die korrekte Symbolnamenszuweisung vornimmt. Die Dokumentation des Symbolnamens mit Hilfe von
$llname -Texten erleichtert die Erstellung neuer Schaltplansymbole aus existierenden Symbolen, da der
$llname -Text des neuen Symbols auf Schaltplanebene automatisch durch dessen neuen Namen ersetzt wird und ein Editieren des Textes daher unnötig ist.
Im Layout kann
$llname zur Visualisierung des Schaltzeichen-Namens verwendet werden. Außerdem überträgt der
Packager die Namen der SCM-Symbolpins automatisch auf das Pinattribut
$llname welches im Layout durch die Definition entsprechender Texte auf Padstackebene visualisiert werden kann.
Über den Physical Library Name
($plname ) kann auf Schaltplanebene ein Symbol abweichend von der vordefinierten Defaultzuweisung aus der Logischen Bibliothek (siehe hierzu auch die Beschreibungen des Utilityprogramms
loglib sowie des
Packagers). in ein anderes Gehäuse zugewiesen werden. So kann z.B. durch Zuweisung des Wertes
so14 an das Attribut
$plname die Verwendung der SMD-Gehäusebauform
so14 (anstelle der bedrahteten Bauform)
dil14 ) erzwungen werden.
Durch eine
$plname -Attributwertzuweisung der Form
[dil14,so14] kann wahlweise auch eine Auswahlliste möglicher Alternativbauformen an das Layout übergeben werden.
Die
überträgt die im Layout zugewiesene Gehäusebauform in das
$ulname -Attribut (Used Library Name), D.h., über dieses Attribut können im Stromlauf alternative Layoutgehäusezuweisungen angezeigt bzw. abgefragt werden.
Mit dem Requested Part Name
($rpname ) können Symbole auf Schaltplanebene bestimmten Bauteilen zugewiesen werden (z.B.
IC4 anstelle der durch den
Packager automatisch generierten Zuweisung); diese Funktion wird benötigt, um die Zuweisung bestimmter Schaltplansymbole an definierte Gehäuse zu erzwingen (z.B. bei Relais oder Mehrfach-Operationsverstärkern).
Mit dem Requested Backannotated Part Name
($rbname ) können wie mit
$rpname Symbole auf Schaltplanebene bestimmten Bauteilen zugewiesen werden. Mit
$rbname zugewiesene Layoutbauteilnamen können aber im Gegensatz zu
$rpname -Zuweisungen im
Layouteditor geändert werden und
überträgt geänderte Layoutbauteilnamen zurück in die
$rbname -Attribute der zugehörigen Schaltplansymbole.
Mit Hilfe des Attributs
$gp (Gate Pin) ist es möglich, bei Mehrfachsymbolen im Schaltplan explizit vorzugeben, welche Position ein Gatter im Layoutbauteil einnimmt. Das Attribut
$gp ist dazu auf den Namen des ersten im
xlat -Kommando der logischen Definition aufgeführten Layoutbauteilpins des gewünschten Gatters zu setzen (siehe hierzu auch
loglib). Um Überbelegungskonflikte zu vermeiden, sollte das
$gp -Attribut immer entweder für alle Gatter oder kein Gatter eines Layoutbauteiles gesetzt werden. Das
$gp -Attribut ermöglicht z.B. bei Mehrfach-Operationsverstärkern eine spezifische Zuordnung der einzelnen Komponenten. Darüberhinaus können durch Zuweisungen von Pinbezeichnungen an dieses Attribut Steckerpinsymbole für die Anschlüsse mehrpoliger Stecker definiert werden, sofern die Steckeranschlüsse über
xlat jeweils als Einzelpin-Gatter definiert sind. Mit dem
$gp -Attribut zugewiesene Gatter und Pins sind vom Pin- und Gattertausch ausgeschlossen.
Der Hierarchie-Blockname
($blkname ) wird vom
Packager bei der Bearbeitung hierarchisch aufgebauter Schaltpläne automatisch mit dem Namen des Hierarchie-Blocks besetzt, in dem das entsprechende Bauteil definiert wurde.
Über das Attribut
$pltpagecnt kann im Schaltplan die Gesamtanzahl der im aktuellen Projekt enthaltenen Schaltplanblätter angezeigt werden.
Auf Labelebene platzierte
$pageref -Texte werden auf Schaltplanebene durch die Namensliste der Schaltplanblätter ersetzt, auf denen das durch den Label angegebene Netz verwendet wird.
Auf Labelebene platzierte
$pagecref -Texte werden auf Schaltplanebene durch die Kommentare der Schaltplanblätter ersetzt, auf denen das durch den Label angegebene Netz verwendet wird.
Die Attribute
$orgname (ursprüngliche(r)/interne(r) SCM-Symbol-/Bauteilname(n) bzw. SCM-(Teil-)Netzname),
$pagename (Schaltplanbattname(n)) und
$blkrname (Schaltplanblockname(n)) zur Bestimmung der Herkunft aus hierarchischen Schaltplanblöcken werden vom
Packager automatisch an Layoutbauteile zugewiesen.
Über eine Bauteildefinitionszuweisung an das Symbolattribut
$rlname (Requested Logical Library Definition) kann eine vom Symbolnamen abweichende Bauteildefinition aus der Logischen Bibliothek referenziert werden. Dies ermöglicht z.B. die Zuweisung spezifischer Gehäusebauformen mit verschiedenen Festattributen für Sachnummern an Schaltplansymbole. Um Fehlzuweisungen zu vermeiden, müssen die referenzierten Bauteildefinitionen mit Hilfe des entsprechenden
loglib-Eintrags der gleichen Bauteilklasse zugeordnet sein (siehe hierzu auch
Kapitel 7.11). Bei
mainpart/subpart -Symbolen ist zu beachten, dass diese nur korrespondierend gewechselt werden können. D.h., bei Definitionen wie z.B.
amain/asub und
bmain/bsub dürfen die Symbole, die in ein Gehäuse gepackt werden, entweder
amain/asub oder
bmain/bsub referenzieren, die Kombinationen
amain/bsub und
bmain/bsub sind hingegen nicht zulässig.
Mit
$rlext (Requested Logical Library Name Extension) können von Symbolnamen abweichende Bauteildefinitionszuweisungen ähnlich wie mit
$rlname vorgenommen werden.
$rlext -Einträge weisen den
Packager an, logische Bibliotheksdefinitionen mit spezifischen Namenserweiterungen (vom Basisnamen getrennt durch Unterstrich _ ) an die entsprechenden Symbole zuzuweisen. Dies ermöglicht z.B. die Zuweisung spezifischer standardisierter bzw. herstellerspezifischer Gehäusebauformen mit verschiedenen Festattributen für Sachnummern an Schaltplansymbole.
Die optionalen Attribute
$val (Value/Wert),
$pow (Power/Leistung),
$type (Bauteiltyp),
$comment (Kommentar englisch),
$commentge (Kommentar deutsch) und
$manufacturer (Hersteller) sind in den mitgelieferten Bibliotheken des
Bartels AutoEngineer zum Teil vordefiniert. Die Definition dieser Attribute bzw. die Eintragung der entsprechenden Attributwerte können nach Bedarf vom Anwender durchgeführt werden.
Über das Bauteilattribut
$partside kann für ein Bauteil vorgegeben werden, ob es nur ungespiegelt (Attributwert
top ) oder nur gespiegelt (Attributwert
bottom ) platziert werden darf. Beim manuellen und automatischen Platzieren hat diese Vorgabe Vorrang vor anderen Spiegelungseinstellungen. Entgegen der Vorgabe platzierte Bauteile werden vom DRC markiert und im
/ als Bauteilseitenfehler gelistet. Die Bibliothek
ROUTE enthält das Tagsymbol
tag_sym_partside zum Setzen des Attributs
$partside .
Die Attribute
$plttime (aktuelle Uhrzeit),
$pltdatede (aktuelles Datum, deutsche Notation) und
$pltdateus (aktuelles Datum, US-Notation) werden bei geladenem Schaltplan bzw. Layout bei der Bilddarstellung und bei der Plotausgabe jeweils durch die aktuelle Uhrzeit bzw. das aktuelle Datum ersetzt.
Die Attribute
$pltstime (Layout-Sicherungsuhrzeit),
$pltsdatede (Layout-Sicherungsdatum, deutsche Notation) und
$pltsdateus (Layout-Sicherungsdatum, US-Notation) werden bei der Bilddarstellung und bei der Plotausgabe jeweils durch die Uhrzeit bzw. das Datum der zuletzt für das aktuell geladene Layout durchgeführten Sicherung ersetzt.
Bei der Anzeige der Uhrzeit- und Datumsangaben spielt es keine Rolle, auf welcher Datenbankebene (Marker, Symbol/Label, Plan bzw. Pad, Padstack, Bauteil, Layout) der jeweilige Attributtext definiert ist. Existiert ein gesetztes herkömmliches Attribut mit gleichem Namen auf einer untergeordneten Hierarchieebene (Symbol/Marker bzw. Bauteil/Padstack) bzw. Bauteil so besitzt dieses Priorität bei der Anzeige bzw. Ausgabe.
Die Attribute
$pltpname (Layoutelementname),
$pltpdatede (Datum, deutsche Notation),
$pltpdateus (Datum, US-Notation) und
$pltptime (Uhrzeit) werden bei geladenem Schaltplan bzw. Layout bei der Bilddarstellung und bei der Plotausgabe jeweils durch den Layoutelementnamen bzw. die Uhrzeit bzw. das Datum des zuletzt durchgeführten
Packager-Laufs ersetzt.
Die Attribute
$pltdate2de ,
$pltdate2us ,
$pltsdate2de ,
$pltsdate2us ,
$pltpdate2de und
$pltpdate2us sind Varianten mit zweistelliger Jahreszahlanzeige der Attribute
$pltdatede ,
$pltdateus ,
$pltsdatede ,
$pltsdateus ,
$pltpdatede und
$pltpdateus .
Die Attribute
$pltcname ,
$pltcdatede ,
$pltcdate2de ,
$pltcdateus ,
$pltcdate2us und
$pltctime dienen der Anzeige des Layoutelementnamens sowie des Datums und der Uhrzeit des zuletzt durchgeführten Namensupdates. Im Gegensatz zu den Attributen zur Anzeige von
Packager-Daten werden diese Einträge zusätzlich auch bei der Durchführung einer
geändert.
Mit den Attributtexten
$pltfbname (File Base Name) bzw.
$pltfbsname (File Base Short Name) ist es möglich, den Namen der Projektdatei auf dem aktuell geladenen Element anzuzeigen.
$pltfbname zeigt den Projektdateinamen ohne die Endung
.ddb an.
$pltfbsname zeigt den Projektdateinamen ohne die Endung
.ddb und ohne den Verzeichnispfad an.
Das Systemattribut
$pltecomment (Elementkommentar) dient der Zuweisung von Kommentaren an DDB-Elemente.
Die Zuweisung erfolgt wahlweise über das Untermenü
/ oder für das aktuell geladene Element auch in der Dialogbox
/ .
Bei der Auswahl von DDB-Dateielementen wird dieser Kommentar neben dem Elementnamen angezeigt. Bei der PDF-Ausgabe von Schaltplänen wird bei vorhandenem Schaltplanblattkommentar der Kommentar anstatt des Blattnamens in das Seiteninhaltsverzeichnis des PDF-Dokumentes übernommen.
Das Netzattribut
$netname wird vom
Packager als Netzname an das angeschlossenen Netz übertragen und hat Vorrang vor eventuell per Label zugewiesenen Netznamen. Damit ist eine eindeutige Benennung auch für solche Netze mit unterschiedlich benannten Labels möglich.
Das Pinattribut
$nettype wird vom
Packager automatisch von Pins auf die angeschlossenen Netze übertragen. Sind an einem Netz Pins mit unterschiedlichen Attributwerteinträgen für
$nettype angeschlossen so wird für das Netz der Wert
mixed eingetragen. Das Pinattribut
$drcblk wird vom
Packager automatisch von Pins auf die angeschlossenen Netze übertragen. Der Attributwerteintrag für
$drcblk addressiert in
BAE HighEnd einen Parameterblock mit Entwurfsregeln, der damit an das entsprechende Netz zugewiesen wird.
Das Pinattribut
$powpin steuert, dass ein Symbolpin ebenso wie über
net -Kommandos definierte Pins seine Anschlussbreite aus dem Netzattribut für die Versorgungspinanschlussbreite bezieht. Das Tagsymbol
tag_pin_powerpin aus der Bibliothek
ROUTE kann zum Setzen dieses Pinattributs verwendet werden. Alternativ kann das Pinattribut
$powpin in der Symbollogik auch fest zugewiesen werden:
newattr "$powpin" = "1" : (pinname);
Das Netzattribut
$viastk dient der Zuweisung von Viatypen an Netze. Netzspezifische Viapadstackzuweisungen werden vom
Autorouter entsprechend berücksichtigt.
Durch die Zuweisung des Netzattributs
$notest können spezifische Netze von der automatischen Testpunktgenerierung durch den
Packager ausgenommen werden.
Durch die Zuweisung des Netzattributs
$routdis können spezifische Netze vom Autoroutingprozess ausgenommen werden. Über das Netzattribut
$layers können netzspezifische Routinglagen (durch Komma getrennte Signallagennummern) für den Autoroutingprozess in
BAE HighEnd an spezifische Netze zugewiesen werden.
Das Attribut
$@ ist padstack- bzw. layoutspezifisch. Ein auf Padstackebene platzierter
$@ -Text wird auf Layoutebene durch den Namen des Bauteils ersetzt, auf dem der Padstack als Pin platziert ist. Damit ist es möglich, für außerhalb eines Bauteils platzierte Pins den Namen des zugehörigen Bauteils am Pin zu dokumentieren (z.B. für die Funktion
).
Ein auf Padstackebene platzierter
$@ -Text wird auf Layoutebene durch den Namen des Bauteils ersetzt, auf dem der Padstack als Pins platziert ist. Damit ist es z.B. möglich bei mit
ausserhalb eines Bauteils platzierten Pins den Namen des zugehörigen Bauteils am Pin zu dokumentieren.
Neben den in
Tabelle 2-1 aufgeführten Attributen können beliebige andere Attribute definiert werden (typische Beispiele hierfür sind
$tolerance ,
$identno ,
$sachnummer ,
$preis ,
$lieferant ,
$delay ,
$bauteilhoehe , usw.).
Mit der Funktion
aus dem Menü
bzw.
können Symbolattribute bewegt bzw. platziert werden. Die mit
festgelegten Textoffsets haben Vorrang vor ggf. mit
vorgegebenen, globalen Textoffsets. Die Selektion des zu verschiebenden Attributs erfolgt durch Anklicken des Attributtexts. Der Symbolname selbst gilt ebenfalls als Attribut und kann somit mit der Funktion
auch selektiv verschoben werden, ohne die Platzierung der übrigen Symbolattribute zu beeinträchtigen.
Attributwerte können im Schaltplaneditor mit der Funktion
aus dem Menü
oder durch entsprechende Einträge in der Bauteilbibliothek an Bauteile zugewiesen werden.
In den Windows- und Motifversionen aktiviert die Funktion
eine Dialogbox für die Attributwerteingabe. Es werden bis zu 12 Attribute simultan dargestellt. Bei mehr als 12 Attributen kann über die Schaltflächen
und
zwischen mehreren Attributseiten hin- und hergeblättert werden. In der Dialogbox ist jedem Attribut eine Zeile zugeordnet. Diese besteht aus der Schaltfläche
, dem Attributwerteingabefeld und dem Attributnamenslabel. Mit
wird der Attributwert komplett zurückgesetzt. Die Rücksetzung wird durch Anzeige von
!nicht_gesetzt! für den Attributwert signalisiert. Die Rücksetzung unterscheidet sich von der Eingabe eines Leerstrings für den Attributwert. Ein Leerstring wird als solcher beim Attribut eingetragen und erscheint auch in der Netzliste. Nicht gesetzte Attribute werden überhaupt nicht in die Netzliste übertragen.
Die zugewiesenen Attribute werden in die Netzliste eingetragen und durch den
Packager in das Layousystem übertragen. Im Layout können Attribute durch entsprechende Textdefinitionen (z.B. auf Dokumentarlagen) visualisiert werden. Auch können die entsprechenden Werteinträge mit
User Language-Programmen oder mit Hilfe des Utilityprogramms
userlist praktisch beliebig weiter in Richtung Fremdsysteme, CAM, PPS, usw. ausgewertet werden.
Symbolnamensmuster
Als nächstes sollte dem System das gewünschte Muster für die automatische Bauteilbenennung im Schaltplan mitgeteilt werden:
Symbole | |
Symbolname Muster | |
Name Muster () ? | IC?? |
Hiermit ist das Muster für die automatische Bauteilbenennung auf
IC und 2 Stellen für die Nummerierung festgelegt. Wird kein Muster definiert, so gilt der Defaultwert
N???? , d.h. es werden Bauteilnamen beginnend mit dem Buchstaben
N und nachfolgend 4 Stellen für die Nummer vergeben. Die Startnummer für die automatische Bauteilnummerierung ergibt sich zu 10 beim Symbolnamensmuster
?? , 100 bei
??? , 1000 bei
???? , usw. Damit ist i.d.R. sichergestellt, dass sich bei einer später im Layout notwendigen Bauteilumbenennung keine Namenskonflikte ergeben können. Eine solche Bauteilumbenennung wird z.B. durchgeführt, um die Lesbarkeit des Bestückungsplans (insbesondere für die Handbestückung) zu verbessern. Dies ist üblicherweise wichtiger, als eine nach irgendwelchen erdachten Regeln durchgeführte Benennung der Stromlaufsymbole auf dem Schaltplan (die Funktion des Bauteils bzw. der Schaltung ist hier ja bereits am Symbol abzulesen). Daher empfehlen wir, bei der Platzierung der Stromlaufsymbole die Funktion zur automatischen Bauteilbenennung zu benutzen und erst im Layout die endgültige Nummerierung zu erzeugen. Entsprechende Funktionen - auch zur automatischen Bauteilbenennung - stehen sowohl im
Layouteditor als auch im
Autoplacement zur Verfügung.
Definieren der Elementgrenzen
Setzen Sie nun die rechte obere Ecke der Elementgrenze auf die Koordinate [14,14]:
Einstellungen | |
Obere Elementgrenze | |
Positionieren auf [14,14] | |
Definieren des Nullpunkts
Der Nullpunkt des Symbols ist auf Planebene dessen Pickpunkt. Das ist der Punkt des Symbols, der am Fadenkreuz hängt. Am zweckmäßigsten ist es, diesen Punkt auf einen der Pins (in unserem Fall z.B. Pin
A , Koordinate [2,10]) zu legen:
Einstellungen | |
Nullpunkt | |
Positionieren auf Pin "A", [2,10] | |
Sichern des erstellten Symbols
Das Symbol
CD4081 ist nun vollständig definiert. Vergessen Sie nicht, dieses Symbol mit folgenden Kommandos zu sichern:
Datei | |
Speichern | |
2.2.3 Label-Erstellung
Labelsymbole dienen auf Schaltplanebene der Definition von Signalen bzw. Netznamen. Mit Hilfe von Labels ist es daher möglich, Netze über verschiedene Stromlaufblätter einer Projektdatei hinweg miteinander zu verbinden. Labels werden auf Schaltplanebene mit der Funktion
aus dem Menü
geladen. Sofern ein Labelsymbol mit dem auf die Abfrage nach dem Netznamen spezifiziertem Namen verfügbar ist, wird dieses Symbol geladen. Ist dies nicht der Fall, dann wird (sofern in der eingestellten Bibliothek verfügbar) per Default das Labelsymbol
standard geladen, welches eine Referenz zur Anzeige des Netznamens enthalten sollte. Neben dem Labelsymbol
standard haben auch die beiden im System vordefinierten Labelsymbole
bustap und
port besondere Bedeutung. Das Labelsymbol
bustap wird für Busanschlüsse verwendet. Das Labelsymbol
port wird für die Definition von Modulports beim hierarchischen Schaltplandesign verwendet. Im Folgenden werden wir in der DDB-Datei
demo.ddb die beiden Labelsymbole
vss und
vdd speziell zur Darstellung von Masse bzw. positiver Versorgung für CMOS-Technologie erstellen.
Erzeugen des Labelsymbols
Erzeugen Sie mit folgenden Kommandos ein neues Labelsymbol (d.h. ein neues Element vom Typ Label) mit dem Elementnamen
vss innerhalb der Datei
demo.ddb (sofern vom vorhergehenden Arbeitsschritt noch ein Element der Datei
demo.ddb geladen ist, genügt die Selektion des
-Buttons im Popupmenü bzw. die Angabe eines leeren Strings (Betätigen der Eingabetaste
) auf die Abfrage nach dem Dateinamen):
Datei | |
Neues Element | |
Label | |
Dateiname ? | demo |
Elementname ? | vss |
Blatt (S)tandard/(M)anuell ? | m |
Elementbreite (mm/") ? | 6 |
Elementhoehe (mm/") ? | 10 |
Platzieren des Pinsymbols
Platzieren Sie mit folgenden Kommandos das Markersymbol
p an der Koordinate [3,7]:
Symbole | |
Neues Symbol | |
Bibliotheksteilname ? | p |
Positionieren auf [3,7] | |
Grafik
Zeichnen Sie eine vertikale Grafiklinie ausgehend vom eben positionierten Marker bis zur Koordinate [3,4], und generieren Sie eine rechteckige Grafikfläche:
Grafik | |
Neue Grafiklinie | |
Positionieren auf Marker, [3,7] | |
Positionieren auf [3,4] | |
Fertig | |
Neue Grafikflaeche | |
Positionieren auf [1,3] | |
Positionieren auf [1,4] | |
Positionieren auf [5,4] | |
Positionieren auf [5,3] | |
Fertig | |
Text
Tragen Sie mit folgenden Kommandos den Label-Namen
Vss als Text (Texthöhe 2mm) an der Koordinate [1,1] ein:
Texte | |
Neuer Text | |
Text ? | Vss |
Textgroesse | |
Texthoehe ( 1.00mm) ? | 2 |
Positionieren auf [1,1] | |
Definieren des Nullpunktes
Setzen Sie den Element-Nullpunkt des Labels auf die aktuellen Marker-Position (Koordinate [3,7]):
Einstellungen | |
Nullpunkt | |
Positionieren auf Marker, [3,7] | |
Sichern des erstellten Symbols
Das Labelsymbol
vss ist jetzt vollständig definiert. Vergessen Sie nicht, dieses Symbol mit folgenden Kommandos abzuspeichern:
Datei | |
Speichern | |
Erzeugen eines neuen Labelsymbols aus einem bestehenden
Das Labelsymbol
vdd kann aus dem soeben erstellten Labelsymbol
vss generiert werden. Kopieren Sie hierzu das noch geladene Labelsymbol
vss auf
vdd , und laden Sie
vdd :
Datei | |
Ablegen auf Namen | |
Dateiname ? | |
Elementname ? | vdd |
Laden | |
Label | |
Dateiname ? | |
Elementname ? | vdd |
Im Grafikarbeitsbereich sehen Sie nun das Labelsymbol
vdd , welches zunächst noch genauso aussieht, wie das Symbol
vss . Durch einige Manipulationen können Sie das geladene Labelsymbol abändern.
Löschen Sie zunächst mit den folgenden Kommandos den Text
Vss sowie die rechteckige Grafikfläche:
Texte | |
Text loeschen | |
Positionieren auf [-2,-6] | |
Grafik | |
Grafik loeschen | |
Positionieren auf [-2,-4] | |
Bewegen Sie nun die vertikale Grafiklinie um 2mm nach unten:
Grafik | |
Grafik bewegen | |
Positionieren auf [0,-3] | |
Positionieren auf [0,-5] | |
Bewegen Sie nun das Markersymbol um 5mm nach unten:
Symbole | |
Bewegen Symbol/Label | |
Positionieren auf [0,0] | |
Positionieren auf [0,-5] | |
Generieren Sie nun eine dreieckige Grafikfläche, die in Form einer Pfeilspitze nach oben zeigt (um einen spitzen Winkel zu erzeugen, ist es notwendig, zwischenzeitlich in das Menü
zu wechseln, um den Winkel freizugeben):
Grafik | |
Neue Grafikflaeche | |
Positionieren auf [-1,-2] | |
Positionieren auf [1,-2] | |
Raster/Winkel | |
Nur W freigeben | |
Positionieren auf [0,0] | |
Fertig | |
Tragen Sie mit folgenden Kommandos den Label-Namen
Vdd als Text (Texthöhe 2mm ist noch eingestellt) an der Koordinate [-2,0] ein:
Texte | |
Neuer Text | |
Text ? | Vdd |
Positionieren auf [-2,0] | |
Setzen Sie den Elementnullpunkt des Labels auf die aktuelle Markerposition (Koordinate [0,-5]):
Einstellungen | |
Nullpunkt | |
Positionieren auf Marker, [0,-5] | |
Das Labelsymbol
vdd ist nun vollständig definiert. Vergessen Sie nicht, dieses Symbol mit folgenden Kommandos abzuspeichern:
Datei | |
Speichern | |
2.3 Schaltplanerstellung
In diesem Abschnitt wird anhand eines Beispiels die Schaltplanerstellung mit dem Stromlauf-Editor des
Bartels AutoEngineer beschrieben. Dabei werden in der DDB-Datei
demo.ddb zwei Stromlaufblätter mit den Elementnamen
sheet1 und
sheet2 editiert.
sheet1 wird die eigentliche Stromlauflogik enthalten, während auf
sheet2 die Steckerbelegung und Netzattribute zur Steuerung des
Autorouters definiert werden.
Im Verlauf der Schaltplanbearbeitung werden wir uns vertraut machen mit den Standardfunktionen zur Generierung von Schaltplänen, zur Platzierung von Symbolen, zum Setzen von Attributwerten, zum Verlegen von Verbindungen, zum Platzieren von Labels, zum Definieren von Bussen, zum Definieren von Texten und zum Zeichnen von Grafik. Darüber hinaus werden wir auch spezielle Funktionen anwenden wie z.B. virtuelle Symboldefinitionen, Gruppenfunktionen, Definition von Steckerbelegung und Netzattributen, Verwendung von Templates, usw.
Wechseln Sie (sofern nicht schon geschehen) zunächst in das bei der Software-Installation angelegte BAE-Jobs-Verzeichnis (z.B.
c:\baejobs ) und starten Sie den
Bartels AutoEngineer:
> C:
> cd c:\baejobs
> bae
Rufen Sie das Schaltplan-Modul auf:
Schaltplan | |
Sie befinden sich nun im Stromlauf-Editor des
Bartels AutoEngineer und können mit der Erstellung von Stromlaufplänen beginnen.
2.3.1 Erstellen und Bearbeiten von Schaltplänen
Erstellen eines neuen Schaltplans
Erzeugen Sie im DDB-File
demo.ddb mit den folgenden Kommandos ein neues Stromlaufblatt mit dem Elementnamen
sheet1 und der Blattgröße A4:
Datei | |
Neues Element | |
Plan | |
Dateiname ? | demo |
Elementname ? | sheet1 |
A4 Querformat | |
Nun sollte als heller Rahmen ein neuer, allerdings noch leerer Schaltplan auf dem Bildschirm erscheinen. Gibt das System z.B. die Fehlermeldung
Dieses Element existiert bereits! aus, dann existiert der Plan
sheet1 schon in der Datei
demo.ddb . In diesem Fall ist es nicht möglich, diesen Plan neu zu generieren, sondern er muss geladen werden (siehe unten). Die Abfrage nach dem Elementnamen des Stromlaufblattes ist natürlich notwendig, da ein Stromlaufplan aus mehr als einem Blatt bestehen kann. Bei der Vergabe dieses Namens haben Sie völlige Freiheit (Beispiele:
blatt1 ,
blatt2 ,
plan_1 ,
1 ,
2 ,
io ,
memory ,
steckerbelegung , usw.). Nach der Spezifikation des Elementnamens ist noch die Stromlaufblattgröße zu spezifizieren. Nach den Abfragen für den Datei- und Elementnamen wird ein Optionsmenü zur Selektion der Stromlaufblattgröße aktiviert. Hierbei stehen die vordefinierten Formate
,
,
,
,
,
(8.5*11 Inch) und
(11*17 Inch) jeweils im Hoch- und Querformat zur Auswahl. Mit der Option
kann die Blattgröße explizit über entsprechende Abfragen nach der Elementbreite und der Elementhöhe definiert werden.
Sie haben nun bereits einen neuen Schaltplan erzeugt. Speichern Sie diesen ab, und springen Sie zurück in die BAE-Shell:
Datei | |
Speichern | |
Datei | |
Hauptmenue | |
Bearbeiten eines bestehenden Schaltplans
Rufen Sie nun erneut das Schaltplan-Paket auf, und laden Sie mit folgenden Kommandos den im vorhergehenden Arbeitsschritt erzeugten Schaltplan; da das Schaltplanelement bereits existiert, können sowohl der Dateiname als auch der Elementname wahlweise auch über das Popupmenü durch Mausklick selektiert werden:
Datei | |
Laden | |
Plan | |
Dateiname ? | demo |
Elementname ? | sheet1 |
Nun erscheint Ihr bereits erstelltes Stromlaufblatt auf dem Schirm. Beim Versuch, ein Element zu laden, meldet das System
Datei nicht gefunden! , wenn die DDB-Datei nicht existiert, bzw.
Plan nicht gefunden! , wenn das gewählte Element nicht in der DDB-Datei gefunden werden konnte.
Beim Aufruf des Schematic Editors ist dem System der Dateiname des zuvor in einem anderen BAE-Programm-Modul bearbeiteten Elements bekannt. Die Spezifikation dieses systemweiten Projektnamens kann durch Selektion des Buttons
im Dateinamens-Popupmenü oder durch die Eingabe eines Leerstrings (Betätigen der Eingabetaste
) auf die Abfrage nach dem Dateinamen erfolgen.
2.3.2 Symbole
Das Menü
bietet die Möglichkeit, aus unterschiedlichen, selektierbaren Schaltzeichenbibliotheken Stromlaufsymbole (und Labels) in das Schema zu laden und diese auf dem Schaltplan zu platzieren. Auch können einmal platzierte Symbole wieder gelöscht werden. Die im Menü
ausgeführten Arbeitsschritte erzeugen also im wesentlichen die Bauteilliste des Designs.
Eingaberaster
Grundsätzlich können im Bartels AutoEngineer alle Grafikeingaben in beliebigen Rastern oder auch rasterfrei erfolgen. Dennoch sollte die Platzierung von Symbolen in einem definierten Raster erfolgen, um sicherzustellen, dass später beim Verlegen der Verbindungen in einem vernünftigen Eingaberaster gearbeitet werden kann. Stellen Sie also zunächst mit folgenden Kommandos ein Eingaberaster von 2mm ein, das grob genug ist, um ohne Probleme später im feineren 1mm-Raster Verbindungen an die Symbolanschlüsse zu legen:
Ansicht | |
Raster/Winkel | |
Eingaberaster | |
2.0 mm | |
W+R einhalten | |
Bibliothekszugriff
Die Funktion
im Menü
ermöglicht die Selektion der Schaltzeichenbibliothek, aus der die Symbole geladen werden sollen. Überprüfen Sie zunächst mit folgenden Kommandos, wie der Bibliothekspfad gesetzt ist:
Einstellungen | |
Bibliotheksname | |
Bibliothek ('c:/baelib/stdsym.ddb') ? | |
Im Prompt zur Abfrage nach der Bibliothek zeigt das System den Namen der aktuell eingestellten Bibliothek an. Nach dem Aufruf des Schematic Editors ist dies zunächst der Name der über das Setup eingestellten SCM-Standardbibliothek (siehe hierzu die Beschreibung des Utilityprogramms
bsetup im
Kapitel 7.2 dieses Handbuchs).
Durch die Eingabe eines leeren Strings auf die Abfrage nach der Bibliothek ändert sich der Bibliotheksname nicht. Durch die Eingabe von
- wird der Bibliotheksname zurückgesetzt, d.h. es ist dann keine Bibliothek selektiert. Die Eingabe von
! bzw.
. setzt den Bibliotheksnamen wieder auf die durch das Setup eingestellte Bibliothek. Überprüfen Sie dies mit folgenden Kommandos:
Einstellungen | |
Bibliotheksname | |
Bibliothek ('c:/baelib/stdsym.ddb') ? | - |
Bibliotheksname | |
Bibliothek ('') ? | ! |
In den Windowsversionen der BAE-Software erfolgt die Abfrage des Bibliotheksnamens über einen Dateiabfragedialog.
Einige grundlegende Anmerkungen zum Thema Bibliotheken. Bekanntlich ist eines der Leistungsmerkmale des
AutoEngineer das flexible Datenbankkonzept. Dieses Konzept impliziert, dass auch jede Projektdatei als Bibliothek fungieren und als solche im System angemeldet werden kann. Aktiviert der Anwender die Funktion zum Laden eines Symbols, dann sucht das System zunächst innerhalb der aktuellen Projektdatei nach dem angeforderten Bibliotheksteil. Ist das Element nicht hierin schon enthalten, wird die Suche in der im System angemeldeten Standardbibliothek fortgesetzt. Immer, wenn ein Symbol aus einer Bibliothek in das Schema geladen wird, erstellt das System automatisch eine Kopie des Symbols in der aktuellen Projektdatei. Das Symbol ist dann in der aktuellen Projektdatei abgespeichert, wird also bei mehrfachem Platzieren nicht mehr aus der entsprechenden Bibliothek geholt.
Abbildung 2-3 verdeutlicht das Schema des Bibliothekszugriffs innerhalb des
Schematic Editors.
Abbildung 2-3: SCM-Bibliothekszugriff
Das Umschalten der Default-Bibliothek innerhalb des Systems ist im Grunde nur dann sinnvoll, wenn eine Reihe verschiedener Symbole aus einer nicht über den Bibliothekspfad erreichbaren Bibliothek zum ersten Mal im Schema platziert werden sollen, wie in unserem Fall z.B. aus der Bibliotheksdatei
demolib.ddb im aktuellen Verzeichnis. Stellen Sie nun den Bibliothekspfad auf
demolib.ddb ein:
Einstellungen | |
Bibliotheksname | |
Bibliothek ('c:/baelib/stdsym.ddb') ? | demolib |
Durch obige Eingabe ist die DDB-Datei
demolib.ddb des Arbeitsverzeichnisses als aktuelle Symbolbibliothek im System angemeldet, und es können nun Symbole aus dieser Bibliothek in den Schaltplan geladen werden.
Laden von Symbolen
Laden Sie mit folgenden Kommandos das Transistorsymbol
tr_bc517 , geben Sie diesem Bauteil den Namen
V1 und positionieren Sie es an der Koordinate [240,130]:
Symbole | |
Neues Symbol | |
Bauteilname ? | v1 |
Bibliotheksteilname ? | tr_bc517 |
Positionieren auf [240,130] | |
Auf die Abfrage nach dem Bauteilnamen ist die Referenz des Symbols (z.B.
IC10 ,
R8 ,
U004 , ...) einzugeben. Wird hierbei ein leerer String eingegeben (Betätigen der Eingabetaste
), dann generiert das System den Bauteilnamen entsprechend dem für das Symbol definierten Symbolnamensmuster automatisch (siehe hierzu auch
Kapitel 2.2.2, Symbolerstellung). Diese Leerstringeingabe kann wahlweise auch durch die Betätigung einer beliebigen Maustaste aktiviert werden. Das System gibt eine Fehlermeldung aus, wenn der über das Bauteilnamensmuster definierte Namensraum ausgeschöpft ist, d.h. wenn kein dem Namensmuster entsprechender neuer Bauteilname mehr automatisch erzeugt werden kann.
Die in einem Schaltplan verwendeten Bauteilnamen müssen eindeutig sein, damit bei späteren
Packager- oder
Backannotation-Läufen keine Konflikte entstehen können. Bei Verwendung der automatischen Bauteilbenennung ist sichergestellt, dass die Bauteilnamen eindeutig sind. Um Namenskonflikte bei der expliziten Bauteilbenennung zu vermeiden, überprüft das System, ob der angegebene Bauteilname bereits im Schaltplan verwendet wird. Ist dies der Fall, dann erfolgt eine entsprechende Bestätigungsabfrage, über die der Anwender angeben muss, ob der gewünschte Bauteilname tatsächlich verwendet werden soll. Befindet sich ein Bauteil mit dem gleichen Namen auf dem aktuell bearbeiteten Stromlaufblatt so wird dieses gelöscht und durch das neue Bauteil (ggf. mit anderem Symbol, in jedem Fall jedoch mit uninitialisierten Attributwerteinträgen) ersetzt. Befindet sich hingegen ein Bauteil mit dem gleichen Namen auf einem anderen als dem aktuell geladenen Stromlaufblatt des Stromlaufplans, so wird dieses nicht automatisch entfernt, sondern der Anwender muss dieses dann explizit aus dem Schaltplan löschen, um Namenskonflikte in nachfolgenden
Packagerläufen zu vermeiden.
Auf die Abfrage nach dem Bibliotheksteilnamen erwartet das System den Namen des Symbols innerhalb der Bibliothek. Die Betätigung einer beliebigen Maustaste bzw. die Eingabe eines Leerstrings oder eines Fragezeichens
(? ) bewirkt an dieser Stelle die Aktivierung eines Popupmenüs mit allen im Bibliotheksverzeichnis verfügbaren Bibliotheksdateien. Hierbei werden auch die Buttons
und
angezeigt. Mit
(oder durch Eingabe von
> ) wird die aktuell über
aus dem Menü
selektierte Standarbibliothek ausgewählt. Mit
ist der Zugriff auf die Stromlaufsymbole der aktuellen DDB-Datei, d.h. auf die Projektdatenbank möglich. Nach der Auswahl einer der angebotenen Bibliotheksdateien erfolgt die Aktivierung eines weiteren Popupmenüs mit der Liste der in der selektierten Bibliothek verfügbaren Symbole.
Laden Sie mit den folgenden Kommandos das Kondensatorsymbol
c und das Widerstandssymbol
r in Ihr Schema (jeweils mit automatisch generiertem Bauteilnamen):
Symbole | |
Neues Symbol | |
Bauteilname ? | |
Bibliotheksteilname ? | c |
Positionieren auf [140,190] | |
Neues Symbol | |
Bauteilname ? | |
Bibliotheksteilname ? | r |
Positionieren auf [60,130] | |
Die Funktion Folgesymbol sorgt dafür, dass dasselbe Symbol, wie beim vorhergehenden Ladevorgang mit automatisch erzeugtem Bauteilnamen geladen wird. Platzieren Sie mit den folgenden Kommandos drei weitere Widerstandssymbole auf dem Schaltplan:
Symbole | |
Folge Symbol/Label | |
Positionieren auf [100,130] | |
Folge Symbol/Label | |
Positionieren auf [140,130] | |
Folge Symbol/Label | |
Positionieren auf [180,130] | |
Folge Symbol/Label | |
Positionieren auf [210,130] | |
Das Untermenü, das während des Platzierens des Symbols über die rechte Maustaste aufgerufen werden kann, dient dazu, das Symbol je nach Bedarf zu drehen, zu spiegeln, oder absolut zu platzieren. Laden Sie ein weiteres Widerstandssymbol, drehen Sie es, und platzieren Sie es an der Koordinate [170,170]:
Symbole | |
Folge Symbol/Label | |
Drehung links | |
Positionieren auf [170,170] | |
Wenn nacheinander mehrere Symbole um einen bestimmten Winkel gedreht platziert werden sollen, dann empfiehlt es sich, den Standardwinkel z.B. wie folgt einzustellen:
Symbole | |
Standardwinkel | |
90 Grad links | |
Obige Einstellung des Standardwinkels bewirkt, dass nun jedes neu zu platzierende Symbol automatisch um 90 Grad gedreht geladen wird. Überprüfen Sie dies, indem Sie einige weitere Symbole laden:
Symbole | |
Neues Symbol | |
Bauteilname ? | |
Bibliotheksteilname ? | c |
Positionieren auf [30,80] | |
Neues Symbol | |
Bauteilname ? | |
Bibliotheksteilname ? | d |
Positionieren auf [220,180] | |
Neues Symbol | |
Bauteilname ? | |
Bibliotheksteilname ? | s_1dil |
Positionieren auf [50,140] | |
Folge Symbol/Label | |
Positionieren auf [90,140] | |
Folge Symbol/Label | |
Positionieren auf [130,140] | |
Folge Symbol/Label | |
Positionieren auf [170,140] | |
Setzen Sie nun wieder den Standardwinkel für die Platzierung auf 0 Grad, und laden Sie einige weitere Symbole:
Symbole | |
Standardwinkel | |
0 Grad links | |
Folge Symbol/Label | |
Positionieren auf [80,70] | |
Folge Symbol/Label | |
Positionieren auf [80,50] | |
Folge Symbol/Label | |
Positionieren auf [80,30] | |
Einmal in eine Projektdatei geladene Symbole sind direkt verfügbar. Das bedeutet auch, dass wir das Bibliothekssymbol CD4081, welches wir in
Kapitel 2.2.2 erstellt und in unserer Projektdatei
demo.ddb abgelegt haben, ungeachtet des eingestellten Bibliothekspfades mehrfach auf dem aktuellen Schaltplanblatt platzieren können. Im folgenden Arbeitsschritt bedienen wir uns außerdem der Möglichkeit der Spezifikation des Bauteilnamens sowie der Selektion des Bibliothekselements über Mausklick bzw. Popupmenü, d.h. wir kommen gänzlich ohne Tastatureingaben aus:
Symbole | |
Neues Symbol | |
Bauteilname ? | |
Bibliotheksteilname ? | |
Projekt | |
Selektieren Element "cd4081" | |
Positionieren auf [60,110] | |
Folge Symbol/Label | |
Positionieren auf [100,110] | |
Folge Symbol/Label | |
Positionieren auf [140,110] | |
Folge Symbol/Label | |
Positionieren auf [180,110] | |
Wie Sie in obigem Arbeitsschritt gesehen haben, bietet Ihnen das System über das entsprechende Popupmenü den Zugriff auf alle Bibliotheksdateien des Bibliothekspfades sowie auf die über den Button
selektierbare projektspezifische Bibliothek. Mit den nachfolgend aktivierten Popupmenüs zur Symbolauswahl haben Sie gleichzeitig Zugriff auf ein Inhaltsverzeichnis der SCM-Symbolbibliothek (die Ladefunktion lässt sich ggf. durch Selektion des Buttons
abbrechen).
Sie können auch, während Sie eine Bibliothek im System angemeldet haben, Symbole aus einer völlig anderen Bibliothek laden. Laden Sie mit folgenden Kommandos das Symbol
z80 aus der Bibliothek
zilog.ddb :
Symbole | |
Neues Symbol | |
Bauteilname ? | |
Bibliotheksteilname ? | zilog/z80 |
Nun sollte das Symbol
z80 am Fadenkreuz hängen und könnte platziert werden. Brechen Sie diesen Arbeitsschritt mit folgenden Kommandos ab:
Abbruch | |
Obiger Abbruch während des Ladens bzw. Platzierens eines neuen, noch nicht in der aktuellen Projektdatei vorhandenen Symbols bewirkt, dass weder die Bauteilliste geändert wird, noch das Symbol selbst unnötigerweise in die Projektdatei kopiert wird.
Wie Sie weiterhin aus obigem Beispiel erkennen, ist die Syntax zur Spezifikation des Bibliotheksteilnamens gegeben durch:
<bibliotheksname>/<bibliotheksteilname>
Die Betätigung einer beliebige Maustaste oder die Angabe eines Fragezeichens
? ) aktiviert hierbei das Popupmenü zur Auswahl der Bibliotheksdatei. Die Angabe eines Fragezeichens anstelle des Bibliotheksteilnamens bewirkt die Aktivierung des Popupmenüs zur Auswahl der in der angegebenen Bibliotheksdatei verfügbaren Symbole (in unserem Beispiel also ein Popupmenü mit den in zilog.ddb enthaltenen Symbole auf die Eingabe
zilog/? ).
Im Bartels AutoEngineer besteht die Möglichkeit, verschiedene Stromlaufsymbole an ein und dasselbe Gehäuse zuzuweisen (siehe hierzu auch
Packager und
loglib). Platzieren Sie mit folgenden Kommandos eine Spule und zwei Kontakte:
Symbole | |
Neues Symbol | |
Bauteilname ? | |
Bibliotheksteilname ? | rels |
Positionieren auf [240,180] | |
Neues Symbol | |
Bauteilname ? | |
Bibliotheksteilname ? | relc |
Positionieren auf [210,80] | |
Folge Symbol/Label | |
Positionieren auf [210,60] | |
Die in obigem Arbeitsschritt platzierten Symbole sind per Bibliotheksdefinition (siehe auch
loglib-Datei
demolib.def ) einem Relais-Bauteil zugeordnet, und werden später vom
Packager entsprechend in ein einziges Gehäuse gepackt.
Attributwertzuweisungen
Sofern auf Symbolebene Attribute definiert wurden, können nun auf Planebene entsprechende Attributwerte zugewiesen werden. Mit folgenden Kommandos kann das an den diskreten Bauteilen
c100 ,
r100 und
v1000 definierte Attribut
$val jeweils mit einem Attributwert versehen werden:
Symbole | |
Wert zuweisen | |
Positionieren auf "c100", [140,190] | |
$val | |
Attribut Wert ? | 10uF |
Abbruch | |
Wert zuweisen | |
Positionieren auf "r100", [60,130] | |
$val | |
Attribut Wert ? | 100k |
Abbruch | |
Wert zuweisen | |
Positionieren auf "v1000", [220,180] | |
$val | |
Attribut Wert ? | 1N4001 |
Abbruch | |
Nehmen Sie auf dieselbe Weise auch entsprechende Werteinträge für das Attribut
$val der Bauteile
r101 ,
r102 ,
r103 (jeweils 100k ),
r104 (10k ),
r105 (1M ) und
c101 (100pF ) vor. Beachten Sie, dass zur besseren Identifikation des selektierten Symbols während der Abfrage nach dem Attributnamen in der Statuszeile jeweils der Bauteil- und Symbolname angezeigt werden (z.B.
Log. Name: c100, Macro: c ).
Das Untermenü zur Auswahl des Attributes zeigt die im jeweiligen Symbol definierten Attribute an, d.h. dieses Menü kann je nach selektiertem Symbol unterschiedlich aufgebaut sein. Die Option
wird hierbei nur dann angezeigt und muss zur Beendigung der Funktion angewählt werden, wenn am selektierten Symbol mehr als ein Attribut definiert ist. An den Symbolen
rels und
relc z.B. ist jeweils nur das Attribut
$rpname definiert. Um den Packager anzuweisen, das Symbol
k10 in das Bauteil mit dem Namen
k1 (bei Beibehaltung der definierten Gehäusezuweisung) zu packen, ist folgende Attributwertzuweisung vorzunehmen:
Symbole | |
Wert zuweisen | |
Positionieren auf "k10", [240,180] | |
$rpname | |
Attribut Wert ? | k1 |
Nehmen Sie dieselbe Attributwertzuweisung (Wert
k1 an Attribut
$rpname ) auch für die Bauteile
KK100 und
KK101 (Relaiskontakte
relc ) vor, um den
Packager zu veranlassen, diese beiden Symbole zusammen mit der Relaisspule
K10 in das Bauteil
K1 zu packen.
Mit Hilfe des Attributes
$plname kann der
Packager veranlasst werden, ein Stromlaufsymbol abweichend von der in der Bibliothek eingetragenen Default-Definition einem anderen Gehäusetyp, d.h. einem anderen Layoutsymbol zuzuweisen. Führen Sie mit den folgenden Kommandos jeweils Wertzuweisungen für das Attribut
$plname der Bauteile
c100 ,
c101 ,
r104 und
r105 , um diese Bauteile durch den
Packager an entsprechende SMD-Gehäusebauformen (anstelle bedrahteter Gehäuse, wie in der Bibliothek per Default eingestellt) zuzuweisen:
Symbole | |
Wert zuweisen | |
Positionieren auf "c100", [140,190] | |
$plname | |
Attribut Wert ? | chip1210 |
Abbruch | |
Wert zuweisen | |
Positionieren auf "c101", [30,80] | |
$plname | |
Attribut Wert ? | chip1206 |
Abbruch | |
Wert zuweisen | |
Positionieren auf "r104", [210,130] | |
$plname | |
Attribut Wert ? | minimelf |
Abbruch | |
Wert zuweisen | |
Positionieren auf "r105", [170,170] | |
$plname | |
Attribut Wert ? | chip1206 |
Abbruch | |
Haben Sie alle Arbeitsschritte dieses Abschnitts korrekt ausgeführt, dann sollten Sie auf Ihrem Bildschirm nun das in
Abbildung 2-4 gezeigte Stromlaufbild sehen.
Abbildung 2-4: Stromlauf mit platzierten Symbolen
Symbole bewegen, Symbole löschen, Symbolnamen ändern
Mit Hilfe der Funktion
können bereits platzierte Symbole bewegt, gedreht und gespiegelt werden (die rechte Maustaste aktiviert ein entsprechendes Untermenü). Im
Schaltplaneditor ist ein Verfahren zum automatischen Neuverlegen der Verbindungen zu einem umplatzierten Symbol bzw. Label integriert (Signalrouting, siehe unten). Das Löschen eines platzierten Symbols erfolgt mit der Funktion
. Bauteilnamen bzw. Referenzen können mit der Funktion
geändert werden. Testen Sie diese Funktionen auf Ihrem aktuellen Schaltplanblatt, und bedienen Sie sich hierbei auch der Funktionen
und
, um Realisierungsalternativen durchzuspielen. Beim Symbolpick ist zu beachten, dass das Symbol an der Pickposition, das sich komplett innerhalb der Grenzen anderer Symbole an der Pickposition befindet, auf jeden Fall Priorität beim Pick hat, um eine unbeabsichtigte Selektion von Rahmensymbolen zu verhindern.
2.3.3 Verbindungen, Labels, Busse
Das Menü
dient dazu, Verbindungen in den Schaltplan einzuzeichnen sowie Busse zu definieren und anzuschließen. Auch können von hier aus Verbindungssegmente bewegt, geteilt oder gelöscht werden.
Selektion des Verbindungspunkt-Markers
Mit folgenden Kommandos kann das Markersymbol
tconnector , das zur Kennzeichnungen von T-förmigen Verbindungsstücken verwendet werden soll, selektiert werden:
Einstellungen | |
Name Punktsymbol | |
Bitte bestaetigen (J/N) ? | j |
Verbindungspunkt Marker Name ? | tconnector |
Der Verbindungspunkt-Marker ist ein spezielles Markersymbol. Im Gegensatz zum Pin-Markersymbol sollte der Verbindungspunkt-Marker eine normale Grafikfläche anstelle des Kontaktbereiches enthalten. Per Default wird vom System der Verbindungspunkt-Marker
junction verwendet (achten Sie darauf, dass dieser Marker auch in der voreingestellten Bibliothek verfügbar ist; siehe hierzu auch die Beschreibung des Kommandos
SCMDEFLIBRARY im Programm
bsetup).
Grafikkontrollfunktion, Eingaberaster
Wird eine Verbindung an einen Pin angeschlossen, dann wird der am Pinsymbol definierte Kontaktbereich unsichtbar (siehe hierzu auch
2.2.1, Marker-Erstellung), und die entsprechende Änderung in der Netzliste ist somit grafisch angezeigt. Da der
AutoEngineer die Möglichkeit bietet, Verbindungen "im Leeren" enden zu lassen (dies ist z.B. bei der Definition von Bussen notwendig, siehe unten), ist diese wichtige Kontrollfunktion dringend zu beachten, um sicherzustellen, dass die richtige Netzliste generiert wird. Beachten Sie, dass bei Anschluss eines Einzelsegments ohne Anschluss zu einem anderen Pin der Kontaktbereich ebenfalls ausgeblendet wird. Damit verfügt der Anwender über eine Kontrollfunktion zum "Abhaken" bearbeiteter Pins, d.h. mit dieser Funktion kann die farbliche Hervorhebung in einfacher Weise für solche Pins zurückgenommen werden, die mit keinem anderen Pin zu verbinden sind (also vom Entwickler im Folgenden auch nicht mehr gesondert zu betrachten sind). Im Gegensatz hierzu werden Kontaktbereiche als Fehler durch Anzeige in Highlightfarbe gekennzeichnet, wenn eine offene Verbindung bestehend aus mehreren Segmenten am Pin angeschlossen ist. Dieser Spezialfall wird in der Reportanzeige (Funktion
aus dem Menü
) zusätzlich als Zeichenfehler gezählt.
Sollte es Ihnen im eingestellten Eingaberaster nicht gelingen, einen Pin anzuschließen (weil dieser in einem zu feinen Raster liegt), dann müssen Sie auf ein feineres Eingaberaster schalten oder u.U. das Eingaberaster über das Menü
freigeben.
Stellen Sie mit folgenden Kommandos das Eingaberaster auf 1mm ein, so dass Sie in den nachfolgenden Arbeitsschritten ohne Probleme die auf Symbolebene platzierten Symbolanschlüsse anschließen können:
Ansicht | |
Raster/Winkel | |
Eingaberaster | |
1.0 mm | |
W+R einhalten | |
Ansicht, Bilddarstellung
Erinnern Sie sich bitte an die Bedeutung der mittleren Maustaste. Das über die mittlere Maustaste aufrufbare Menü
lässt sich während des Platzierens und dem Zeichnen von Geometrie und Verbindungen jederzeit aktivieren. Insbesondere die Zoomfunktionen sind sehr hilfreich bei der Generierung von Verbindungen. Mit folgenden Kommandos können Sie jederzeit in das Menü
gelangen und ein definiertes Fenster herauszoomen:
Zoom Fenster | |
Positionieren auf Fenster-Startpunkt | |
Positionieren auf Fenster-Endpunkt | |
Um wieder in die Übersichtsdarstellung zu schalten, sind folgende Kommandos zu aktivieren:
Zoom Uebersicht | |
Verlegen von Verbindungen
Wir wollen nun eine erste Verbindung zwischen den Bauteilen
S1000 und
IC10 herstellen. Zoomen Sie hierzu zunächst in den Arbeitsbereich um diese beiden Symbole:
Zoom Fenster | |
Positionieren auf Fenster-Startpunkt, [40,80] | |
Positionieren auf Fenster-Endpunkt, [110,170] | |
Verbinden Sie nun mit den folgenden Kommandos den Anschluss
1 des Bauteils
S1000 mit dem Anschluss
A des Bauteils
IC10 :
Verbindungen | |
Neue Verbindung | |
Positionieren auf Pin "S1000.1",[50,140] | |
Positionieren auf Verbindungseckpunkt,[50,110] | |
Positionieren auf Pin "IC10.A", [60,110] | |
Verbindungseckpunkte werden immer durch Betätigung von linken Maustaste gesetzt. Eine Verbindung wird durch Betätigung von der rechten Maustaste beendet. Nach Ausführung des obigen Arbeitsschrittes sollten die Anschlussflächen der beiden zu verbindenden Pins unsichtbar geworden sein. Ist dies nicht der Fall, dann machen Sie den Arbeitsschritt mit Hilfe der
-Funktion rückgängig, und versuchen Sie erneut, die gewünschte Verbindung (wenn nötig in einem feineren Eingaberaster) herzustellen.
Schließen Sie nun mit den folgenden Kommandos den Pin
1 des Widerstands
R100 an die soeben gelegte Verbindung an:
Verbindungen | |
Neue Verbindung | |
Positionieren auf Pin "R100.1",[60,130] | |
Positionieren auf Verbindung,[50,130] | |
Wird haben nun eine T-förmige Verbindung zur zuvor gelegten Verbindung generiert. Das System sollte dieses T-Stück durch den Verbindungspunkt-Marker kennzeichnen.
Zeichnen Sie nun weitere Verbindungen ein, so dass sich das in
Abbildung 2-5 dargestellte Schaltbild ergibt. Experimentieren Sie dabei auch mit den Funktionen zum Bewegen, Teilen und Löschen von Segmenten bzw. zum Löschen von Verbindungen oder ganzen Netzen. Bedienen Sie sich dabei der
-Funktionen, um Realisierungsalternativen durchzuspielen. Beachten Sie bitte insbesondere auch die Funktion
. Damit wird automatisch eine Verbindung zwischen zwei selektierbaren Punkten auf dem aktuell geladenen Schaltplan gelegt, sofern dies mit maximal drei Verbindungssegmenten möglich ist.
Abbildung 2-5: Stromlauf mit Symbolen und Verbindungen
Labels
Labels sind spezielle Symbole zur Definition von Netznamen. Mit Hilfe von Labels ist es möglich, Verbindungen (auch stromlaufblattübergreifend) auf definierte Signale bzw. Signalpegel zu legen.
In Kapitel 2.2.3 haben wir die beiden Labelsymbole
vss (0V-CMOS-Versorgung) und
vdd (positive CMOS-Versorgung) in unserer Projektdatei
demo.ddb erstellt. Diese beiden Symbole sind also in der aktuellen Projektdatei direkt verfügbar und können über das Menü
in den Schaltplan geladen werden.
Definieren Sie mit den folgenden Kommandos das Signal
Vss indem Sie den Label
vss laden und diesen auf dem Schaltplan platzieren:
Ansicht | |
Zoom Uebersicht | |
Zoom Fenster | |
Positionieren auf Fenster-Startpunkt, [120,160] | |
Positionieren auf Fenster-Endpunkt, [180,200] | |
Symbole | |
Neuer Label | |
Netzname ? | vss |
Positionieren auf [130,190] | |
Erzeugen Sie mit den folgenden Kommandos einen Anschluss vom Pin
1 des Kondensators
C100 zum im vorhergehenden Arbeitsschritt definierten Signal
Vss , indem Sie eine entsprechende Verbindung vom Kondensatoranschluss zum zuvor platzierten Label erzeugen:
Verbindungen | |
Neue Verbindung | |
Positionieren auf Label-Pin,[130,190] | |
Positionieren auf Pin "C100.1",[140,190] | |
Achten Sie darauf, dass der am Pin des Labelsymbols definierte Kontaktbereich erlischt, um sicherzustellen, dass der Kondensator auch tatsächlich an
Vss angeschlossen ist.
Es ist nicht nötig, explizit eine Verbindung zum Labelsymbol einzuzeichnen, wenn der Label auf den Eckpunkt einer anzuschließenden Verbindung gelegt wird. Laden Sie mit den folgenden Kommandos den Label
Vdd , und schließen Sie diesen Label an die Verbindung zwischen dem Kondensator
C100 und
R105 an:
Symbole | |
Neuer Label | |
Netzname ? | vdd |
Positionieren auf Verbindungseckpunkt, [170,190] | |
Achten Sie wieder darauf, dass der Kontaktbereich am Pin des Labelsymbols erlischt.
Ist kein spezielles Symbol mit dem entsprechenden Netznamen für einen zu ladenden Label definiert bzw. verfügbar, dann verwendet das System das Labelsymbol
standard (dies setzt allerdings voraus, dass zumindest dieses Labelsymbol in der voreingestellten Bibliothek bzw. in der Projektdatei verfügbar ist). Definieren Sie mit folgenden Kommandos den Netznamen der an Pin
1 des Schalters
S1004 angeschlossenen Verbindung zu
NET :
Zoom Uebersicht | |
Zoom Fenster | |
Positionieren auf Fenster-Startpunkt, [10,40] | |
Positionieren auf Fenster-Endpunkt, [100,100] | |
Symbole | |
Neuer Label | |
Netzname ? | net |
Eingabe Winkel | |
Drehwinkel (Deg./(R)ad.) ? | 180 |
Positionieren auf Verbindungseckpunkt, [70,70] | |
Die Verwendung verschiedener Labels auf einem Blatt unabhängig vom Labelnamen (Netznamen) kann über den Parameter
gesteuert werden. Beim Platzieren eines Labels zu dem kein gleichnamiges Labelsymbol gefunden wird, wird das über diesen Parameter spezifizierte Makro verwendet. Der neue Parameter kann über die Funktion
aus dem Menü
gesetzt werden. Damit ist es möglich, bestimmte Netztypen durch unterschiedliche Labels zu kennzeichnen, ohne dass für jeden einzelnen Netznamen ein spezielles Labelsymbol erstellt werden müsste. Als Voreinstellung für diesen Parameters wird der Defaultmakroname
standard verwendet.
Wie obiger Arbeitsschritt zeigt, stehen zum Platzieren von Labels dieselben Funktionen wie für normale Stromlaufsymbole zur Verfügung, d.h. auch hier besteht z.B. die Möglichkeit, Labels zu drehen, einen Standardwinkel für die Platzierung vorzugeben, usw.
Laden und platzieren Sie nun weitere Labels, so dass sich das in
Abbildung 2-6 gezeigte Stromlaufbild ergibt
(Vss an
V1.E ,
C101.1 und
S1006.2 ;
Vdd an
K10.A1 und
KK100.C ;
NET an
IC10.B ). Bedienen Sie sich dabei nach Möglichkeit der Funktion
zum wiederholten Platzieren desselben Labels. Testen Sie auch die Label- bzw. Signalnamensauswahl über Popupmenü. Dieses Netznamens-Popupmenü wird durch Betätigen einer beliebigen Maustaste oder durch die Eingabe eines Fragezeichens
? auf die Abfrage nach dem Netznamen aktiviert. Im Netznamens-Popupmenü werden alle diejenigen Labels zur Auswahl angeboten, die bereits Anschlüsse in die aktuelle Netzliste besitzen, an die also eine Verbindung gelegt wurde. Der Button
im Netznamens-Popupmenü aktiviert die Funktion
.
Abbildung 2-6: Stromlauf mit Symbolen, Verbindungen, Labels
Die Netzliste wird vom System im Hintergrund ständig aktualisiert. D.h., die Netzliste stimmt zu jedem Zeitpunkt der Bearbeitung exakt mit dem Schaltbild überein. Sie können dies mit folgenden Kommandos jederzeit überprüfen:
Highlight Netz | |
Positionieren auf Verbindung | |
Die Funktion
im Menü
bewirkt eine grafische Kennzeichnung aller zum selektierten Netz gehörenden Verbindungen durch eine spezielle Farbe ("Highlight"). Dieses Highlight kann durch abermaliges Selektieren des Netzes über die Funktion
wieder zurückgesetzt werden. In
BAE HighEnd bewirkt die Funktion
ein Highlight bzw. eine Highlight-Rücknahme der selektierten Netze in allen aktuell geladenen Plänen der aktuellen Projektdatei auf Schaltplan- und Layoutebene (globales Netz-Highlight, Cross-Probing).
Signalrouting
Im SCM ist ein Automatismus zum Umverlegen von Verbindungen beim Verschieben von Symbolen oder Labels
und Gruppen auf Schaltplanebene integriert (Signalrouting). Es besteht die Möglichkeit, das Signalrouting wahlweise an- bzw. abzuschalten. Die Einstellung des Signalroutingmodus erfolgt
über den Dialog
aus dem Menü
bzw. über die Optionen
bzw.
in dem über die rechte Maustaste aktivierbaren Untermenü der Funktion
. Der dabei gewaehlte Signalroutingmodus wird als Bearbeitungsparameter mit dem aktuell bearbeiteten Schaltplan abgespeichert (siehe hierzu auch
Kapitel 2.1.5).
Warnung
Beachten Sie, dass das im SCM integrierte Signalrouting nicht als optimiertes SCM-Autorouting konzipiert ist, sondern dem Anwender die Arbeit erleichtern soll. Dies erscheint uns zumindest für den Augenblick praktikabler als eine akademisch optimierte Lösung, auf die Sie u.U. sehr lange Zeit warten müssten! Wir sind uns dessen bewußt, dass Sie das System an dieser Stelle relativ leicht "austricksen" können, also z.B. durch das Umplatzieren von Symbolen Netzlistenkonflikte herbeiführen können, auf die das System aufgrund von Mehrdeutigkeiten z.B. mit der Elimination von Verbindungen reagieren muss. Um konfliktbehaftete Umplatzierungen zu vermeiden, sollten Sie Symbole in (mehreren) hinreichend kleinen Schritten bewegen. Ist das Ergebnis des Signalrouters nicht zufriedenstellend, so steht immer noch die
-Funktion zur Zurücknahme der Änderung zur Verfügung.
Busse
Wir wollen nun die rechtsseitigen Anschlüsse der Relais-Kontakte
KK100 und
KK101 an einen Bus anschließen. Zoomen Sie hierzu zunächst in den geeigneten Arbeitsbereich:
Zoom Fenster | |
Positionieren auf Fenster-Startpunkt, [190,40] | |
Positionieren auf Fenster-Endpunkt, [290,100] | |
Definieren Sie nun mit den folgenden Kommandos einen Bus:
Verbindungen | |
Neue Verbindung | |
Positionieren auf Verbindungsstartpunkt,[240,90] | |
Positionieren auf Verbindungseckpunkt,[240,50] | |
Positionieren auf Verbindungsendpunkt,[250,50] | |
Bus definieren | |
Positionieren auf Verbindung | |
Zur Definition eines Busses wird zunächst eine anschlussfreie Verbindung gezeichnet. Das Selektieren dieser Verbindung über die Funktion
bewirkt die Umwandlung der Verbindung in eine Busverbindung, die durch eine breitere Darstellung grafisch gekennzeichnet wird.
Definieren Sie nun mit folgenden Kommandos den Busanschluss
OUT0 , platzieren Sie diesen so, dass er mit einem Verbindungssegment an den Pin
N0 des Bauteils
KK100 angeschlossen werden kann, und verbinden Sie den Pin
N0 mit dem Busanschluss:
Verbindungen | |
Bus anzapfen | |
Netzname (Bereich) ? | out0 |
Positionieren auf Bus,[240,80] | |
Spiegeln | |
Positionieren auf Höhe von Pin "KK100.N0" | |
Neue Verbindung | |
Positionieren auf Busanschluss "OUT0" | |
Positionieren auf Pin "KK100.N0" | |
Nach der Abfrage des Netznamens für den Busanschluss lädt das System das Labelsymbol
bustap , das anschließend auf dem Bus platziert werden kann, wobei das über die rechte Maustaste erreichbare Untermenü das Spiegeln des Busanschlusses auf die gegenüberliegende Seite des Busses ermöglicht.
bustap ist ein spezielles Labelsymbol, das vom System zur Darstellung von Busanschlüssen verwendet wird (achten Sie darauf, dass dieses Symbol in der voreingestellten Bibliothek verfügbar ist).
Die Abfrage nach dem Netznamen erlaubt auch die Angabe von Netznamensbereichen. Platzieren Sie mit den folgenden Kommandos drei weiter Busanschlüsse mit den Netznamen
OUT1 ,
OUT2 und
OUT3 (die zuvor eingestellte Spiegelfunktion bleibt aktiv bis zum nächsten Aufruf dieser Funktion):
Verbindungen | |
Bus anzapfen | |
Netzname (Bereich) ? | out(1-3) |
Positionieren auf Bus,[240,80] | |
Positionieren auf Höhe von Pin "KK100.NC" | |
Positionieren auf Höhe von Pin "KK101.N0" | |
Positionieren auf Höhe von Pin "KK101.NC" | |
Schließen Sie nun noch
KK100.NC an
OUT1 ,
KK101.N0 an
OUT2 , sowie
KK101.NC an
OUT3 an.
Beachten Sie bitte auch die im Menü
angebotenen Spezialfunktionen zum Bearbeiten bestehender Busse bzw. Busanschlüsse
(,
,
).
Um Bussignale über mehrere Stromlaufblätter zu führen, besteht natürlich die Möglichkeit, Busse über Labels zu benennen. Laden Sie einen Label mit dem Netznamen
BUS , und schließen Sie diesen Label an den soeben definierten Bus an (achten Sie dabei wieder darauf, dass der Kontaktbereich am Label erlischt):
Symbole | |
Neuer Label | |
Netzname ? | bus |
Positionieren auf Bus,[250,50] | |
Abbildung 2-7 zeigt Beispiele für mögliche Busdefinitionen In
Abbildung 2-7a sind die beiden Bussignale
S1 nicht miteinander verbunden, da sie auf verschiedenen Bussen liegen. In
Abbildung 2-7b liegen die Bussignale
S1 auf demselben Bus und sind somit auch verbunden.
Abbildung 2-7c zeigt die Definition von Sub-Bussen
(DATA und
ADDR ); die Bussignale
S1 sind hierbei nicht verbunden, da sie auf unterschiedlichen Sub-Bussen liegen. Die
Abbildung 2-7d und 2-7e zeigen die Verwendung von Labels zur Benennung von Bussen. Die Signale
S1 in
Abbildung 2-7d liegen auf Bussen mit demselben Label und sind somit verbunden, während sie in
Abbildung 2-7e auf Bussen mit verschiedenen Labels liegen und daher nicht verbunden sind.
Abbildung 2-7: Busse im Bartels AutoEngineer
2.3.4 Text und Grafik
Selbstverständlich können auf Planebene auch Texte und Grafiken definiert werden. Mit folgenden Kommandos können Sie einen Grafikrahmen um ihr Schaltbild legen und ein Schriftfeld rechts unten im Schaltplan einzeichnen:
Grafik | |
Neue Grafiklinie | |
Positionieren auf [10,10] | |
Positionieren auf [290,10] | |
Positionieren auf [290,200] | |
Positionieren auf [10,200] | |
Positionieren auf [10,10] | |
Fertig | |
Neue Grafiklinie | |
Positionieren auf [290,40] | |
Positionieren auf [220,40] | |
Positionieren auf [220,10] | |
Fertig | |
Neue Punktlinie | |
Positionieren auf [290,20] | |
Positionieren auf [220,20] | |
Fertig | |
Mit folgenden Kommandos können Sie die Texte
DEMO und
sheet1 in das zuvor gezeichnete Schriftfeld eintragen:
Texte | |
Neuer Text | |
Text ? | DEMO |
Textgroesse | |
Texthoehe ( 4.00mm) ? | 10 |
Positionieren auf [230,25] | |
Neuer Text | |
Text ? | sheet1 |
Textgroesse | |
Texthoehe (10.00mm) ? | 4 |
Positionieren auf [230,13] | |
2.4 Spezielle SCM-Funktionen
2.4.1 Virtuelle Symbole
Schriftfelder, Firmenlogos, usw. lassen sich natürlich auch in Form von virtuellen Symbolen in der Bibliothek definieren und dann im Schaltbild platzieren. Mit folgenden Kommandos können Sie das Symbol
logo mit dem Bartels Firmenlogo laden:
Symbole | |
Neues Symbol | |
Bauteilname ? | |
Bibliotheksteilname ? | logo |
Positionieren auf [190,10] | |
2.4.2 Gruppen
Ein mächtiges Werkzeug stellen die Gruppenfunktionen im
Schaltplaneditor dar. Mit Hilfe dieser Funktionen können Teile des aktuell geladenen Schalplans oder Symbols zu Gruppen zusammengefasst und dann gespeichert, bewegt, gedreht, gespiegelt, kopiert oder gelöscht werden.
Die Gruppenfunktionen arbeiten nach dem Mengenprinzip. Es können Elemente wahlweise zur aktuell definierten Gruppe hinzugefügt (selektiert) oder auch wieder aus der Gruppe entfernt (deselektiert) werden. Die zur aktuell definierten Gruppe selektierten Elemente werden mittels Highlight angezeigt. Mit der Funktion
können mehrere in einem festzulegenden Polygonzug befindliche Objekte eines wählbaren Typs (Symbole/Labels, Verbindungen, Grafik, Texte, alle Typen) selektiert bzw. deselektiert werden. Die Funktion
dient der Selektion bzw. Deselektion von Einzelelementen (Symbole/Labels, Verbindungen, Grafik, Texte). Hierbei besteht die Möglichkeit der repetitiven Objektauswahl, d.h. die Funktion bleibt mit den eingestellten Funktionsparametern solange aktiviert, bis kein gültiges Pickelement mehr angewählt wurde. Dadurch entfällt die sonst lästige Neuaktivierung der Auswahlfunktion bei der Selektion mehrerer Einzelelemente eines gewünschten Typs. Mit der Funktion
können alle Elemente der aktuell definierten Gruppe deselektiert werden.
Alle zur aktuell definierten Gruppe selektierten Elemente werden in die nachfolgenden Gruppenfunktionen zum Speichern
(), Bewegen
(), Kopieren
(), Löschen
() einbezogen.
Mit der Funktion
wird die aktuell definierte Gruppe als Dateielement abgespeichert. Hierbei ist ein Referenzpunkt zur Definition des Gruppenursprungs anzugeben. Das mit
erzeugte Datenbankelement wird auf derselben Hierarchieebene angelegt wie das aktuell geladene Element. Um ein versehentliches Überschreiben existierender Datenbankelemente zu verhindern, aktiviert
eine Bestätigungsabfrage für den Fall, dass ein Element mit dem spezifizierten Elementnamen bereits in der Zieldatei existiert. Mit
lassen sich Teile eines erprobten Schaltplans oder Symbols in Form von Templates zur späteren Wiederverwendung abspeichern. Solche Templates (wie übrigens auch beliebige SCM-Pläne oder Symbole) können dann mit der Funktion
in andere Pläne bzw. Symbole geladen werden.
Während des Bewegens von Gruppen mit einer der Funktionen
,
oder
kann mit der rechten Maustaste ein Untermenü mit Funktionen zur Platzierung auf Relativ- oder Absolutkoordinaten
(,
) und zum Drehen bzw. Rotieren oder Spiegeln der Gruppe
(,
,
,
,
) aktiviert werden.
Mit der Funktion
können zur Gruppe selektierte Symbolmakros auf Schaltplanebene bzw. zur Gruppe selektierte Markermakros auf Symbolebene ersetzt werden. Diese Funktion eignet sich zum schnellen Austausch von Bauteil- oder Pinsymbolen (Technologieänderung). Die Attributzuweisungen und Textpositionen der ersetzten Originalelemente werden soweit möglich auf die neuen Elemente übertragen.
Die Funktion
setzt vor der eigentlichen Ladeoperation die aktuell definierte Gruppe zurück, d.h. es werden alle zum Zeitpunkt des Aufrufs der Funktion
selektierten Gruppenelemente deselektiert. Nachdem die Gruppe geladen ist, werden alle neu geladenen Gruppenelemente automatisch zur aktuellen Gruppe selektiert. D.h., die mit
geladenen Elemente (und nur diese) sind automatisch für die weitere Bearbeitung mit anderen Gruppenfunktionen selektiert.
Selektieren Sie mit den folgenden Kommandos die drei Schalter
S1004 ,
S1005 und
S1006 mitsamt ihrer Beschaltung, und kopieren Sie diese so definierte Gruppe nach rechts:
Gruppen | |
Gruppe Polygon | |
Alles | |
Selektieren | |
Positionieren auf [50,10] | |
Positionieren auf [110,10] | |
Positionieren auf [110,80] | |
Positionieren auf [50,80] | |
Fertig | |
Gruppe kopieren | |
Positionieren auf [70,70] | |
Positionieren auf [130,70] | |
Gruppe ruecksetzen | |
Sie haben mit obigem Arbeitsschritt drei Symbole und zwei Labels platziert, sowie eine Reihe von Verbindungen erzeugt. Wie Sie sehen, hat das System auch die Bauteilbenennung für die kopierten Symbole automatisch weitergeführt. Die Labels wurden unverändert kopiert.
Wenn Sie alle Arbeitsschritte bis hierhin richtig ausgeführt haben, dann sollte das
sheet1 Ihres Schaltplans jetzt entsprechend
Abbildung 2-8 aussehen.
Abbildung 2-8: Stromlaufblatt Demo/Sheet1
Vergessen Sie in keinem Fall, Ihren Stromlaufplan mit folgenden Kommandos zu sichern:
Datei | |
Speichern | |
Diesen Sicherungsvorgang können Sie übrigens jederzeit während der Bearbeitung durchführen. Sie sollten sich angewöhnen, grundsätzlich nach einer gewissen Bearbeitungszeit bzw. nach einer Reihe von Änderungen eine Sicherung durchzuführen, um einen etwaigen Datenverlust aufgrund z.B. eines Stromausfalls oder eines Rechnerabsturzes zu minimieren.
Gruppensymbolnummerierung
Das während der Platzierung von Gruppen über die rechte Maustaste erreichbare Untermenü der Funktionen
,
und
enthält die Option
. Damit können alle in der Gruppen selektierten Symbole entsprechend dem Symbolnamensmuster neu benannt werden. Diese Funktion ist insbesondere nützlich, wenn aus einem Projekt mit hohen Bauteilnummern Teile in ein Projekt mit niedrigen Bauteilnummern übernommen werden sollen und man eine fortlaufende Bauteilnummerierung wünscht.
2.4.3 Steckerbelegung
Auf dem
sheet1 unseres Schaltplans haben wir die Schaltungslogik eingegeben. Was nun unter Umständen noch fehlt, ist z.B. die Steckerbelegung. Diese können wir auf einem zweiten Stromlaufblatt definieren.
Erzeugen Sie in der Projektdatei
demo.ddb ein zweites Stromlaufblatt mit dem Namen
sheet2 , definieren Sie darauf den Text
Steckerbelegung: , platzieren Sie das Steckersymbol
x_subd9b , und geben Sie dem an diesem Symbol definierten Attribut
$plname den Wert
xsubd9bl :
Datei | |
Neues Element | |
Plan | |
Dateiname ? | demo |
Elementname ? | sheet2 |
A4 Querformat | |
Texte | |
Neuer Text | |
Text ? | Steckerbelegung: |
Positionieren | |
Symbole | |
Neues Symbol | |
Bauteilname ? | |
Bibliotheksteilname ? | x_subd9b |
Platzieren | |
Wert zuweisen | |
Positionieren auf Symbol | |
$plname | |
Attribut Wert ? | xsubd9bl |
Schließen Sie nun die Signale
Vss ,
Vdd und die Signale
OUT(0-3) des Busses
BUS an das Steckersymbol an (Anschlussbelegung siehe
Abbildung 2-9).
Abbildung 2-9: Stromlaufblatt Demo/Sheet2
2.4.4 Netzattribute
Im Bartels AutoEngineer besteht die Möglichkeit, Netzattribute zur Steuerung des
Autorouters im Stromlaufplan zu definieren. So können z.B. netzbezogene Leiterbahnbreiten und Mindestabstände definiert werden.
Laden Sie den Label
NET sowie das Symbol
att_rw (Netzattribut
ROUTWIDTH ), verbinden Sie die Anschlüsse an
NET und
att_rw miteinander, und weisen Sie dem an
att_rw definierten Attribut
$val den Wert "0.5" zu, um den
Autorouter zu veranlassen, das Signalnetz
NET mit einer Breite von 0.5mm zu routen (siehe
Abbildung 2-9).
Laden Sie nun den Label
Vdd , und schließen Sie diesen an die Symbole
att_rw (Netzattribut
ROUTWIDTH ; Werteintrag "0.5" für Attribut
$val ) und
att_md (Netzattribut
MINDIST ; Werteintrag "0.4" für Attribut
$val ) an. Der
Autorouter wird dieses Netz mit einer Breite von 0.5mm und einem Mindestabstand von 0.4mm zu potentialfremdem Kupfer routen.
Definieren Sie auf dieselbe Weise eine Leiterbahnbreite von 0.6mm für das Netz
Vss (Laden Label
Vss und verbinden zu Symbol
att_rw mit Werteintrag "0.6" für Attribut
$val ).
Neben den oben beschriebenen Netzattribut-Definitionen können auch noch die Attribute
PRIORITY und
POWWIDTH zur Routersteuerung verwendet werden. Anmerkungen zur Wirkungsweise dieser Attribute finden sie in der Beschreibung für das Programm
loglib.
Tragen Sie schließlich noch den Text
Netzattribute: in den Schaltplan ein, so dass sich das in
Abbildung 2-9 gezeigte Schaltbild ergibt, und vergessen Sie nicht, Ihren Schaltplan zu sichern.
2.4.5 Tagsymbole
Der Symboltyp Tag dient der Zuweisung einzelner oder mehrerer Attributdefinitionen an Bauteile, Pins oder Netze bzw. an Gruppen derselben. Über Tags können darüber hinaus auch komplexe Informationen wie z.B. Vorgaben für Testabläufe oder logische Beziehungen zwischen Bauteilen, Pins, oder Netzen in das Design eingebracht werden.
Mit Hilfe der Funktion
aus dem Menü
kann das aktuell geladene Symbol wahlweise in ein virtuelles Tag oder in ein Netzlistentag umgewandelt werden. Einträge und Zuweisungen über Netzlistentags werden vom
Packager in die physikalische Netzliste transferiert und können somit im Layout weiterverarbeitet werden. Virtuelle Tags sind hingegen nur zur Bearbeitung auf Stromlaufebene vorgesehen.
Zur Darstellung von Tagsymbolen werden die Einträge
und
in der Farbauswahl angeboten. Bei der Ausgabe von Plots werden Tagsymbole üblicherweise nicht mitgeplottet.
Um die Zuweisung von Tagsymboleinträgen an Netze, Symbole oder Pins zu ermöglichen, müssen Pins mit entsprechendem Typ auf den Tagsymbolen platziert werden. Der Tagsymboltyp kann mit Hilfe der Option
aus dem über die rechte Maustaste während der Pinplatzierung aktivierbaren Untermenü zugewiesen werden. Neben dem Modus
(für Standardsymbole und Labels) stehen hierbei die Optionen
(zur Tagzuweisung an Symbole),
(zur Tagzuweisung an Pins) und
(zur Tagzuweisung an Netze) zur Auswahl.
Es sollte auch mindestens ein Attribut entweder durch Platzierung eines entsprechenden Attributnamens auf Tagsymbolebene oder mit fest vorgegebenem Attributwert in der Definition für die logische Bibliothek eingetragen werden. Bei der Definition des Eintrages für die logische Bibliothek ist zu beachten, dass alle auf dem Tagsymbol definierten Pins über das
loglib-Kommando
pin eingetragen sein müssen. Reine Attributtage sind als
virtual zu deklarieren.
Auf Schaltplanebene können Tags wie normale Symbole mit der Funktion Neues Symbol platziert werden. Anschließend kann entweder implizit in der Platzierungsfunktion oder später explizit über die Funktion Symboltag zuweisen die Zuweisung von Tags vorgenommen werden. Hierbei können je nach Tagpintyp Symbole, Pins oder mit Label benannte Netze als Zielobjekte ausgewählt werden. Dabei kann für jeden Tagpin maximal ein Zielobjekt ausgewählt werden. Am Tagsymbol eingetragene Attributwerte werden dann automatisch an alle zugewiesenen Objekte übertragen. Die im BAE-System vordefinierten Spezialattribute
($plname ,
$rpname ,
$routwidth ,
$powwidth , etc.) behalten dabei ihre Bedeutung. Beachten Sie bitte, dass über
$routwidth dabei auch die Möglichkeit der Spezifikation pinspezifischer Anschlussbreiten durch Eintrag des gewünschten Millimeterwertes besteht.
2.4.6 Templates
Beim Editieren von Schaltplänen werden Sie feststellen, dass Ihre Stromlaufpläne immer wiederkehrende Teile, wie etwa Schriftfeld-Informationen oder die oben beschriebenen Definitionen bezüglich Steckerbelegung bzw. Routersteuerung, enthalten. Das Datenbankkonzept des
AutoEngineer ermöglicht die Speicherung derartiger Definitionen bzw. Schaltplanteile in Form von Templates (also wie Bibliothekselemente), die in neu zu erstellende Schaltplänen z.B. mit Hilfe der Funktionen zum Laden oder Speichern von Gruppen, der Funktion
aus dem Menü
, oder unter Verwendung des Utilityprogramms
copyddb in neu zu erstellende Schaltpläne kopiert werden können.
2.4.7 Verlassen des Stromlauf-Editors
Bevor Sie den Stromlauf-Editor verlassen, sollten Sie nicht vergessen, den gerade erstellten Schaltplan mit folgenden Kommandos zu sichern:
Datei | |
Speichern | |
Rücksprung ins Hauptmenü
Um in die BAE-Shell zu gelangen, sind die folgenden Funktionen auszuführen:
Datei | |
Hauptmenue | |
Sie befinden sich nun wieder in der Shell des BAE. Diese lässt sich wie folgt beenden:
Programmende | |
Programmende vom Schaltplanpaket aus
Der
Bartels AutoEngineer kann auch direkt vom Schaltplanpaket aus beendet werden:
Datei | |
Programmende | |
Es erfolgt der Rücksprung auf die Betriebssystemebene. Sollte das System mit einer Bitte um Bestätigung reagieren, dann wurde das aktuell geladene Element noch nicht gesichert. In diesem Fall sollten Sie die Funktion
abbrechen, das im Speicher befindliche Element sichern und anschließend erst das Programmende herbeiführen:
Datei | |
Programmende | |
Bitte bestaetigen (J/N) ? | n |
Datei | |
Speichern | |
Datei | |
Programmende | |
Die nächsten Arbeitsschritte
Auf Betriebssystemebene können Sie sich (z.B. unter DOS) mit folgendem Kommando die gerade generierte(n) Datei(en) auflisten lassen.
> dir demo.*
Die Projektdatei
demo.ddb enthält nun den Stromlaufplan sowie eine logische, ungepackte Netzliste. Im nächsten Arbeitsschritt ist diese logische Netzliste mit Hilfe des
Packagers (siehe
Kapitel 3.2) in eine physikalische, gepackte Netzliste umzuwandeln. Anschließend erst kann mit dem Layoutsystem (siehe
Kapitel 4) das Design der Leiterkarte erstellt werden.
2.5 SCM-Plotausgabe
Die SCM-Funktionen zur Erstellung von HP-GL-, HP-Laser- und Postscript-Ausgabedaten sind im Menü
des
Schematic Editors zusammengefasst. Die Plotausgabe lässt sich nur starten, wenn ein Element geladen ist. Starten Sie also zunächst den
Schaltplaneditor und Laden Sie mit den folgenden Kommandos das Stromlaufblatt
sheet1 aus der Datei
demo.ddb :
Datei | |
Laden | |
Plan | |
Dateiname ? | demo |
Elementname ? | sheet1 |
2.5.1 Allgemeine Plotparameter
Ausgabekanal
Mit der Funktion
kann der Ausgabekanal angegeben werden, in den die Plotdaten gelenkt werden sollen. Dieser Kanal kann entweder direkt ein Ausgabegerät über einen Schnittstellennamen (z.B.
com2 ,
lpt1 in DOS) oder den Namen einer Datei, in die die Ausgabedaten geschrieben werden, angeben. Dabei ist zu beachten, dass die Schnittstelle initialisiert ist bzw. genügend Platten-/Diskettenkapazität zur Aufnahme der Ausgabedaten bereitsteht. Sind diese Voraussetzungen nicht erfüllt, dann bricht die Ausgabe mit der Meldung
Schreiben ASCII-Datei fehlgeschlagen! ab.
Wird kein Ausgabekanal explizit vorgegeben, dann erfolgt jeweils nach Aktivierung des entsprechenden Ausgabemenüpunktes eine Abfrage nach dem Namen des Ausgabekanals. In die Funktionen
,
,
und
im Menü
des
Schematic Editors sind Popupmenüs zur schnellen Selektion der Plotdatei integriert. Aus Gründen der Datensicherheit werden hierbei Dateien mit den Endungen
.ass ,
.con ,
.ddb ,
.def ,
.exe ,
.fre ,
.ulc und
.usf ausgeblendet. Wahlweise besteht auch weiterhin die Möglichkeit, die Namen neu zu erstellender Plotdateien direkt über Tastatur einzugeben.
Maßstab
Mit der Funktion
kann ein Vergrößerungsfaktor für die Plotausgabe angegeben werden. Der Defaultwert für den Maßstab beträgt 1.0. Es können Werte von 0.1 bis 100.0 spezifiziert werden.
Plot drehen
Über die Funktion
kann gewählt werden, ob wie auf dem Bildschirm dargestellt geplottet werden soll
(), oder ob die Ausgabe um 90 Grad gegen den Uhrzeigersinn gedreht erfolgen soll
(). Dabei ist allerdings zu beachten, dass nicht alle Ausgabegeräte negative Koordinaten verarbeiten können. D.h., der Nullpunkt des auszuplottenden Elements ist vor der Plotausgabe ggf. mit der Funktion
im Menü
entsprechend zu versetzen (z.B. in die linke obere Ecke des Plans).
2.5.2 HP-GL Penplot
Die Ausgabe von HP-GL-Daten erfolgt mit einem Stift, dessen Breite im Menüpunkt
angegeben werden kann. Die Default-Stiftbreite beträgt 0.3mm; es können Werte von 0.01 bis 10.0 mm spezifiziert werden.
Die Plotgeschwindigkeit kann mit
beeinflusst werden. Dabei kann die Geschwindigkeit in cm/s oder
S für maximale Geschwindigkeit angegeben werden. Die Defaulteinstellung ist
S ; als maximaler Zahlenwert wird 99 akzeptiert.
Für schnelle Kontrollplots kann im Menü
mit
das Ausfüllen von Flächen unterbunden werden. Es wird dann beim Plotten von Flächen nur die Umrandungslinie gezeichnet. Mit
kann der Defaultzustand wieder eingestellt werden.
Die Plotausgabe wird mit dem Menüpunkt
gestartet. Der Benutzer wird dabei zunächst um die Angabe der Stiftnummer (1..99) gebeten, und anschließend (sofern nicht explizit über
spezifiziert) nach dem Namen des Ausgabekanals gefragt. Um für das aktuell geladene Element einen HP-GL-Plot (Datei
demo_s1.plt ) ohne gefüllte Flächen mit dem Stift 4 (Breite 0.1mm) zu erzeugen, sind folgenden Kommandos auszuführen:
Plotausgabe | |
Stift-/Standardbreite | |
Plotter Stiftbreite ( 0.30mm) ? | 0.1 |
Fuellmodus HP-GL | |
Fuellen aus | |
Plot HP-GL Ausgabe | |
Plotter Stiftnummer (1..99) ? | 4 |
Plotdatei Name ? | demo_s1.plt |
Das erfolgreiche Schreiben des HP-GL-Plots wird durch die Meldung
HP-GL Plot beendet. quittiert.
Am Ende der HPGL-Ausgabedateien wird ein
PG -Kommando zum Auswurf der Seite abgesetzt, um zu vermeiden, dass aufeinanderfolgende Blattausgaben übereinander geplottet werden.
2.5.3 HP-Laser-Ausgabe
Die Ausgabe von HP-Laser-Plots im Format PCL (Printer Command Language) kann mit dem Menüpunkt
gestartet werden. Der Plot wird dabei automatisch auf A4 skaliert, d.h. weder die Einstellung des Maßstabs, noch die Angabe einer Stift- bzw. Standardbreite haben hier Wirkung. Um den aktuell geladenen Schaltplan auf
lpt1 (d.h. hier z.B. Direktangabe der DOS-Schnittstelle zu Laserdrucker) auszugeben, sind folgende Kommandos auszuführen:
Plotausgabe | |
HP Laser Ausgabe | |
Plotdatei Name ? | lpt1 |
Das erfolgreiche Schreiben des PCL-Plots wird durch die Meldung
HP Laser Ausgabe beendet (Skalierung 1:...).
mit der Angabe des zur Skalierung auf Blattgröße verwendeten Skalierungsfaktors quittiert. Die Daten müssen im Binärmodus an den Ausgabekanal übertragen werden. Erfolgt die Ausgabe zunächst auf eine externe Datei (z.B.
pclplot ), dann ist auf DOS-Ebene bei der anschließenden Übertragung dieser Datei an den Laserdrucker mit Hilfe des COPY-Befehls die Option
/b anzuwenden:
> copy pclplot lpt1 /b
2.5.4 Postscript-Ausgabe
Die Postscript-Ausgabe wird mit der Funktion
gestartet. Um den aktuell geladenen Schaltplan mit einem Vergrößerungsfaktor von 0.75 und unter Verwendung einer Standardlinienbreite von 0.25 mm auf die Datei
plot1.ps auszugeben, sind folgende Kommandos auszuführen:
Plotausgabe | |
Stift-/Standardbreite | |
Plotter Stiftbreite ( 0.10mm) ? | 0.25 |
Massstab | |
Plot Vergroesserungsfaktor (1.0) ? | 0.75 |
Postscript Ausgabe | |
Plotdatei Name ? | plot1.ps |
Das erfolgreiche Schreiben der Postscript-Datei wird durch die Meldung
Postscript Ausgabe beendet. quittiert.
2.5.5 Generische Ausgabe unter Windows
In den Windows-Versionen der BAE-PC-Software ist eine generische Plot- bzw. Druckerausgabe implementiert. Damit werden durch den
Schaltplaneditor der BAE-Windows-Software prinzipiell alle unter der aktuell definierten Windows-Betriebssystemkonfiguration verfügbaren Print- bzw. Plotfunktionen unterstützt.
Zur Aktivierung des Windows Print-/Plot-Menü sind die folgenden Kommandos auszuführen:
Plotausgabe | |
Generic Ausgabe | |
Die im Windows-Druckerdialog vorgenommenen Einstellungen für die Anzahl der Kopien, die Sortierung sowie den Seitenausgabebereich werden bei der generischen Ausgabe berücksichtigt.
Bei Anwahl der Option
im Druckerdialog der generischen Ausgabe unter Windows werden alle Seiten ausgegeben. Somit ist es möglich z.B. alle Stromlaufblätter eines Projektes auf einmal auszudrucken. Um z.B. Stromlaufblätter gemischt gedreht und nicht gedreht ausgeben zu können, werden jeweils die für das zu plottende Element eingestellten Druckparameter berücksichtigt. Diese können sich von den Parametern des aktuell geladenen Elements unterscheiden.
Bei Anwahl der Option
im Druckerdialog der generischen Ausgabe unter Windows kann ein Bereich für die Plotausgabe selektiert werden.
Bei der generischen Ausgabe wird eine automatischen Anpassung der Skalierung auf das für die Druckausgabe definierte Blattformat unter Beibehaltung des Seitenverhältnisses vorgenommen, wenn die Größe des zu plottenden Elements die über die Druckereinstellung definierte Blattgröße überschreitet.
Die Funktion
zeigt nach Beendigung der Ausgabe in der Mitteilungszeile den zur Skalierung auf Blattgröße verwendeten Skalierungsfaktor an.
2.5.6 Bitmap-Plotausgabe auf die Windows-Zwischenablage
In der Windowsversion ermöglicht
aus dem Menü
die Ausgabe von Zeichnungsdaten in eine Bitmap, die in die Zwischenablage zum weiteren Verarbeiten durch
() in andere bitmapfähige Windowsanwendungen übertragen wird. Per Default wird das gesamte aktuell geladene Element ausgegeben. Mit
lässt sich die Ausgabe auf ein mausselektierbares Rechteck beschränken. Die Dialogbox zur Plotparametereinstellung erlaubt auch eine Größenvorgabe für die Bitmap, sowie die Auswahl des Rotationsmodus für die Ausgabe.
2.6 Hierarchischer Schaltungsentwurf
Bei der Schaltplaneingabe besteht die Möglichkeit des hierarchischen Designs. D.h. es ist möglich, Schaltpläne als Blockschaltbilder zu definieren, und diese auf anderen Stromläufen als Block zu referenzieren. Wir empfehlen diese relativ arbeitsintensive Vorgehensweise allerdings nur in Fällen, wo aufgrund des Umfangs und der Struktur des Stromlaufplans auch wirklich eine hinreichend begründete Veranlassung dazu besteht. In der Regel ist dies z.B. beim Entwurf integrierter Schaltungen (Gate Arrays, Standardzellen, ASICs) der Fall.
2.6.1 Blockschaltbild
Für das hierarchische Design ist zunächst ein Blockschaltbild (auf einem oder mehreren Stromlaufblättern) zu zeichnen. Die Kennzeichnung eines Blockschaltbildes als Sub-Block erfolgt durch die Definition eines Blocknamens mit Hilfe der Option
der Funktion
aus dem Dialog
. Ist ein Blockschaltbild auf mehrere Blätter verteilt, so ist jeweils der gleiche Blockname einzutragen.
Abbildung 2-10 zeigt ein Beispiel für ein Blockschaltbild (der Blockname ist dabei definiert als
BLOCK ). Die Anschlüsse des Blockschaltbildes zu den hierarchisch übergeordneten Stromlaufblättern erfolgt über Modulports. Modulports können mit der Funktion
aus dem Menü
geladen werden; das System verwendet per Konvention das Labelsymbol
port für die Darstellung von Modulports. In der
Abbildung 2-10 sind die Modulports
S ,
R ,
Q ,
/Q sowie
HYPER definiert. Die beim Hierarchischen Design notwendige Unterscheidung zwischen lokalen und globalen Netzen erfolgt mit Hilfe des Zeichens
& bei der Definition von Netznamen. Durch Voranstellen dieses Zeichens vor einem Netznamen wie bei Netz
&ABC bzw. Netz
/&ABC in
Abbildung 2-10 werden die entsprechenden Signale lokal in Bezug zum Sub-Block definiert. Die herkömmliche Netznamensvergabe (wie z.B. bei
VCC ) bewirkt die Referenzierung eines globalen Netzes. Bei der Vergabe von globalen Netznamen in Blockschaltbildern ist prinzipiell zu bedenken, dass diese mit allen gleichnamigen Netzen aller anderen Hierarchieebenen verbunden sind.
Abbildung 2-10: Hierarchischer Schaltungsentwurf; Blockschaltbild "BLOCK"
Zur besseren Unterstützung bei der Erstellung und Bearbeitung von Blockschaltbildern steht in der Funktion
zusätzlich die Option
zur Verfügung. Ein
darf im Gegensatz zum normalen
nur einmal referenziert werden. Ein
wird vom
Packager und der
wie ein normales Schaltplanblatt behandelt, d.h. die Symbolnamen werden ohne Zusatz eines
[Pn] -Prefix in das Layout übernommen, und Bauteilnamensänderungen und Pin-/Gate-Swaps werden von der
in den Blockschaltplan zurückgemeldet.
2.6.2 Blocksymbol
Zur Referenzierung eines Blockschaltbildes in einem hierarchisch übergeordneten Stromlaufblatt ist die Definition eines speziellen Stromlaufsymbols notwendig, wobei die Liste der Pins dieses Symbols mit der Liste der Modulports im Blockschaltbild übereinstimmen muss.
Neben der Definition des Blocksymbols wird für den späteren
Packager-Lauf zur Erzeugung der physikalischen Netzliste ein entsprechender Eintrag in der logischen Bibliothek benötigt (siehe hierzu auch die
Kapitel 7.11 und
Kapitel 3.2).
Abbildung 2-11 zeigt das Blocksymbol
DFF für das Blockschaltbild aus
Abbildung 2-10 sowie die zugehörige
loglib-Definition zur Referenzierung des Blockschaltbildes aus
Abbildung 2-10.
Abbildung 2-11: Hierarchischer Schaltungsentwurf; Blocksymbol "DFF" mit Loglib-Definition
Wie aus dem Beispiel zu ersehen ist, ist das Blocksymbol als Virtuelles Bauteil zu definieren; die Referenzierung des Blockschaltbildes erfolgt mit Hilfe des Befehls
call . Beachten Sie bitte auch, dass in unserem Beispiel die Definition eines Busses am Blocksymbol verwendet wurde.
2.6.3 Top-Level-Schaltbild
Abbildung 2-12 zeigt die Verwendung des in
Abbildung 2-11 dargestellten Blocksymbols
DFF in einem hierarchisch übergeordneten Stromlauf; das Blockschaltbild
BLOCK wird dabei dreimal
(DFF_1 ,
DFF_2 und
DFF_3 ) über das Symbol
DFF referenziert.
Abbildung 2-12: Hierarchischer Schaltungsentwurf; Top-Level-Schaltbild
2.7 Backannotation
ist immer dann durchzuführen, wenn im Layout Änderungen an der Netzliste (Umbenennung von Bauteilen, Pin/Gate Swaps oder Zuweisung alternativer Gehäusebauformen) vorgenommen wurden, die in den Stromlauf zurückgemeldet werden müssen. Bauteile können mit der Funktion
im Menü zur manuellen Bauteilplatzierung umbenannt werden. Pin/Gattertausch kann entweder interaktiv mit der Funktion
im Menü zur manuellen Bauteilplatzierung oder automatisch mit den Funktionen
,
bzw.
Autoplacement durchgeführt werden. Darüber hinaus kann auch die Option
im
Autorouter die automatische Anwendung von Pin/Gate Swaps während des Rip-Up-Routings bewirken. Die Zuweisung alternativer Gehäusebauformen erfolgt mit der Untermenüfunktion
während der manuellen Bauteilplatzierung im Layout. Es ist dringend zu beachten, dass alle oben genannten Modifikationen in der physikalischen Netzliste verloren gehen, wenn sie vor einer neuerlichen Schaltplanbearbeitung nicht mit
in den Stromlauf zurückgemeldet werden.
Die
ist vollständig im
Schaltplaneditor integriert und kann über das Kommando
aus dem Menü
bzw.
gestartet werden. Außerdem sind die SCM-Funktionen zum Laden von Elementen sind mit einem Mechanismus zur wahlweisen automatischen Durchführung notwendiger
-Prozesse beim Laden von Stromlaufplänen in den
Schaltplaneditor ausgestattet. Hierzu werden layoutspezifische Datenbankeinträge ausgewertet, die im Layoutsystem beim Speichern generiert werden, wenn Pin-/Gate-Swaps oder Bauteilnamensänderungen vorgenommen wurden. Ist beim Laden eines SCM-Plans eine Anforderung zur Durchführung der
vorhanden, dann wird automatisch eine Bestätigungsabfrage aktiviert, die wahlweise die Durchführung der
ermöglicht. Nach dem
-Lauf wird der Datenbankeintrag für die
-Anforderung wieder gelöscht.
Die Anwendung der
ist im
Kapitel 3 näher erläutert.
Schaltungsentwurf / CAE © 1985-2024 Oliver Bartels F+E • Aktualisiert: 02. December 2006, 15:51 [UTC]
|