Aus Raspberry Pi Geek 06/2018

Digitale Schaltungen mit Logisim simulieren (Seite 2)

Abbildung 2: Die Einträge für die Eingänge erledigt Logisim automatisch. Sie müssen sich lediglich um das Ergebnis der Ausgänge kümmern.

Abbildung 2: Die Einträge für die Eingänge erledigt Logisim automatisch. Sie müssen sich lediglich um das Ergebnis der Ausgänge kümmern.

Zu guter Letzt legen Sie fest, wie Logisim die Funktion minimieren soll – Sie haben hier die Wahl zwischen Sum of Products oder Product of Sums. In unserem Beispiel verwenden wir Sum of Products. Sobald Sie im Reiter Minimierung die Entscheidung getroffen haben (Abbildung 3), wechseln Sie zum Tab Ausdruck. Dort erscheinen die minimierten Versionen der beiden Funktionen, mit denen sich die Schaltung realisieren lässt (Abbildung 4).

Abbildung 3: Im Tab »Minimierung« legen Sie die Normalform der Funktion fest.

Abbildung 3: Im Tab »Minimierung« legen Sie die Normalform der Funktion fest.

Abbildung 4: Hier vereinfacht Logisim die Funktion des Ausgangs »b« aus unserem Beispiel.

Abbildung 4: Hier vereinfacht Logisim die Funktion des Ausgangs »b« aus unserem Beispiel.

Bevor Sie das Fenster Kombinatorik verlassen, klicken Sie auf den Schalter Schaltung aufbauen und vergeben einen Namen für die neue Schaltung (Abbildung 5). Anschließend zeichnet Logisim für Sie die Schaltung, wobei es die Wahrheitstabelle als Basis verwendet (Abbildung 6). Auf der linken Seite des Übersichtsfensters greifen Sie bei Bedarf durch einen Doppelklick auf die erstellten Schaltungen zu.

Abbildung 5: Logisim kann die Schaltung wahlweise mit Gattern aus zwei Eingängen oder nur mit NAND-Gattern zeichnen.

Abbildung 5: Logisim kann die Schaltung wahlweise mit Gattern aus zwei Eingängen oder nur mit NAND-Gattern zeichnen.

Abbildung 6: Unterhalb des Projektordners mit den Schaltungen stehen die Bauelemente. Sobald Sie ein Bauelement rechts auf dem Zeichenblatt markieren, erscheint links unten das dazugehörige Attributfenster.

Abbildung 6: Unterhalb des Projektordners mit den Schaltungen stehen die Bauelemente. Sobald Sie ein Bauelement rechts auf dem Zeichenblatt markieren, erscheint links unten das dazugehörige Attributfenster.

Mehr Speicher

Abbildung 7: Dieses D-Flipflop hat eine Zeitsteuerung: Es ändert erst dann seinen Zustand, wenn die Uhr auf 1 umschaltet.

Abbildung 7: Dieses D-Flipflop hat eine Zeitsteuerung: Es ändert erst dann seinen Zustand, wenn die Uhr auf 1 umschaltet.

Bei Flipflops hingegen zaubert das Kombinatorik-Fenster keine Schaltung hervor – das klappt nur mit Handarbeit. Als Beispiel soll hierfür ein flankengetriggertes D-Flipflop dienen. Zunächst vergeben Sie einen Namen für die Schaltung, indem Sie auf der linken Seiten einen Rechtsklick auf den Projektnamen machen und Schaltung hinzufügen auswählen. Logisim erzeugt daraufhin ein leeres Zeichenblatt, auf das Sie die Bauelemente ziehen können.

Unterhalb der importierten beziehungsweise erstellten Schaltungen finden Sie die zur Verfügung gestellten Bauelemente. Flipflops tauchen hier im Register Speicher auf. Durch einen Klick auf das Leitungssymbol links vom Register öffnet sich dieses und Sie können das D-Flipflop bei gedrückter linker Maustaste auf das Zeichenblatt ziehen.

Zusätzlich stellt Logisim Attribute zu den Bauelementen bereit, die unterhalb des Übersichtsfensters erscheinen, sobald Sie das Bauelement mit der linken Maustaste markieren. Unser D-Flipflop soll nur reagieren, wenn die Uhr den Wert 1 aufweist. Daher setzen Sie das Attribut Trigger auf steigende Flanke.

Danach markieren Sie mit der Maus das Bauelement und erstellen ein Duplikat, indem Sie mit [Strg]+[C] das Element kopieren und mit [Strg]+[V] ins Duplikat einfügen. Die Attribute kopiert Logisim dabei mit, sodass Sie sie nicht erneut anzupassen brauchen.

Zusätzlich benötigen Sie Ein- und Ausgabepins sowie eine Uhr, die sich im Register Wiring findet. Hinzu kommt ein Inverter aus dem Register Gatter. Nachdem Sie die Bauelemente auf das Zeichenblatt gezogen haben, lässt sich deren Ausrichtung ändern. Üblicherweise zeigen die Ein- und Ausgabepins in entgegengesetzte Richtungen. Darüber hinaus sollten Sie bei den Ausgabepins das Attribut Ausgang auf logisch Ja setzen.

Eine Wahrheitstabelle brauchen manuell erstellte Schaltungen nicht. Liegen erst einmal alle Zeichenelemente auf dem Zeichenblatt, verbinden Sie sie stattdessen miteinander. Dazu fahren Sie mit dem Mauszeiger über die Ein- beziehungsweise Ausgänge eines Bauelements, klicken darauf und ziehen eine Leitung bis zum nächsten Ein- beziehungsweise Ausgang. Um eine Leitung mit Ecken zu zeichnen, erstellen Sie zunächst eine Gerade und lassen dann die Maustaste los, um anschließend in eine andere Richtung weiterzuzeichnen.

Es empfiehlt sich außerdem, die einzelnen Bauelemente zu beschriften, sodass andere Anwender der Schaltung erkennen können, was die Bauelemente bedeuten. Dazu klicken Sie oben in der Menüleiste auf das Buchstaben-Icon und setzen anschließend den Cursor auf das Zeichenblatt, um den Namen einzugeben.

Die Multiplex-Connection

In Multiplex-Kinos strömen die Leute am Eingang hinein und lassen sich im gewünschten Kinosaal nieder. So ähnlich funktioniert das auch bei einem n-Bit-Multiplexer. Wir sehen uns hier jedoch einen Encoder näher an, mit dem es sich so ähnlich verhält wie mit dem Ende eines Kinoabends: Die Besucher (Daten) verlassen die einzelnen Kinosäle und nehmen anschließend den Ausgang des Kinos, um aus dem Gebäude herauszukommen.

Die elektronische Parallele, einen 1-Bit-Multiplexer (Abbildung 8), zeichnen Sie wiederum über das Kombinatorik-Fenster. Dazu erstellen Sie wie gehabt zunächst die passende Wahrheitstabelle und klicken dann auf Schaltung aufbauen. Im sich daraufhin öffnenden Fenster wählen Sie NAND-Gatter aus und vergeben einen Namen für die Schaltung.

Abbildung 8: Eine logische Schaltung wie der 1-Bit-Multiplexer lässt sich nur mithilfe von NAND-Gattern realisieren.

Abbildung 8: Eine logische Schaltung wie der 1-Bit-Multiplexer lässt sich nur mithilfe von NAND-Gattern realisieren.

Um einen Multiplexer manuell zu erstellen, klicken Sie auf der linken Seite auf Auswahlschaltungen | Multiplexer und ziehen das Bauelement auf das Zeichenblatt. Für einen 2-Bit-Multiplexer benötigen Sie zwei Datenleitungen und ein Datenbit; diese Einstellungen nehmen Sie am besten im Attributfenster vor. Hinzu kommen vier Eingänge, ein weiterer Eingang für den Selektorpin sowie ein Ausgang. Dazu verbinden Sie die Eingabepins mit den Eingängen des Multiplexers.

Das Steuersignal – es findet sich am unteren Ende des Multiplexers – besteht in unserem Beispiel aus zwei Bits. Sie können die Anzahl der Bits wieder über das Attributfenster ändern. Für den Ausgang bietet sich diesmal eine LED an, die Sie unter Eingabe/Ausgabe | LED finden.

Abbildung 9: Bei diesem Multiplexer stehen die Eingänge auf der linken Seite und das Steuerpin unten. Der Ausgang wird durch die LED realisiert, die sich rechts vom Multiplexer befindet.

Abbildung 9: Bei diesem Multiplexer stehen die Eingänge auf der linken Seite und das Steuerpin unten. Der Ausgang wird durch die LED realisiert, die sich rechts vom Multiplexer befindet.

Teile und herrsche

Beim Programmieren achtet man darauf, Code wiederzuverwenden, indem man Funktionen nutzt. Bei Logisim ist das nicht anders: Was der Programmierer Funktionen oder Methoden nennt, heißt unter Logisim Teilschaltung.

DIESEN ARTIKEL ALS PDF KAUFEN
EXPRESS-KAUF ALS PDFUmfang: 6 HeftseitenPreis €0,99
(inkl. 19% MwSt.)
RASPBERRY PI GEEK KAUFEN
EINZELNE AUSGABE Print-Ausgaben Digitale Ausgaben
ABONNEMENTS Print-Abos Digitales Abo
TABLET & SMARTPHONE APPS Raspberry Pi Geek bei Google Play Readly Logo
Nach oben