vorhergehende Seite nächste Seite Inhaltsangabe

42. Das hierarchische Symbol


Ein Sägezahngenerator dient als Testschaltung
Anlegen eines hierarchischen Symbols
Einsetzen des hierarchischen Symbols
Ein hierarchisches Symbol in einem fremden Projekt einsetzen

Bisher hatten Sie hierarchische Blöcke kennen gelernt. Diese hatten gegenüber den Unternetzwerken den Vorteil, dass sich hinter den Block eine nachvollziehbare, zeichnerische Darstellung einer Schaltung verbirgt und nicht etwa eine schwer lesbare Netzliste, wie das bei den Unternetzwerken der Fall ist. Von Nachteil bei den hierarchischen Blöcken ist allerdings, dass Sie nicht in anderen Projekten bzw. Designs verwendet werden können. Hierarchische Symbole hingegen lassen sich auch in anderen Projekten einsetzen und die Symbole sind mit zeichnerischen Darstellungen verknüpft. Leider ist das Erzeugen eines hierarchischen Symbols keine leichte Aufgabe.

Ein Sägezahngenerator dient als Testschaltung

Der nachfolgend abgebildete triggerbare Sägezahngenerator soll als hierarchisches Symbol abgespeichert werden und dient als Testschaltung. V1 liefert die Speisespannung und V2 ist die Impulsquelle für das Triggersignal. Die Ausgangsspannung liegt am Kollektor des Transistors Q1:


Der Sägezahngenerator soll ohne die Quellen als hierarchisches Symbol abgespeichert werden (hs1 bzw. hs1.zip).

Die Untersuchung im Zeitbereich bis 200 us zeigt sowohl den Sägezahn am Ausgang als auch das Triggersignal:


Der Sägezahn am Ausgang (Kollektor des Transistors) und das Triggersignal. Simulieren Sie bis 200 us und lassen Sie die Arbeitspunktbestimmung aktiviert, obwohl es sich um eine Oszillatorschaltung handelt.


Anlegen eines hierarchischen Symbols

Kopieren Sie die Schaltung mit "Paste and Copy" in ein neues, leeres Projekt, wie es das nachfolgende Bild zeigt:


Die Schaltung wurde in ein neues Projekt umkopiert. Taufen Sie das Design, das vorher SCHEMATIC1 lautete, in "saegezahn" um. Dann setzen Sie 4 hierarchische Ports für die 4 Anschlüsse des zukünftigen hierarchischen Blocks.

Taufen Sie das Design, das ursprünglich "SCHEMATIC1" lautete, in "saegezahn" um, wie es die linke Markierung im Bild zeigt. Dann bedienen Sie sich der hierarchischen Ports, welche Sie über den markierten Knopf in der rechten Werkzeugleiste aufrufen können. Mit diesen Ports sorgen Sie für die 4 Anschlüsse AUS = Sägezahnausgang, MASSE = Masseanschluss, Trigger = Triggereingang und UB = Spannungsversorgung. Dadurch wird Ihr hierarchisches Symbol 4 Anschlüsse erhalten.

Nach dieser Arbeit klicken Sie auf das Projektfenster, damit es in den Vordergrund rückt:


Klicken Sie nun auf das Projektfenster, damit es in den Vordergrund rückt.

Dann erst gehen Sie in die Menüleiste von Capture und rufen "File - New - Library" auf:


Wenn das Projektfenster sich im Vordergrund befindet, rufen Sie in der Menüleiste von Capture wie abgebildet "File - New - Library" auf.

Wenn Sie dies gemacht haben, erkennen Sie im Projektfenster, dass sich unter Library eine library1.olb gebildet hat:


Es hat sich im Projektfenster eine library1.olb gebildet. Diese sollen Sie noch umtaufen.

Taufen Sie diese library1.olb in saegezahn.olb um, indem Sie mit der rechten Maustaste ein kleines Fenster öffnen, in welchen Sie "Save As..." anklicken. Achten Sie beim Umtaufen darauf, dass sich diese OLB-Datei in jenem Ordner befindet, indem sich auch Ihr Projekt befindet.

Rufen Sie nun das Symbolzeichenprogramm auf. Klicken Sie dazu die saegezahn.olb wieder mit der rechten Maustaste an, und klicken Sie dann im kleinen Fenster "New Part" an:


Klicken Sie "New Part" an, um das Symbolzeichenprogramm aufzurufen.

Bevor Sie in dem Symbolzeichenprogramm ein neues Symbol zeichnen können, müssen Sie noch einige Fenster bearbeiten:


Tragen Sie unter "Name" hier im Beispiel "oben" ein. Diese Bezeichnung wurde aus didaktischen Gründen gewählt und erscheint später im Part-Browser. Statt "oben" könnten Sie auch "Triggerbarer Sägezahngenerator" eintragen.

Nachdem Sie unter "Name" dem Bauteil einen Namen vergeben haben, der später auch im Part-Browser aufgelistet ist, klicken Sie auf den Knopf "Attach Implementation...", damit sich ein weiteres Fenster öffnet:


Tragen Sie in dieses Fenster unter "Implementation" "saegezahn" ein. Unter "Implementation Type" wählen "Schematic View" aus.

Nachdem Sie unter "Implementation Type" "Schematic View" ausgewählt haben und als "Implementation" "saegezahn" gewählt haben, schließen Sie dieses Fenster mit "OK", und das andere , was noch vorhanden ist, ebenfalls mit "OK", so dass der Symbol-Editor endlich zum Vorschein kommt:


Mit dem Symbol-Editor zeichnen Sie das Symbol für den Sägezahngenerator, das 4 Anschlüsse erhält.

Die Symbole für die Anschlüsse holen Sie sich über den oberen der hier in der Werkzeugleiste gekennzeichneten Knöpfe. Vergeben Sie diesen Anschlüssen Namen, die mit den von Ihnen vergebenen Bezeichnungen der hierarchischen Ports identisch sind. Vergessen Sie nicht dem Symbol auch einen Rahmen zu vergeben, den Sie mit dem unteren der gekennzeichneten Knöpfe aufrufen. Der gestrichelte Rahmen stellt ja nur eine Orientierungshilfe dar, die später im Schaltbild nicht sichtbar ist.

Ihr Symbol sollte dann ungefähr so aussehen:


So oder so ähnlich sollte Ihr Symbol aussehen. Achten Sie darauf, dass die Anschluss-Namen identisch mit den von Ihnen gewählten Bezeichnungen der hierarchischen Ports sind. Dort, wo ursprünglich "Value" stand, können Sie noch "Sägezahngenerator" eintragen.

Vergessen Sie nicht das Symbol abzuspeichern.


Einsetzen des hierarchischen Symbols

Dieses hierarchische Symbol sollen Sie nun in einem Schaltbild einsetzen. Dazu müssen Sie im gleichen Projekt ein neues, noch leeres Schaltbild schaffen:


Klicken Sie mit der rechten Maustaste auf "hs2.dsn" und dann auf  "New Schematic", um ein neues, noch leeres Fenster für ein Schaltbild anzulegen.

Vergeben Sie dem neuen Schaltbild den Namen "oben". Dem neuen Schaltbild müssen Sie nun eine Seite (Page) hinzufügen, weil diese leider nicht automatisch erzeugt wird:


Vergeben Sie dem neuen Schaltbild "oben" eine Seite (New Page), indem Sie mit der rechten Maustaste auf "oben" klicken und dann "New Page" anklicken.

Sie haben nun zwei Schaltpläne "saegezahn" und "oben" in Ihrem Projektfenster. Wie Sie an dem Schrägstrich erkennen können, befindet sich "saegezahn" in der oberen Hierarchie-Ebene und "oben" in der unteren:


Das Schaltbild "saegezahn befindet sich in der oberen Hierarchie-Ebene und das Schaltbild "oben" in der unteren.

Sie sollen nun dafür sorgen, dass "oben" die obere Hierarchie-Ebene bildet und "saegzahn" die untere. Dazu müssen Sie

zuerst auf das Diskettensymbol (Save document), welches sich in der oberen Werkzeugleiste befindet, klicken. Nach dem Abspeichern, das Sie nicht vergessen dürfen, da sonst eine Fehlermeldung erscheinen wird, klicken Sie mit der rechten Maustaste "oben" an. Danach klicken Sie auf "Make Root":


So verschieben Sie "oben" in die obere Hierarchie-Ebene. Da immer nur ein Schaltbild in der oberen Hierarchie-Ebene sein kann, rutscht "saegezahn" automatisch in die untere Hierarchie-Ebene.

Das Ergebnis muss dann wie folgt aussehen:


Das Schaltbild "oben" befindet sich nun in der oberen Hierarchie-Ebene, welche durch das Symbol mit dem Querstrich gekennzeichnet ist.

Jetzt können Sie endlich Ihr Symbol mit dem Namen "oben", welches sich in der Saegezahn.olb befindet, in das Schaltbild "oben" einsetzen. Benutzen Sie dazu wie gewohnt den Part-Browser:


So finden Sie das hierarchische Symbol und setzen es in das Schaltbild "oben" ein.

Der Name "oben" des hierarchischen Symbols ist etwas unglücklich gewählt. Sie können ihn aber nachträglich in der OLB-Datei ändern.

Nachdem Sie das hierarchische Symbol in die Schaltung eingesetzt haben, müssen Sie per Doppelklick den Property-Editor von des Symbols aufrufen:


Tragen Sie im Property-Editor des hierarchischen Symbols in der Spalte "Primitive" "NO" ein.

Wenn Sie das alles getan haben, können Sie endlich das Schaltbild ergänzen und den Sägezahngenerator simulieren:


Fügen Sie dem Sägezahngenerator die Triggerquelle und die Versorgungsspannungsquelle hinzu. Simulieren Sie dann im Zeitbereich bis 200 us (hs2 bzw. hs2.zip).

Sie können nun weitere Versuche machen und Veränderungen direkt im Unterschaltbild "saegezahn" vornehmen. Verringern Sie zum Beispiel den Ladekondensator C2 auf 1nF, um die Auswirkungen im Hauptschaltbild "oben" zu beobachten. Sie können auch die Schaltung im Unterschaltbild radikal verändern, indem Sie den Kondensator C2 über einen 33kOhm-Widerstand aufladen lassen und nicht mehr mit einem Konstanststrom. Solche Manipulationen wären an einer Netzliste eines Unternetzwerkes schwierig auszuführen:


C2 wird nun über R2 aufgeladen. Solche großen Veränderungen wären an einer Netzliste eines Unternetzwerkes schwierig (hs3 bzw. hs3.zip).


Ein hierarchisches Symbol in einem fremden Projekt einsetzen

Bisher haben wir die Saegezahn.olb nur im gleichen Projekt verwendet. Sie können die Symbole dieser Saegezahn.olb, welche Sie unter im Ordner olb bzw. in der olb.zip finden, auch in fremden Projekten einsetzen. Vorher müssen Sie allerdings noch eine absolute Pfadangabe in das Symbol eintragen, damit das Symbol auch sein Unterschaltbild findet:


So vergeben Sie dem Symbol eine Pfadangabe: Ziehen Sie die Saegezahn.olb mit Drag and Drop auf das noch leere Capture-Fenster. Dann klicken Sie mit der rechten Maustaste auf das Symbol "oben", um dann mit "Edit Part" das Symbol aufzurufen. Nun klicken Sie doppelt neben dem Symbol, um das Fenster "User Properties" aufzurufen. In diesem Fenster tragen Sie unter "Implementation Path" den vollständigen Pfad (z.B. E:\cd\kurs\kap34\hs2\hs2.dsn) derjenigen DSN-Datei ein, in der sich das Unterschaltbild des Symbols befindet. Danach speichern Sie alles ab.

Das AVI-Video pfad.avi führt Ihnen diesen Vorgang vor. In diesem Video wird zusätzlich noch der Name des Symbols verändert.

Nun können Sie über den Part-Browser das hierachische Symbol in ein leeres Projekt einsetzen. Damit eine Simulation gelingt, dürfen Sie allerdings nicht vergessen im Property-Editor des Symbols den Eintrag in der Spalte "Primitive" von "DEFAULT" auf "NO" zu setzen:


Wenn Sie vergessen die Spalte "Primitive" von "DEFAULT" auf "NO" zu setzen, kann die Simulation nicht funktionieren.

Jetzt können Sie die Schaltung ergänzen und wie gewohnt simulieren. Sollte wegen einer falschen Pfadangabe die Simulation scheitern, erscheint am hierarchischen Symbol ein grüner Kreis:


Der grüne Kreis am Symbol signalisiert, dass die Pfadangabe falsch ist. Wenn Sie auf den Kreis klicken, erfahren Sie mehr über den Grund des Fehlers.

Die Pfadangabe können Sie auch direkt im Property-Editor unter "Implementation Path" ändern. Übrigens müssen Sie den grünen Kreis von Hand entfernen. Er bleibt nämlich trotz eines beseitigten Fehlers sichtbar.

Weiter zum nächsten Abschnitt