# Starten der Kombinatorik

Die Hauptfunktionen des Kombinatorikmoduls sind über ein einziges Dialogfenster zu erreichen. In diesem Fenster lassen sich Wahrheitstabellen und boolesche Ausdrücke bearbeiten. Dieses Fenster läßt sich auf zweierlei Weise öffnen.

## Über das Fenstermenü

Wählen Sie den Punkt Kombinatorik und das Fenster des Kombinatorikmoduls wird geöffnet. Wenn Sie das Fenster zum ersten Mal aufrufen, wird es keinerlei Schaltungsdetails enthalten.

Unabhängig davon, wieviele Logisim-Projekte Sie gleichzeitig geöffnet haben, so wird es nur ein gemeinsames Kombinatorikfenster geben. Es gibt keine Möglichkeit, gleichzeitig mit mehreren Kombinatorikfenstern zu arbeiten.

## Über das Projektmenü

Aus dem Bearbeitungsfenster einer Schaltung heraus, können Sie Logisim dazu veranlassen, diese Schaltung zu analisieren, indem Sie die Funktion "Schaltung analysieren" aus dem Projektmenü aufrufen. Bevor Logisim das entsprechende Fenster öffnet, wird das Programm die booleschen Ausdrücke und die Wahrheitstabelle der dargestellten Schaltung berechnen. Diese werden Ihnen dann im Dialogfenster angezeigt.

Damiut diese Analyse erfolgreich durchgeführt werden kann, muß jeder Eingang der Schaltung an einen Eingangspin und jeder Ausgang an einen Ausgangspin angeschlossen sein. Logisim ist nur in der Lage, Schaltungen mit bis zu jeweils acht Ein- und Ausgängen zu analysieren. Diese Pins müssen Einzelbitanschlüsse sein. Anderenfalls wird Ihnen eine entsprechende Fehlermeldung angezeigt werden, und das Kombinatorikfenster wird nicht geöffnet.

Bei der Erstellung der booleschen Ausdrücke zur Funktion einer Schaltung, wird Logisim zunächst von der exakten Abfolge der Gatter in der Schaltung ausgehen. Aber wenn die Schaltung komplexere Bauelemente (z.B. Multiplexer) enthält, oder wenn die Schaltung mehr als 100 Ebenen aufweist (was ziemlich unwahrscheinlich sein dürfte), dann wird Ihnen in einem entsprechenden Fenster angezeigt, daß Logisim nicht in der Lage war, die booleschen Ausdrücke herzuleiten. Stattdessen wird Logisim dann neue Ausdrücke aus der Wahrheitstabelle ableiten, die durch ein konsequentes Durchtesten aller möglichen Eingangskombinationen erstellt wird.

Nach erfolgter Analyse der Funktion der Schaltung, existiert keine weitere Verbindung zwischen der ursprünglichen Schaltung und dem Kombinatorikfenster mehr. Das bedeutet insbesondere, daß spätere Änderungen an der Schaltung nicht im Kombinatorikfenster berücksichtigt werden, und daß Änderungen an der Wahrheitstabelle oder der booleschen Ausdrücke im Kombinatorikfenster keinerlei Einfluß auf die ursprüngliche Schaltung haben. Natürlich steht es Ihnen jederzeit frei, die Schaltung erneut analysieren zu lassen. Und wie wir später sehen werden, so können Sie die bestehende Schaltung durch eine neue Schaltung ersetzen lassen, die auf den aktuellen Werten des Kombinatorikfensters basiert.

## Begrenzungen

Logisim wird nicht versuchen, die genaue Funktion einer sequentielle Schaltung zu analysieren: wenn Sie dennoch eine solche Schaltung anaIysieren lassen, so wird das Programm zwar eine Wahrheitstabelle und die zugehörigen booleschen Ausdrücke erstellen, aber diese werden das wirkliche Verhalten der Schaltung nicht korrekt wiedergeben. (Es läßt sich beweisen, daß eine Analyse einer sequentiellen Schaltung nicht möglich ist, da dies einer Lösung des Halteproblems gleichkommt. Natürlich würden Sie erwarten, daß Logisim zumindest versuchen würde, z.B. nach Flip-Flops oder rückgeführten Leitungen zu suchen - aber das amcht das Programm nicht.) Daher sollten Sie die kombinatorische Analyse nicht unkritisch benutzen: Nur wenn Sie sicher sind, daß Ihre Schaltung wirklich kombinatorisch ist, sollten Sie diese Funktion benutzen!

Logisim wird Änderungen an Ihrer Schaltung vornehmen, die Sie vielleicht nicht erwarten würden: die kombinatorische Analyse erfordert, daß jeder Ein- und Ausgang einen eindeutigen Namen besitzt, der den Regeln für Bezeichner unter Java genügt. (Grob gesagt muß jedes Zeichen entweder ein Buchstabe oder eine Ziffer sein, und das erste Zeichen muß ein Buchstabe sein. Keine Leerzeichen sind erlaubt!) Das Programm versucht zunächst, bereits vorhandene Bezeichnungen zu verwenden. Wenn keine Bezeichnung existiert, wird eine intern vorgegebene Liste mit Bezeichnungen verwendet. Wenn eine existierende Bezeichnung nicht den Anforderungen an einen Java-Bezeichner genügt, wird Logisim versuchen, soweit möglich, aus der vorhandenen Bezeichnung einen gültigen Namen zu erzeugen.

Übrigens hängt die Reihenfolge der Eingänge in der Wahrheitstabelle von der Position der Eingänge in der Schaltung ab, von links nach rechts und von oben nach untern. (Dasselbe gilt auch für die Reihenfolge der Ausgänge.)

Weiter: Bearbeiten der Wahrheitstabelle .