Bauteil- und Symbolassistent
Zurück zu Bauteilerstellung
Zurück zu Neues Bauteil erstellen...
siehe "Schaltplanmenü Bauteile / Bauteil- und Symbol-Assistent"
Vorrede
Der Bauteil- und Symbol-Assistent ist vor allem geeignet für das Zeichnen von großen ICs, die jeweils durch ein Rechteck mit einer Vielzahl von Anschlüssen symbolisiert werden. Der Assistent arbeitet textorientiert. Mit Hilfe eines Skriptes (=zeilenweises, textbasiertes Anweisungsformular) wird definiert, wie das Rechteck an allen Seiten mit Anschlüssen belegt sein soll. Klingt kompliziert, ist es aber nicht, wie wir gleich sehen werden.
Vorhandenes Bauteil laden
Wenn Sie mit diesem Assistenten ein vorhandenes Bauteil ändern möchten oder ein neues Bauteil von einem vorhandenen ableiten möchten, dann öffnen Sie zunächst mit [F2] den Bauteilbrowser. Suchen Sie dann das Bauteil und klicken Sie mit M2 unten auf das Symbolbild für das Kontextmenü.
Wählen Sie entweder den Punkt "Symbol im IC-Assistenten bearbeiten..." zum Bearbeiten eines Bauteils aus oder aber den Punkt "Symbol im IC-Assistenten als Vorlage verwenden...", wenn Sie ein neues Bauteil von einem alten ableiten wollen.
Die Symbole und ihre Anschlüsse
"Symbole" deswegen, weil ein Symbol durchaus aus mehreren Sub-Symbolen (z. B. Gattern) bestehen kann .
Nach Klick auf oben genannte Funktion erscheint folgender Dialog:
Um die Funktionsweise des Assistenten zu verstehen, ist es sinnvoll zunächst das Vorlageskript aufzurufen. Nach Klick auf "Ja" folgt vorab die Frage, wieviele Beinchen Ihr neues Bauteil haben soll. Wir bestätigen zunächst den Vorschlag: 16 Beinchen:
Nach Klick auf OK erscheint das genannte Vorlage-Skript:
Im weißen Feld unter der Überschrift: "Die Symbole und ihre Anschlüsse:" erscheint der Text des Skriptes. Im Bereich rechts sehen Sie eine Vorschau des Bauteils, darunter befindet sich die Schaltfläche um das Bauteil nach Fertigstellung des Skriptes zu erzeugen. Diese beiden Unterpunkte finden Sie auch im Hauptdialog unten rechts.
Das Menü des Assistenten
Ab Version 15 geht das Laden eines vorhandenen Bauteils anders, siehe Vorhandenes Bauteil laden.
Der Menüpunkt "Bauteil-Skript" ermöglicht es, entweder ein komplett neues Skript (Grundlage für ein neues Bauteil) zu erstellen, ein Beispiel zu Hilfe zu nehmen, ein bestehendes Skript zu laden oder das gerade bearbeitete Skript als *.txt File zu speichern:
Mittels des Menüpunktes "Zeile" können Sie eine Zeile hinzufügen, bearbeiten, löschen oder die Reihenfolge der Pins ändern. Bis V14 können Sie im Menüpunkt Bauteil ein vorhandenes Bauteil mit dem dazugehörigen Skript laden, dieses modifizieren und das Bauteil neu erzeugen. Das Laden des Skriptes eines vorhandenen Bauteils erzeugen Sie auch mit dem Schaltknopf "vorhandenes Bauteil laden" rechts unten im Hauptdialog. Hierbei kann es sein, dass Detailinformationen die die Bauteilzeichnung hat, nicht als Skriptinformationen hinterlegbar sind, also separat durch Zeichnen mittels der Zeichenfunktionen später wieder hinzugefügt oder verändert werden müssen.
Arbeiten ohne Vorlage-Skript
Wenn Sie kein Beispielskript verwenden wollen und deshalb auf den Menüpunkt Bauteil-Skript/Neu drücken, müssen Sie im weißen Feld entweder den Knopf drücken oder mit der rechten Maustaste einfachklicken M2. Es erscheint folgendes Bild:
Arbeiten Sie die Punkte dieses Dialogs Schritt für Schritt ab. Klicken Sie auf die Zeile "Bauteilname" und tragen Sie den gewünschten Bauteilnamen ein. Der Eintrag erscheint in der ersten Zeile des Skriptes, der Menüpunkt wird im Auswahldialog abgeblendet. Wenn Sie die Zeile nochmals bearbeiten wollen, klicken Sie sie doppelt. Mit den anderen Menüpunkten verfahren Sie gleichermaßen.
Ein Beispiel
Wir wollen nun den 8-bit AVR Microcontroller AT90S2313 von Atmel mit Hilfe des Bauteilassistenten erstellen. Das entsprechende Datenblatt holen wir uns aus dem Internet unter
Wichtig sind darin für unsere Zwecke vornehmlich die Pin-Konfigurierung, die Gehäuseinformationen und das Blockdiagramm. Wir klicken auf "Bauteil-Skript/Beispiel..." und werden nach der Anzahl der Bauteilbeinchen gefragt. Das Datenblatt gibt uns die Information, dass wir es mit einem Bauteil mit 20 Anschlussbeinchen zu tun haben, also geben wir hier die Zahl 20 ein.
Das erscheinende Vorlageskript ist die Grundlage für das Demo-IC, das wir als Symbol auf der rechten Seite des Dialoges sehen können. Veränderungen des Skriptes führen simultan zu Veränderungen der Symboldarstellung.
Zum Bearbeiten einer Zeile klickt man sie doppelt. Tun wir dies also in der Zeile COMPONENT. Folgender Dialog erscheint:
Wir ändern den Namen von "Demo" auf "Microcontroller" und sehen das Ergebnis im Skript. Die nächste Zeile "LIBRARY" gibt den Pfad zu der Bibliothek an, in der Sie das Bauteil abspeichern wollen. Für unser Beispiel wählten wir: C:\Programme\IBF\Libs\standard\Eigene_Symbole.sym3001. Also wieder Doppelklick auf die Zeile und Eingabe des Pfades im auftauchenden Dialog. Die Zeile "PROPOSEDPACKAGE" definiert den Gehäusevorschlag. Den Gehäuseinformationen des Datenblattes entnehmen wir, dass es sich um ein Gehäuse 20P3 DIP handelt, der korrekte Gehäusevorschlag wäre also DIL20. Geben Sie ihn ein mit Doppelklick auf die Zeile und entsprechender Auswahl aus dem TARGET 3001! Bibliotheksbrowser.
An dieser Stelle wird nochmals deutlich, dass es wichtig ist, bei der Erstellung eines neuen Bauteils (Symbol und Gehäuse) zunächst das Gehäuse zu zeichnen, um es nun durch Nennung seines Bibliothekspfades zuweisen zu können.
Ebenso verfahren wir mit der nächsten Zeile, in der wir einen Bibliotheksvorschlag definieren. Hier Standard.PCK3001 (Es ist die Bibliothek, in der sich das Gehäuse DIL20 befindet).
Kommen wir nun zu der Zeile "FUNCTION". Da es sich um einen Microcontroller mit programmierbarem Flash handelt, geben wir nach Doppelklick ein: "Flash". Dass es sich letztlich um ein IC handelt und wir dieses Präfix auch verwenden wollen, definieren wir in der nächsten Zeile und geben im Dialog bei "PREFIX" ein: "IC" und in der Zeile "TYPE": "IC/Digital".
Der Dialog in der Zeile "SYMBOL" lässt uns das Symbol-Suffix bestimmen, hier "a". Ein Suffix braucht TARGET 3001! für den Fall, dass ein Bauteil z. B. mehrere Gatter symbolisiert und jedes Gatter ein eigenes Suffix erhalten soll. Weiterhin interessiert die Frage, ob das Symbol ein Rechteck erhalten soll oder nicht (ggf. Haken setzen). Dies ist u. a. wichtig, um die körperlichen Abmessungen des Gehäuses später im Layout darzustellen.
Pin-Belegung
Wenden wir uns nun der Pin- Belegung gemäß Datenblatt zu. Das folgende Bild zeigt den entsprechenden Ausschnitt aus dem Datenblatt:
Wir sehen die Anschlüsse 1-10 auf der linken Seite und 20-11 auf der rechten Seite des Datenblattes, was mit unserer Symbolzeichnung noch nichts gemein hat. Der Symbolassistent setzt die definierte Anzahl zunächst in eine Reihe an die Westseite des Bauteilsymbols. Wir markieren nun lediglich die Pins 11-20 gemeinsam (Shift Taste hinzunehmen) und können mit Druck auf die rechte Maustaste unter "Bearbeiten" oder einfach mit [ä] wie ändern, ihre Ausrichtung am Symbol bestimmen, nämlich Osten. Aktivieren wir also den entsprechenden Radiobutton.
Nach Klick auf OK erhalten wir folgendes Bild:
Die Reihung der Pins auf der Ostseite muss allerdings umgekehrt sein. Klicken Sie nun wieder die Pins 11-20 gemeinsam an, drücken Sie die rechte Maustaste oder einfach die Taste [ä] und wählen Sie den Menüpunkt: "Reihenfolge der Pins umkehren".
Folgendes Bild zeigt die korrekte Darstellung:
Beginnen wir mit den Pin-Belegungen. Pin eins hat eine invertierte RESET-Funktion. Im Blockdiagramm des Datenblattes suchen wir diese invertierte RESET-Funktion und sehen, dass es sich bei diesem Anschluss um einen Eingang handelt. Das folgende Bild zeigt den Ausschnitt des Datenblattes, der die entsprechende Information enthält:
Im Dialog des TARGET 3001! Bauteilassistenten geben wir nach Doppelklick auf die erste Pin-Zeile ein: alsPin Nummer die "1", da es das erste Pin ist, als Pin Name "Reset" und als Pin-Funktion "Eingang (IN)". Den letzten Eintrag können wir uns auch aus der Pull-Down-Liste auswählen. Da es sich um eine nicht getaktete Funktion handelt, bleibt "Takt Pfeil" deaktiviert (im Skript sehen wir dazu später den Begriff "FALSE"), wir aktivieren aber die Darstellung mit "Inverter Punkt" (Haken setzen). Im Skript sehen wir dazu später den Begriff "TRUE".
Man kann auch in diesem Dialog noch definieren, wo an unserem Symbol dieser Anschluss auftauchen soll. Wir belassen es bei "Westen", das hatten wir bereits definiert. Wir drücken OK und unser erster Pin ist hinreichend bestimmt.
Bei Pin 2 handelt es sich einen der sieben PortD Driver, wie uns das Blockdiagramm des Datenblattes mitteilt:
Wir doppelklicken also im Bauteilassistenten auf die Zeile des zweiten Anschlusses und stellen wie folgt ein:
Pinnummer: 2
Pinname: PD0
Pinfunktion: Eingang/Ausgang (I/O) (vgl. Blockdiagramm)
Padname: benötigt man vornehmlich bei Ball Grid Arrays (BGA's)
Takt-Pfeil: nicht aktivieren
Inverter-Punkt: nicht aktivieren
Richtung: Westen
OK drücken, zweiter Pin fertig.
Weiter mit Pin 3:
Pinnummer: 3
Pinname: PD1
Pinfunktion: Eingang/Ausgang (I/O) (vgl. Blockdiagramm)
Padname: benötigt man vornehmlich bei Ball Grid Arrays (BGA's)
Takt-Pfeil: nicht aktivieren
Inverter-Punkt: nicht aktivieren
Richtung: Westen
OK drücken, dritter Pin fertig.
Zum jetzigen Zeitpunkt sieht unser Skript so aus:
Wenn Ihnen die Darstellung rechts zu klein ist, drücken Sie bitte den Knopf "Vorschau" (im Hauptdialog rechts unten) um ein vergrößertes Bild zu erlangen.
Mit den weiteren Pins verfahren Sie gleichermaßen. Sie können zu jedem Zeitpunkt neue Zeilen (Pins) hinzufügen und durch Doppelklick auf die Zeile oder Einfachklick und [ä] ändern.
Bauteil erzeugen
Nachdem Sie alle Pins definiert und mit den entsprechenden Eigenschaften versehen haben, drücken Sie die Taste "Bauteil erzeugen". TARGET prüft zunächst, ob die angegebene Anzahl definierter Pins mit der Anzahl der Gehäusepads (vgl Zeile 3 im Skript) übereinstimmt. Ist dieses der Fall, wird das Bauteilsymbol in der angegebene Bibliothek erzeugt. Wenn Sie etwas Übung haben, können Sie ein solches Skript auch in einem Tabellenkalkulationsprogramm erstellen, dies geht unter Umständen noch schneller. Ein Texteditor tut es auch, Sie müssen sich allerdings über die Struktur des Skriptes im Klaren sein, sowie darauf achten, dass die einzelnen Einträge durch Tabulatoren getrennt sind. Importieren Sie ein solches Skript.txt Dokument in den Bauteil-Assistenten, wie oben angedeutet.
Mehrfachgatter
Mehrfachgatter innerhalb eines Bauteils trennen Sie durch eigene Symbole voneinander ab, indem Sie einer bestimmten Anzahl von Pins ein eigenes Suffix geben. Erstellen Sie z. B. nach Pin 4 eine neue Zeile, indem Sie Zeile 5 markieren und mit der rechten Taste im erscheinenden Dialog "Symbol" anklicken. Dies bedeutet, dass die folgenden Pins ein eigenes Symbol bekommen sollen. Folgender Dialog erscheint:
Erteilen Sie z. B. als Suffix den Buchstaben b und geben Sie bei "Einfügen" an: "Automatisch als nächstes einfügen". Das bedeutet, dass beim Hereinholen des Bauteils in den Schaltplan später sukzessive die Gatter a, b, c, u.s.w. hereingeholt werden. Power-Anschlüsse hingegen werden im allgemeinen bei "Einfügen" auf "Extra als "Rest" einfügen" gesetzt. Später werden sie dann eben "als Rest" separat importiert, im Schaltplan also von der direkten Nähe zum Bauteil getrennt.
Die Bauteilansicht zeigt nun folgendes Bild:
Die ersten vier Anschlüssegehören zu ICa, die weiteren (ab Pin 5) gehören zu ICb. Dies soll nur als Beispiel dienen, gibt also für dieses Bauteil keinen Sinn. Machen Sie den Vorgang einfach wieder rückgängig, indem Sie die Zeile Symbol b... einfach löschen.
Der Bauteilassistent gibt nur viereckige Umrisse aus, andere Formen können später von Hand gezeichnet und ausgetauscht werden. Nachdem Sie alle Pins korrekt editiert haben, erzeugen Sie das Bauteil in die definierte Bibliothek.
Reihenfolge der Pins sortieren
Neues Beispiel:
Falls Sie die Reihenfolge der Pins in Unordnung gebracht haben (Unabhängig vom Pin-Namen)...
können Sie die Funktion
benutzen um die Nummerierung in Reihe zu bringen (beachten Sie die Pin Namen rechts).
Siehe auch Gehäuseassistent
Zurück zu Bauteilerstellung
.