Digitale Schaltungen simulieren und erstellen - Erik Bartmann - E-Book

Digitale Schaltungen simulieren und erstellen E-Book

Erik Bartmann

0,0

Beschreibung

Das Buch bietet einen fundierten und zugleich praxisnahen Einstieg in die Welt der Digitaltechnik. Schritt für Schritt vermittelt Erik Bartmann die Grundlagen digitaler Schaltungen – von Bits und Logikgattern über Zahlensysteme und binäre Operationen bis hin zu komplexeren Baugruppen wie Zählern, Multiplexern, Speichern und der ALU. Im Mittelpunkt steht das didaktisch bewährte Konzept des Lernens durch Simulation. Mit der Open-Source-Software Logisim-evolution werden digitale Schaltungen anschaulich entwickelt, getestet und analysiert. Ergänzend dazu ermöglichen praxisorientierte Experimente den direkten Bezug zur realen Hardware und schlagen die Brücke zwischen Theorie und Anwendung. Nach einer Einführung in logische Grundgatter (AND, OR, NOT, XOR, XNOR) und deren Kombinationen behandelt das Buch systematisch Zahlensysteme, Halb- und Volladdierer, KV-Diagramme sowie Rechenoperationen inklusive Addition, Subtraktion und Multiplikation. Es folgen vertiefende Kapitel zu Flipflops, Registern, Zählern, Komparatoren und Speichern (RAM, ROM), bevor mit der konkreten Umsetzung einer arithmetisch-logischen Einheit (ALU) ein zentraler Baustein moderner Prozessorarchitekturen erarbeitet wird. Praxisprojekte wie eine LED-Matrix, ein elektronischer Würfel oder eine Ampelsteuerung verdeutlichen die Anwendung des Erlernten. Darüber hinaus gewährt das Buch Einblicke in TTL-Bausteine der 74xx-Reihe sowie in die Transistor- und FET-Logik und vermittelt damit ein tieferes Verständnis der physikalischen Grundlagen digitaler Schaltungen. Das Werk richtet sich an Studierende technischer Fachrichtungen, Auszubildende im Bereich Elektrotechnik und Informatik sowie an alle, die sich strukturiert und praxisorientiert in die Digitaltechnik einarbeiten möchten. Durch die klare Darstellung, zahlreiche Experimente und konsequente Visualisierung mit Logisim-evolution wird komplexe Digitaltechnik nachvollziehbar, greifbar und anwendungsorientiert vermittelt.

Sie lesen das E-Book in den Legimi-Apps auf:

Android
iOS
von Legimi
zertifizierten E-Readern
Kindle™-E-Readern
(für ausgewählte Pakete)

Seitenzahl: 327

Veröffentlichungsjahr: 2026

Das E-Book (TTS) können Sie hören im Abo „Legimi Premium” in Legimi-Apps auf:

Android
iOS
Bewertungen
0,0
0
0
0
0
0
Mehr Informationen
Mehr Informationen
Legimi prüft nicht, ob Rezensionen von Nutzern stammen, die den betreffenden Titel tatsächlich gekauft oder gelesen/gehört haben. Wir entfernen aber gefälschte Rezensionen.



Digitale Schaltungen simulieren und erstellen

Digitaltechnik verstehen mit Logisim-evolution

Erik Bartmann

Bombini Verlag

2026-01-31

© 2026 Bombini Verlag – Alle Rechte vorbehalten

Inhalt

Impressum

1

 Einführung

1.1

 Was sind Bits und Gatter?

1.1.1

 Die UND-Schaltung

1.1.2

 Die ODER-Schaltung

1.1.3

 Die NICHT-Schaltung

2

 Digitaltechnische Grundlagen

2.1

 Ein FPGA-Board

2.2

 Die Logik-Gatter

2.2.1

 Die Grundgatter

2.2.2

 Die Boolesche Algebra

2.3

 Das UND-Gatter (AND-Gate)

2.3.1

 Was sagt Logisim zum UND-Gatter

2.4

 Das ODER-Gatter (OR-Gate)

2.4.1

 Was sagt Logisim zum ODER-Gatter

2.5

 Das NICHT-Gatter (NOT-Gate)

2.5.1

 Was sagt Logisim zum NICHT-Gatter

2.6

 Die zusammengesetzten Gatter

2.6.1

 Das NAND-Gatter (NAND-Gate)

2.6.2

 Was sagt Logisim zum NAND-Gatter

2.6.3

 Das NOR-Gatter (NOR-Gate)

2.6.4

 Was sagt Logisim zum NOR-Gatter

2.7

 Die Gatterpegel im Überblick

2.8

 Die Programmierung des FPGA

2.9

 Die Logic Blocks

2.9.1

 Die Lookup-Table

2.9.2

 Die Switching Blocks

2.9.3

 Die Input-/Output-Blocks

2.9.4

 Der Multiplexer

2.10

 Ein erstes FPGA-Experiment

2.10.1

 Schritt 1 – Der Start des FPGA-Prozesses

2.10.2

 Schritt 2 – Die Wahl des Zielboards

2.10.3

 Schritt 3 – Die Handhabung der Komponenten

2.10.4

 Schritt 4 – Der Beginn des Mappings

2.10.5

 Schritt 5 – Der Start des Syntheseprozesses

2.10.6

 Schritt 6 – Der Download des Codes auf das Board

3

 Unterschiedliche Zahlensysteme

3.1

 Das Dezimalsystem

3.2

 Das Binärsystem

3.3

 Das Hexadezimalsystem

3.4

 Die Darstellung unterschiedlicher Zahlensysteme

3.5

 Ein Experiment mit Logisim

3.6

 Ein FPGA-Experiment

4

 Binäre Operationen

4.1

 Eine binäre Addition – Halbaddierer

4.2

 Die Addition mehrerer Binärwerte - Volladdierer

4.3

 Was sind KV-Diagramme

4.3.1

 Minterme und Maxterme

4.3.2

 Schaltungsminimierung mit einem KV-Diagramm

4.3.3

 KV-Diagramm mit drei Eingangsvariablen

4.3.4

 KV-Diagramm mit vier Eingangsvariablen

4.3.5

 Die Überprüfung der vereinfachten Logik

4.3.6

 Die Modularisierung in Logisim

4.4

 Die Erstellung von einem Halb- und Volladdierer

4.5

 Negative Werte

4.6

 Die Subtraktion von Binärwerten

4.7

 Die wahlweise Addition und Subtraktion

4.8

 Die Multiplikation

4.9

 Eine Vereinfachung durch Logisim

4.10

 Bitweise Operationen

4.10.1

 Die Bitweise UND-Verknüpfung

4.10.2

 Die Bitweise ODER-Verknüpfung

4.10.3

 Die Bitweise XOR-Verknüpfung

4.11

 Die Bitweise Verschiebung

4.11.1

 Die logische Verschiebung nach links

4.11.2

 Die logische Verschiebung nach rechts

4.11.3

 Die arithmetische Verschiebung nach rechts

4.11.4

 Die Rotation nach links

4.11.5

 Die Rotation nach rechts

4.12

 Ein Ausblick auf nächste Kapitel

5

 Gatterschaltungen im Detail

5.1

 Was kein allzu großes Problem darstellt

5.2

 Etwas kniffliger

5.2.1

 NAND wird zu OR bzw. NOR

5.2.2

 NOR wird zu AND bzw. NAND

5.3

 Das XOR-Gatter (Exklusiv-ODER)

5.4

 Das XNOR-Gatter (Exklusiv-NICHT-ODER)

5.5

 Die Klammerregel

5.5.1

 Warum sind NAND und NOR so grundlegend wichtig?

5.6

 Essentielle digitale Rechenregeln

5.6.1

 Verknüpfung mit einer Konstanten

5.6.2

 Verknüpfung mit einer Konstanten und einem Eingangssignal

5.6.3

 Das Kommunikativgesetz

5.6.4

 Das Assoziativgesetz

5.6.5

 Das Distributivgesetz

5.6.6

 Die De Morganschen Gesetze

5.6.7

 Einfache und doppelte Negation

5.6.8

 Vorrang- und Klammerregel

6

 Flipflops

6.1

 Die Speicherung von Zuständen

6.1.1

 Was für ein Hin und Her

6.2

 Nicht-taktgesteuerte Flipflops

6.2.1

 Eine Schaltung zur Pegelspeicherung

6.2.2

 Das NAND-Flipflop (NAND-Latch)

6.3

 Das Chronogramm

6.4

 Statische und dynamische Eingänge

6.4.1

 Zustandsgesteuertes D-Flipflop

6.4.2

 Taktflanken gesteuertes D-Flipflop

6.5

 Das T-Flipflop

6.5.1

 Eine Teilung durch 3

6.6

 Mehrere Flipflops

6.6.1

 Ein Register als Speicher

6.7

 Ein Asynchronzähler mit dem D-Flipflop

6.8

 Ein Synchronzähler mit dem JK-Flipflop

6.9

 Ein Schieberegister

6.10

 Ein FPGA-Experiment

6.10.1

 Ein Ringzähler

6.11

 Ein JK-Master-Slave-Flipflop

7

 Zähler

7.1

 Ein Kaskadenzähler

7.2

 Manuelles Weiterschalten

7.2.1

 Ein Binärzähler

7.3

 Der BCD-Zähler

7.4

 Die Siebensegmentanzeige

7.4.1

 Die Ansteuerungsvarianten

7.5

 Der Binary-BCD-Converter

7.6

 Ein Rückwärtszähler

7.7

 Ein FPGA-Experiment

8

 Der Multiplexer

8.1

 4-1-MUX (1-Bit)

8.1.1

 Die Simulation mit Logisim

8.2

 4-1-MUX (4-Bit)

8.3

 Das FPGA-Experiment

8.3.1

 Der Schaltungsaufbau

8.4

 Der Demultiplexer

8.4.1

 Die Simulation mit Logisim

8.5

 Das FPGA-Experiment

8.5.1

 Der Schaltungsaufbau

8.6

 Ein Transmission-Gate

9

 Werte vergleichen

9.1

 Der 1-Bit-Komparator

9.1.1

 Die Simulation

9.2

 Der 2-Bit Komparator

9.2.1

 Das KV-Diagramm (A>B)

9.2.2

 Die Simulation (A>B)

9.2.3

 Das KV-Diagramm (A=B)

9.2.4

 Die Simulation (A=B)

9.2.5

 Das KV-Diagramm (A<B)

9.2.6

 Die Simulation (A<B)

9.2.7

 Die Umsetzung

9.2.8

 Der Schaltplan

9.2.9

 Der Schaltungsaufbau

9.3

 Der Zähler-Komparator

10

 Eine LED-Matrix

10.1

 Die Ziffern für die LED-Matrix

10.2

 Die Ansteuerung einer einzelnen Stelle

10.3

 Eine sinnvolle Erweiterung

11

 Der elektronische Würfel

11.1

 Die Würfelaugen

11.1.1

 Die Würfelgruppen

11.2

 Die Kombinatorik

11.3

 Eine erste Alternative

11.4

 Eine zweite Alternative

12

 Speicher in der Datenverarbeitung

12.1

 Registerspeicher

12.2

 Der Arbeitsspeicher – RAM

12.2.1

 Die Ausgabe von Daten

12.3

 Die Visualisierung der Daten

12.3.1

 Das Schreiben von Daten

12.4

 Der Festwertspeicher – ROM

13

 Die Arithmetic Logic Unit

13.1

 Die konkrete ALU

13.1.1

 Eine erste Testschaltung

13.2

 Die Addition – ohne Überlauf

13.3

 Die Addition – mit Überlauf

13.4

 Die Subtraktion – ohne Overflow

13.5

 Die Subtraktion – mit Overflow

14

 Verschiedene Bit-Spielereien

14.1

 Eine einfache Addition

14.2

 Eine einfache Subtraktion

14.2.1

 Schritt 1: Laden des ersten Wertes und Speicherung

14.2.2

 Schritt 2: Einen Takt auslösen

14.2.3

 Schritt 3: Laden des zweiten Wertes und Speicherung

14.2.4

 Schritt 4: Einen Takt auslösen

14.3

 Weitere Bitspielereien

14.3.1

 Die ALU

14.3.2

 Die Register

14.3.3

 Der Datenbus

14.3.4

 Der Programmcode

14.4

 Werte in ein Register kopieren - Teil 1

14.5

 Werte in ein Register kopieren - Teil 2

14.6

 Die einfache Addition aus Registerinhalten

14.6.1

 Das Laden von Reg1 in die ALU

14.6.2

 Die Addition mit Reg0 in der ALU

14.6.3

 Die Speicherung der Addition in Reg2

15

 TTL: Transistor-Transistor-Logik

15.1

 TTL in Logisim-Evolution

15.2

 7400 - Ein 4-fach NAND-Gatter

15.3

 7447 – Ein Binär zu Siebensegmentdekoder

15.4

 7442 – Ein BCD zu Decimal Decoder

15.4.1

 Übersicht über TTL-Bausteine

15.5

 Eine einfache Ampelsteuerung

15.6

 Eine synchrone Teilerschaltung 3:1

15.7

 Wir bauen ein neues TTL-Gatter

15.7.1

 Das TTL 7490 - BCD-Zähler

15.7.2

 Ein BCD-Zähler

15.7.3

 Ein DIV-2-Zähler

15.7.4

 Ein DIV-5-Zähler

15.8

 Das TTL 7493 - Binär-Zähler

15.8.1

 Ein Binärzähler

15.9

 Ein Dekadenzähler

15.10

 Verschiedene Frequenzteilungen mit dem TTL 7493

15.10.1

 Die Teilung 7:1

15.10.2

 Die Teilung 9:1

15.10.3

 Die Teilung 10:1

15.10.4

 Die Teilung 11:1

15.10.5

 Die Teilung 12:1

15.10.6

 Die Teilung 13:1

15.10.7

 Die Kaskadierung

16

 Die Transistorlogik

16.1

 Der Feldeffekt-Transistor

16.1.1

 Eine einleitende Schaltung

16.2

 Ein FET-NAND-Gatter

16.3

 Ein FET-AND-Gatter

16.4

 Ein FET-NOR-Gatter

16.5

 Ein FET-OR-Gatter

16.6

 Ein FET-XOR-Gatter

16.7

 Ein FET-XNOR-Gatter

16.7.1

 Ein wichtiger Nachtrag

17

 Ein Zähler mit bestimmter Zählfolge

17.1

 Die Flipflops

17.1.1

 Der Typ der Flipflops

17.1.2

 Die Zustandsübergänge der JK-Flipflop-Ausgänge

17.1.3

 Die Arbeitstabelle eines JK-Flipflops

17.1.4

 Eine Zustandsänderung von 0 → 0:

17.1.5

 Eine Zustandsänderung von 0 → 1:

17.1.6

 Eine Zustandsänderung von 1 → 0:

17.1.7

 Eine Zustandsänderung von 1 → 1:

17.1.8

 Die Eingänge der JK-Flipflops

17.1.9

 Der J0-Eingang

17.1.10

 Der K0-Eingang

17.1.11

 Der J1-Eingang

17.1.12

 Der K1-Eingang

17.1.13

 Der J2-Eingang

17.1.14

 Der K2-Eingang

17.1.15

 Zusammenfassung und Umsetzung

Title Page

Cover

Table of Contents

Impressum

Die Informationen in diesem Buch wurden mit größter Sorgfalt erarbeitet. Dennoch können Fehler nicht vollständig ausgeschlossen werden. Verlag, Autoren und Übersetzer übernehmen keine juristische Verantwortung oder irgendeine Haftung für eventuell verbliebene Fehler und deren Folgen.

Alle Warennamen werden ohne Gewährleistung der freien Verwendbarkeit benutzt und sind möglicherweise eingetragene Warenzeichen. Der Verlag richtet sich im wesentlichen nach den Schreibweisen der Hersteller. Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt.

Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.

Kommentare und Fragen können Sie gerne an uns richten:

Bombini Verlags GmbH Richard-Wagner-Str. 11 53757 Sankt Augustin E-Mail: [email protected]

Copyright: © 2025 by Bombini Verlag

Bibliografische Information Der Deutschen Nationalbibliothek Die Deutsche Nationalbibliothek verzeichnet diese Publikation in der Deutschen Nationalbibliografie; detaillierte bibliografische Daten sind im Internet über http://dnb.d-nb.de abrufbar.

electronic publication: Bombini-Verlag

ISBN 978-3-946496-52-6

1 Einführung

Als Jugendlicher habe ich mit Begeisterung eine kleine Schachtel mit komischen Bauteilen in die Finger bekommen und ich muss etwas 12 Jahre alt gewesen sein. Für Elektronik habe ich mich schon immer interessiert, doch diese kleinen Kästchen mit vielen Anschlussbeinchen hatten es mir angetan. Mein Vater sagte mir, dass es sich dabei um Gatter-Bausteine für digitale Logik handelt und man mit ihnen recht einfach logische Verknüpfungen umsetzen könnte. Diese Aussage war für mich wie das Feuer an eine Zündschnur legen, die nicht mehr zu löschen war. Digitale Logik war von nun an das Thema. Alles, was Sie in diesem Einführungskapitel lesen, dient lediglich der Heranführung und Bekanntmachung mit dem Thema Digitaltechnik. Lassen Sie sich nicht verwirren, wenn Sie hier und da Fachbegriffe lesen, die Sie noch niemals gehört haben und es nicht so richtig verstehen. Im weiteren Verlauf des Buches gehe ich natürlich auf diese Aspekte genauer ein.

Ich möchte diese Einführung in die Digitaltechnik mit einem sehr nützlichen und mächtigen Programm unterstützen, das sich Logisim evolution nennt. An geeigneten Stellen werde ich dann dieses Programm mit entsprechenden Beispielen aufrufen, die Sie natürlich selbst erstellen oder von meiner Internetseite herunterladen können. Bei Logisim evolution handelt es sich um eine erweiterte und modernisierte Version des ursprünglichen Logisim von Carl Burch. Logisim evolution ist ein kostenloses Werkzeug zur Simulation von digitalen Schaltkreisen und wird sehr häufig im Studium eingesetzt, um die Grundlagen der digitalen Logik und des Schaltungsdesigns zu vermitteln. Die Software ist inklusive Quellcode für die gängigen Betriebssysteme wie Linux, Windows und MacOSX verfügbar und unter dem folgenden Link herunterzuladen.

Logisim evolution

https://github.com/logisim-evolution/logisim-evolution/releases

Dieses Buch ist keine Einführung in die Handhabung von Logisim evolution, denn das Programm bietet sehr gute Hilfe-Funktionen, bei denen alle Punkte im Detail erläutert werden.

Abbildung 2.1:

Die Hilfe-Funktionen in Logisim evolution

Leider wechselt die Sprache zeitweise zwischen deutsch und englisch, doch das sollte kein allzu großes Problem darstellen. Vielleicht ändert sich das in Zukunft und meine Aussage ist Schnee von gestern!

Die digitale Logik bezieht sich auf bestimmte theoretische Grundlage und das vorliegende Buch behandelt die Theorie der digitalen Logik und umfasst sowohl die binäre Mathematik, die Logik auf Gatterebene, als auch die Boolesche Algebra inklusive der Vereinfachung boolescher Ausdrücke. Werden diese Basisthemen und deren Konzepte verinnerlicht, ist es nur noch ein kurzer Schritt, hin zu den kombinatorischen und sequentiellen Logikschaltungen.

Wenn es um Computer geht und wie sie arbeiten, dann kommt man um die digitale Logik nicht herum, die sich im Grunde damit befasst, wie elektronische Geräte überhaupt Entscheidungen treffen können. Auf der untersten Ebene der Verarbeitung wird mit Bits und Bytes hantiert, wobei die kleinste Informationseinheit eben das genannte Bit ist. An oder Aus ist hier die Frage. Darüber werden die elektronischen Geräte programmiert und gesteuert. Die Grundlage der digitalen Logik ist die Boolesche Algebra, was ein mathematisches Modell zur Beschreibung logischer Funktionen eines Schaltkreises ist. Angefangen bei UND-Gattern, ODER-Gattern, NICHT-Gattern, um nur wenige zu nennen, werden diese dann zu Gruppen komplexer Schaltungen zusammengefasst, um Rechenwerke zu realisieren, die addieren, subtrahieren und vieles andere mehr können. Diese bilden wiederum die Grundlage für Schaltungen, um fortgeschrittene Entscheidungsaufgaben zu bewältigen.

Die digitale Logik findet Einsatz in unterschiedlichen Bereichen wie zum Beispiel der Kommunikation, der Raumfahrt, in der Medizin oder dem Finanzwesen. Um bestimmte Aufgaben oder Problemlösungen zu bewältigen, müssen wir uns nicht mehr dem schon genannten An oder Aus widmen, sondern dem Wahr oder Falsch. Wir können sagen, dass sich die digitale Logik in zwei große Klassen unterteilen lässt.

Die Kombinatorische Logik: Es werden lediglich die Ausgänge in Abhängigkeit der Eingangszustände zu einem bestimmten Zeitpunkt bestimmt, ohne, dass eine zeitliche Betrachtung an frühere Zustände erfolgt. Ein Beispiel für eine kombinatorische Schaltung ist eine einfache Addierschaltung, bei dem der Ausgang Q nur durch die Werte von Eingängen A und B bestimmt wird.

Die Sequentielle Logik: Die Ausgänge werden sowohl von den aktuellen, als auch von früheren Eingangspegeln abhängen, was eine Art von Speicher voraussetzt. Ein markantes Beispiel für eine sequentielle Schaltung ist eine Zählerschaltung, bei der ein erfasstes Ergebnis zu einem im Speicher enthaltenen Gesamtwert hinzugefügt wird.

Was sind digitale Signale?

Ein Digitalsignal ist ein Signal, welches durch diskrete Werte repräsentiert wird und eine zeitliche Entwicklung beschreibt. Im Gegensatz zu analogen Signalen, die kontinuierlich und in einem theoretisch unbegrenzten Bereich variieren können, sind digitale Signale auf zwei Zustände beschränkt, die gewöhnlich mit 0 (Low-Pegel) oder 1 (High-Pegel) beschrieben werden.

Ohne eine Spannung und ein fließender Strom läuft bei elektronischen Schaltungen überhaupt nichts. Der nachfolgende sehr einfache Schaltplan zeigt uns, wie so etwas funktioniert. Es handelt sich hierbei schon um eine gewisse logische Abgängigkeit mit einer Wenn-Dann-Beziehung. Wenn der Schalter geschlossen wird, dann fließt der Strom und die Lampe leuchtet.

Abbildung 2.2:

Die Ansteuerung einer Lampe

In der Abbildung ist eine Batterie über den Schalter S mit der Lampe verbunden. Erst, wenn der Schalter geschlossen ist, fließen die Elektronen vom Minuspol der Batterie über den Schalter und die Lampe und zurück zum den positiven Batteriepol. Nun kann man mit geeigneten Schaltungen auch die schon genannten Grundgatter UND, ODER und NICHT realisieren, was in den frühen Tagen der Entwicklung von Computern zur Realisierung von Gattern mit Relais auf diese Weise gemacht wurde.

Was sind Logikgatter?

Ein logisches Gatter - auch nur Gatter (engl. logic gate) genannt - ist eine Anordnung einer elektronischen Schaltung zur Realisierung einer booleschen Funktion. Eine boolesche Funktion bedeutet in diesem Fall eine Verknüpfung von Wahrheitswerten, die als Ergebnis ebenfalls einen Wahrheitswert wie

wahr

oder

falsch

liefert.

Ich möchte mich jedoch den Logikgattern widmen, die in integrierten Schaltkreisen beheimatet sind. Dennoch möchte ich es nicht versäumen, ein kleines Einführungsbeispiel einer logischen ODER-Verknüpfung zu zeigen, die aus zwei Transistoren zusammengesetzt ist. Diese Transistoren repräsentieren im Grunde genommen zwei mechanische Schalter.

Abbildung 2.3:

Ein Oder-Gatter mit Schaltern und Transistoren - Schaltungssimulation

Weist einer der beiden Eingänge einen High-Pegel vor, geht der Ausgang auf einen High-Pegel. Die Logiktabelle für ein Oder-Gatter schaut wie folgt aus, wobei ich hier schon recht weit vorgreife, was ich eigentlich nicht möchte. Doch Sie bekommen eine ungefähre Vorstellung, worum es hier geht.

Tabelle 2.1:

Logiktabelle für ein Oder-Gatter

1.1 Was sind Bits und Gatter?

Das Bit, was ja schon bekannt ist, stellt die kleinste Informationseinheit dar. Ein einzelnes Bit kann dabei über einen einfachen Schalter abgebildet werden. Ist der Schalter S offen, leuchtet die Lampe nicht und das Bit hat den Zustand Low-Pegel, also 0. Wird der Schalter S dagegen geschlossen, leuchtet die Lampe und das Bit hat den Zustand High-Pegel, also 1.

Abbildung 2.4:

Ein einzelnes Bit

Natürlich können auch mehrere Bits quasi in Rudeln auftreten und eine Einheit bilden. Zu Beginn der Erklärung wird einfach ein weiteres Bit hinzugenommen, denn das ist eine perfekte Überleitung zu den schon erwähnten Logik-Gattern. Zwei Schalter können unterschiedliche Kombinationen hinsichtlich ihres Zustandes einnehmen. Die folgende sogenannte Wahrheitstabelle zeigt die möglichen Schalterpositionen, die zwei Bits repräsentieren. Es ist hierbei darauf zu achten, dass die Auflistung in der Regel von rechts nach links erfolgt und die Zählweise bei 0 beginnt.

Tabelle 2.2:

Alle möglichen Logikzustände für 2 Bits

Es ist zu sehen, dass mit zwei Bits vier unterschiedliche Kombinationen möglich sind. Nicht mehr und nicht weniger. Wie sich die Hinzunahme weiterer Bits auf die Anzahl der Möglichkeiten auswirkt, wird gleich noch im Detail erläutert. Im Moment sind erst einmal zwei Bits relevant. Folgendes Szenario soll beim Verständnis der Logik-Gatter helfen. Angenommen, es ist eine Waschmaschine vorhanden und diese soll - wie könnte es anders sein - dreckige Wäsche waschen. Was ist dazu erforderlich? Nun, zum einem wird natürlich Wasser benötigt und zum anderen das Waschpulver. Es macht wenig Sinn, den Waschvorgang zu starten, wenn eines der beiden genannten Dinge fehlen würde. Wasser ohne Waschmittel würde die Wäsche irgendwie nicht so richtig sauber bekommen und Waschpulver ohne Wasser wäre eine ziemlich staubige Angelegenheit, die ebenfalls nicht zum gewünschten Ergebnis führt. Beide Grundvoraussetzungen müssen also erfüllt sein, dass die Wäsche sauber wird. In einem Satz formuliert würde das wie folgt lauten.

Frage: Wann wird der Waschvorgang gestartet? Antwort: „Wasser und Waschpulver müssen der Waschmaschine zur Verfügung stehen, damit der Waschvorgang gestartet werden kann.”

Über zwei Schalter, die als Sensoren in der Waschmaschine arbeiten, kann diese Logik sehr gut abgebildet werden, wie das auf der folgenden Abbildung sehr gut zu erkennen ist. Die gezeigten Schalterpositionen repräsentieren immer die Stellungen im stromlosen Zustand.

Abbildung 2.5:

Eine einfache Waschmaschinensteuerung

Bezogen auf die gerade gezeigte Wahrheitstabelle mit den zwei Bits schaut das Ganze dann wie folgt aus.

Tabelle 2.3:

Die Logik zur Steuerung des Waschvorgangs – Teil 1

Es ist sehr gut zu erkennen, dass erst dann, wenn beide Bedingungen für Wasser und Waschpulver den Wahrheitswert wahr besitzen, der Waschvorgang gestartet wird. Nun wird das Szenario ein wenig erweitert, denn in einer Waschmaschine können verschiedene Reinigungsmittel wie Flüssigseife oder auch Waschpulver zum Einsatz kommen.

Hinsichtlich des Waschmittels kann also Flüssigseife oder Waschpulver verwendet werden. Wie kann dieser Umstand mit Schaltern beziehungsweise Sensoren umgesetzt werden? Die folgende Abbildung zeigt die Lösung.

Abbildung 2.6:

Eine erweiterte Waschmaschinensteuerung

Da die beiden Schalter S2 beziehungsweise S3 parallelgeschaltet sind, reicht ein Schalter von beiden aus, um durch das Schließen den Strom fließen zu lassen. Natürlich können auch beide geschlossen sein, um das gleiche Ergebnis zu erzielen. Ob das für einen Waschvorgang in dieser Situation mit zwei Waschmitteln sinnvoll erscheint, sei erst einmal dahingestellt. Ganz nach dem Motto: Doppelt hält besser, was jedoch vielleicht den Nebeneffekt hat, dass die Waschküche mit Schaum überflutet wird. Was tut man nicht alles für die Reinheit seiner Wäsche. In einem Satz formuliert würde das wie folgt lauten.

Frage: Wann wird der Waschvorgang gestartet? Antwort: „Wasser und (Waschpulver oder Flüssigseife) müssen der Waschmaschine zur Verfügung stehen, damit der Waschvorgang gestartet werden kann.”

Die beiden Waschmittel sind in diesem Satz innerhalb einer Klammer zu finden, denn sie bilden eine Einheit. Warum das in diesem Fall so sein muss, wird später noch erläutert. Bezogen auf Wahrheitstabelle für das Vorhandensein eines Waschmittels schaut das Ganze dann wie folgt aus.

Tabelle 2.4:

Die Logik zur Steuerung des Waschvorgangs – Teil 2

Es ist hier sehr gut zu erkennen, dass entweder das Waschpulver oder die Flüssigseife vorhanden sein müssen, damit die Bedingung für das Vorhandensein eines Waschmittels erfüllt wird. Nun kommt noch ein letzter Aspekt der Waschmaschinensteuerung hinzu, denn es ist sicherlich wichtig zu überprüfen, ob das Flusensieb nicht vielleicht voll ist, und dadurch ein möglicher Wasserstau hervorgerufen werden könnte. Eine Erweiterung der Schaltung durch einen weiteren Schalter ist dafür vonnöten. Dieser Schalter ist jedoch im Normalfall geschlossen und öffnet sich erst, wenn der Sensor am Flusensieb signalisiert, dass sich dort zu viele Fasern befinden, die den Wasserfluss beeinträchtigen könnten. Auf der folgenden Abbildung ist die erweiterte Schaltung zu sehen.

Abbildung 2.7:

Eine erweiterte Waschmaschinensteuerung mit Sicherheitsschalter

Wie schon eingangs erwähnt, zeigen die Schalter die Stellungen in einem stromlosen Zustand. Der Schalter beziehungsweise der Sensor S4 ist gegenüber den anderen Schaltern S1, S2 und S3 geschlossen und wird erst geöffnet, wenn das Flusensieb über den Sensor S4 als voll erkannt wird. Das macht ja auch Sinn, denn erst dann soll das Signal zum Starten des Waschvorgangs unterbunden werden. Für die Wahrheitstabelle würde das hinsichtlich des Flusensiebs folgendermaßen ausschauen. Ist das Flusensieb nicht voll und hat demnach den Wahrheitswert falsch, könnte der Waschvorgang gestartet werden. Im Gegensatz dazu wird der Waschvorgang niemals gestartet, wenn das Flusensieb voll ist und den Wahrheitswert wahr sendet.

Tabelle 2.5:

Die Logik zur Steuerung des Waschvorgangs – Teil 3

Es handelt sich also in diesem Fall um eine Logikumkehrung. Aus wahr mach falsch und umgekehrt.

Frage: Wann kann der Waschvorgang gestartet werden? Antwort: „Nur, wenn das Flusensieb nicht voll ist, kann der Waschvorgang gestartet werden, was natürlich in Abhängigkeit der anderen Eingangsparameter steht.”

Was bisher anhand dieser einfachen Waschmaschinensteuerung gezeigt wurde, hat die Grundfunktionen der logischen Verknüpfungen beinhaltet. Zusammenfassend sind das die folgenden logischen Gatter, die über simple Schalter realisiert wurden. Die folgenden Diagramme zeigen noch einmal die Schalter und die entsprechenden Wahrheitstabellen. Der Wert 0 bedeutet dabei einen Low-Pegel und der Wert 1 einen High-Pegel.

1.1.1 Die UND-Schaltung

Eine UND-Schaltung - auch Konjunktion genannt -, die über einzelne mechanische Schalter realisiert wurde, schaut wie folgt aus, wobei lediglich zwei Eingangsgrößen gezeigt werden. Diese kann beliebig über weitere Schalter erweitert werden. In der nachfolgenden Abbildung sind sowohl der Schaltplan, als auch die entsprechende Wahrheitstabelle zu sehen. Die beiden Schalter S1 und S2 sind in einer Reihenschaltung zu sehen und der Strom kann natürlich erst dann fließen, wenn beide Schalter geschlossen sind.

Abbildung 2.8:

Eine UND-Schaltung mit Wahrheitstabelle

Zur Darstellung gibt es unterschiedliche Schreibweisen, die in der Literatur und im Internet zu finden sind. Die Eingangssignale werden zumeist mit den Buchstaben A, B, C, usw. versehen, wobei die Ausgangssignale mit Q oder auch Y bezeichnet werden.

Die Formeln für das UND-Gatter, wobei A und B die Eingänge und Q der Ausgang ist.

Tabelle 2.6:

Die UND-Funktion mit ihren Formeln

1.1.2 Die ODER-Schaltung

Eine ODER-Schaltung - auch Disjunktion genannt -, die über einzelne mechanische Schalter realisiert wurde, schaut wie folgt aus, wobei lediglich zwei Eingangsgrößen gezeigt werden. Diese kann auch hier beliebig über weitere Schalter erweitert werden. In der nachfolgenden Abbildung sind sowohl der Schaltplan, als auch die entsprechende Wahrheitstabelle zu sehen. Die beiden Schalter S1 und S1 sind in einer Parallelschaltung zu sehen und der Strom fließt dann, wenn einer der beiden oder beide Schalter geschlossen sind.

Abbildung 2.9:

Eine ODER-Schaltung mit Wahrheitstabelle

Die Formeln für das ODER-Gatter, wobei A und B die Eingänge und Q der Ausgang ist.

Tabelle 2.7:

Die ODER-Funktion mit ihren Formeln

1.1.3 Die NICHT-Schaltung

Eine NICHT-Schaltung - auch Negation genannt -, die über einen mechanischen Schalter realisiert wurde, schaut wie folgt aus, wobei lediglich eine einzige Eingangsgröße vorhanden ist. In der nachfolgenden Abbildung sind sowohl der Schaltplan, als auch die entsprechende Wahrheitstabelle zu sehen. Der Wahrheitswert des Schalters S1 wird durch diese sogenannte Negierung umgekehrt.

Abbildung 2.10:

Eine NICHT-Schaltung mit Wahrheitstabelle

Die Formel für das NICHT-Gatter, wobei A der Eingang und Q der Ausgang ist.

Tabelle 2.8:

Die NICHT-Funktion mit ihren Formeln

Der waagerechte Strich über einem Eingangssignal oder auch Ausgangssignal bedeutet immer eine Negierung, also die logische Umkehrung. Aus 0 wird 1 und aus 1 wird 0.

Die hier gezeigten drei logischen Grundfunktionen beziehungsweise Grundglieder wurden mit mechanischen Bauelementen - den Schaltern - umgesetzt. In der Elektronik ist das natürlich auf diesem Wege nicht zu realisieren und deswegen gibt es integrierte Schaltkreise, die ich schon erwähnte. Mit diesen Grundlagen können wir in die nachfolgenden Kapitel einsteigen.

2 Digitaltechnische Grundlagen

Folgende Themen werden besprochen.

Was bedeutet Digitaltechnik

Was ist ein FPGA-Board

Die FPGA-Unterstützung von Logisim evolution

Was sind Logik- und Grundgatter

Was ist Boolesche Algebra

Was sind zusammengesetzte Gatter

Ein erstes FPGA-Experiment

Um einen Einstieg in die Digitaltechnik zu finden, kommt man um die digitaltechnischen Grundlagen nicht herum. Für den einen Leser ist dieses Kapitel Auffrischung, für den anderen eher Neuland. Die Digitaltechnik spielt heute eine entscheidende Rolle, um Informationen so schnell wie möglich zu verarbeiten. Aus keinem unserer elektronischen Spielzeuge wie zum Beispiel Smartphones, Fernseher, Automobile oder Uhren ist die Mikroelektronik wegzudenken. Fast überall sind Mikrocontroller verbaut, die einem Mikrocontroller wie dem Arduino ähnlich sind. In den meisten Fällen werden Daten gesammelt und verarbeitet, und bei diesen Prozessen müssen Entscheidungen auf der Grundlage von Fakten getroffen werden. Wenn als Eingangswert dies oder das eintrifft, dann muss dieses oder jenes als Reaktion darauf in Form eines Ausgangswerts erfolgen. Eingang und Ausgang stehen also in einer Beziehung. Digitaltechnik ist ein Teilgebiet der Informatik beziehungsweise der Elektronik und befasst sich mit digitalen Schaltkreisen, bei denen sogenannte logische Gatter zum Einsatz kommen. Neben den logischen Bauelementen gibt es noch weitere Varianten von digitalen Schaltkreisen, wie zum Beispiel die Flipflops, oft auch bistabile Kippstufe genannt. Es handelt sich dabei um eine elektronische Schaltung, die zwei stabile Zustände des Ausgangssignals besitzt und somit als Speicherelement in Erscheinung treten kann. Im Speziellen ist hier das D-Flipflop zu erwähnen, das ein Grundelement für statische Schreib-Lese-Speicher darstellt. Eigentlich haben wir grob gesehen alles zusammen, was für einen Computer wichtig sein könnte: die Möglichkeit, über diverse Gatter eine Logik zu realisieren sowie die Fähigkeit, verschiedene Signale mittels Flipflops zu speichern. Aber eins nach dem anderen. Wir beginnen mit den Logik-Bausteinen. Bevor es mit dem eigentlichen Thema der Digitaltechnik im nächsten Kapitel losgeht, folgen ein paar Grundlagen, die dann später benötigt werden. Warum sind digitale Komponenten wie Logik-Gatter und Flipflops für das Thema so relevant? Wer sich schon mit den verschiedenen Logik-Gattern auskennt, der kann den folgenden Abschnitt lediglich überfliegen. Ich greife dieses Thema in den folgenden Projektkapiteln wieder auf, denn es ist von essenzieller Bedeutung. Hier werden die Grundlagen beschrieben.

2.1 Ein FPGA-Board

Logisim evolution bietet neben der Schaltungssimulation noch ein weiteres faszinierendes Merkmal. Es besteht die Möglichkeit der Programmierung eines FPGA (Field Programmable Gate Arrays). Es handelt sich um einen integrierten Schaltkreis, der nach der Herstellung vom Anwender selbst konfiguriert werden kann. Wenn man sich herkömmliche Mikrocontroller oder Prozessoren anschaut, sind deren Funktionalität fest vorgegeben. Im Gegensatz dazu ermöglicht ein FPGA die Implementierung von benutzerdefinierten digitalen Logikschaltungen, was durch ein Array aus programmierbaren Logikblöcken erreicht wird, die über konfigurierbare Verbindungen miteinander verknüpft werden können.

Die Hauptmerkmale von FPGAs sind.

Programmierbarkeit: Die Logikblöcke und Verbindungen können über spezielle Hardwarebeschreibungssprachen (HDLs) wie VHDL oder Verilog konfiguriert werden.

Parallelität: FPGAs können mehrere Operationen gleichzeitig ausführen, was sie ideal für Anwendungen macht, die eine hohe Parallelität und Geschwindigkeit erfordern.

Flexibilität: Sie können für eine Vielzahl von Anwendungen eingesetzt werden, von der Signalverarbeitung bis hin zu Prototyping.

Echtzeitfähigkeit: FPGAs sind oft in der Lage, Echtzeitanforderungen zu erfüllen, was sie für industrielle Steuerungen und Kommunikationssysteme attraktiv macht.

Die Anwendungsbereiche sind.

Signalverarbeitung: Digitale Filter, Bildverarbeitung oder Audioverarbeitung.

Prototyping: Schnelle Entwicklung und Test von neuen digitalen Schaltungen.

Kommunikation: Implementierung von Netzwerkprotokollen und Datenübertragung.

Industrielle Steuerungen: Robotersteuerungen und Automatisierungssysteme.

Kryptographie: Implementierung von Verschlüsselungsalgorithmen.

Mithilfe eines FPGA lässt sich fast jede Art von digitaler Hardware in Form von logischen Schaltungen herstellen. Und dass natürlich nicht nur einmalig, sondern beliebig oft in anderer beziehungsweise erweiterter Weise. Das macht hoffentlich Lust auf mehr, denn die Möglichkeiten sind nahezu grenzenlos und wird lediglich durch den internen Aufbau beziehungsweise den zur Verfügung stehenden Speicher begrenzt. Nun soll das hier kein Buch über die Programmierung eines FPGAs werden, denn dazu sind umfassende Kenntnisse von sogenannten Hardwarebeschreibungssprachen wie VHDL oder Verilog erforderlich, um digitale Schaltungen und Systeme zu modellieren, zu simulieren und zu implementieren. Wer sich dafür interessiert, dem rate ich, mein FPGA-Buch „FPGA für alle - Einstieg in die FPGA-Programmierung mit VHDL und MAX1000-Board” zu lesen.

FPGA für alle

https://www.bombini-verlag.de/shop/fpga/

Ich nutze dort das MAX1000-Board und dieses möchte ich auch unter Logisim evolution verwenden.

Abbildung 3.1:

Das FPGA-Board MAX1000

Nun fragen Sie sich sicherlich, wie das möglich ist, denn ein FPGA wird doch durch die genannten Hardwarebeschreibungssprachen programmiert. Das ist schon richtig und wird auch unter Logisim evolution der Fall sein. Doch diese Aufgabe der Herstellung des erforderlichen Codes übernimmt das Programm selbst und Sie brauchen sich darum nicht zu kümmern. Es geschieht im Hintergrund und wird aufgrund der von Ihnen erstellten Schaltung in Logisim evolution durchgeführt. Unter Logisim evolution werden sehr viele Schaltungskomponenten angeboten, die jedoch nicht alle dazu geeignet sind, in ein FPGA übertragen zu werden. Sie werden jedoch darüber informiert, ob eine FPGA-Unterstützung für Ihre Schaltung möglich ist oder nicht.

Abbildung 3.2:

Ist eine FPGA-Unterstützung möglich?

Falls Sie jedoch noch über kein FPGA-Board verfügen, ist das kein KO-Kriterium für das Studium dieses Buches und sollte Sie nicht beunruhigen. Sie können alle Grundlagen und Schaltungen auch ohne FPGA durchführen. Die Nutzung eines FPGA-Boards wird quasi als Sahnehäubchen angesehen und wenn ein Projekt mit einem FPGA zur Sprache kommt, platziere ich dieses immer am Ende des Kapitels, um den Lesefluss - bei nicht Vorhandensein eines entsprechenden Boards - dadurch nicht zu stören. Natürlich unterstützt Logisim evolution aufgrund der Vielzahl an FPGA-Boards, die es auf dem Markt gibt, nicht alle Varianten und Ausführungen dieser Boards. Unter dem Menüpunkt FPGA > FPGA Board Editor können Sie sich eine Übersicht über die im Moment unterstützten Boards verschaffen.

Abbildung 3.3:

Die unterstützten FPGA-Boards in Logisim evolution

Wie der Name Editor vermuten lässt, besteht jedoch die Möglichkeit, eigene, und bisher nicht unterstützte Boards, dem Programm bekannt zu machen und somit zu nutzen. Für eine Nutzung der FPGA-Boards sind jedoch weitere Softwareinstallationen erforderlich, auf die ich noch separat zu sprechen komme. Das sollte als kleine Einführung in die Welt der FPGAs erst einmal genügen. Natürlich sind zur Nutzung des FPGA-Boards in Verbindung mit Logisim-Evolution weitere Software-Installationen und Konfigurationen erforderlich. Das alles habe ich in einen separaten PDF-Dokument zusammengefasst, was unter der folgenden Internetadresse zu finden ist.

Quartus-Software-Installation

https://erik-bartmann.de/?Downloads___Logisim_Evolution

2.2 Die Logik-Gatter

Zur Realisierung eines Computers, der sich der Digitaltechnik bedient, werden verschiedene Logik-Gatter benötigt. Diese sind in den heutigen CPUs – also den Rechen-Zentraleinheiten – auf sehr kleinem Raum auf einem Chip integriert und arbeiten intern zur Bewältigung der anstehenden Rechenoperationen.

Auf diese Gatter gehe ich ausführlich ein, denn sie haben grundlegende Bedeutung für die Digitaltechnik. Das Thema scheint überholt zu sein, denn alles kann mittels Computerprogramme realisiert werden – und doch trägt das Verständnis dieser Materie essenziell dazu bei, Computer inklusive der Digitaltechnik besser zu verstehen. Und zudem bereitet es Spaß, sich mit den grundlegenden Gattern etwas zu bauen, was dann auch so funktioniert, wie es erdacht wurde.

2.2.1 Die Grundgatter

In der Einleitung bin ich zwar schon auf die Grundgatter eingegangen, möchte das Thema jedoch noch einmal aufgreifen. An folgendem Beispielsatz lässt sich Logik veranschaulichen: Für einen schönen Nachmittag würde ich gerne mit meiner Frau und meinen Kindern ein Picknick im Freien veranstalten. Wir könnten dazu mit den Fahrrädern fahren oder auch den Zug benutzen, doch es sollte schönes Wetter sein und nicht regnen. In diesem Satz sind drei logische Elemente vorhanden, die ich fett gedruckt hervorgehoben habe. Diese drei Verknüpfungen beschreiben die drei Grund-Gatter der Digitaltechnik, auf denen alles aufbaut. Der Satz vermittelt doch eine gewisse Vorstellung, wie bestimmte Voraussetzungen in Form vor Eingangsparametern vorliegen müssen, damit sich ein Ergebnis einstellt, das als Ausgang bezeichnet werden kann. Die genannten Hervorhebungen sind die UND-, ODER- und NICHT-Gatter. Sehr oft werden in der Literatur jedoch die englischen Bezeichnungen verwendet, die entsprechend AND-, OR- und NOT-Gate lauten. Diese Gatter werden in der Digitaltechnik nicht mit mechanischen Bauelementen wie Schaltern realisiert, wie ich das in der Einführung gezeigt habe, sondern mit integrierten Schaltkreisen, den ICs (Integrated Circuit). Der Ausdruck Gatter kommt aus dem Englischen für Gate, was Tor bedeutet, das entweder offen oder geschlossen sein kann. Meistens sind mehrere dieser logischen Gatter in einem integrierten Schaltkreis verbaut. Für jedes logische Grundgatter gibt es ein eigenes Schaltzeichen. In der Regel befinden sich bei diesen Schalteichen die Eingänge auf der linken und der Ausgang auf der rechten Seite des Symbols. Wenn es darum geht, Ein- beziehungsweise Ausgänge mit Kennzeichen zu versehen, so ist die Nomenklatur, also das System der Fachbezeichnungen bei den logischen Gattern, nicht einheitlich. Nachfolgend sind ein paar Beispiele in einer Tabelle zusammengefasst, die keinen Anspruch auf Vollständigkeit erhebt. Jeder kann die Pins nach Lust und Laune benennen, was aber keinen Einfluss auf die Funktion hat.

Tabelle 3.1:

Mögliche Signalbezeichnungen für Ein- und Ausgänge

2.2.2 Die Boolesche Algebra

Die mathematische Grundlage zur Verknüpfung von Zuständen oder Signalen wird durch die sogenannte Boolesche Algebra ermöglicht. Sie geht auf den Mathematiker George Boole (1815 bis 1864) zurück, der im 19. Jahrhundert die Algebra der logischen Verknüpfungen entwickelte. Die binäre Digitaltechnik kommt mit den zwei definierten logischen Zuständen 0 und 1 aus.

Was bedeutet binär?

Die digitale Welt verwendet den binären Code, wobei binär von lateinischen

binarii

herrührt und doppelt beziehungsweise paarweise bedeutet. Im Binärsystem werden nur 0 und 1 verwendet, wobei diese beiden Zustände auch durch andere Benennungen abgebildet werden können, was schon angesprochen wurde.

Die boolesche Algebra verwendet die drei angesprochenen logischen Verknüpfungen UND, ODER beziehungsweise NICHT. Die nachfolgend aufgeführten Gatter zeigen auf der linken Seite in Rechteckform die aktuelle Norm nach IEC 60617-12:1997 & ANSI/IEEE Std 91/91a-1991. Auf der rechten Seite sind die alten Symbole nach der DIN 40700 vor 1976 zu sehen, die in meinen Augen ansprechender sind und zeitweise noch verwendet werden. Diese alten Symbole sind durch das Auge besser und direkter zu erfassen, weil anhand der Formen sofort auf die Funktion geschlossen werden kann. Die aktuellen Symbole in rechteckigen Formen beinhalten Zahlen und andere Zeichen, die erst entziffert werden müssen. Diese Symbole sind „weniger schön” und machen es schwieriger, einen umfangreicheren Schaltplan zu lesen und zu verstehen, als einer mit den vermeintlich alten Symbolen. Nachfolgend werde ich also verschiedene Gatter ansprechen und zwischen dem deutschen Begriff Gatter und der englischen Entsprechung Gate wechseln. Ich bitte dies nachzusehen, wenn es nicht immer einheitlich erscheint.

2.3 Das UND-Gatter (AND-Gate)

Das Schaltzeichen eines AND-Gatters schaut wie folgt aus, wobei sich im inneren des Rechtecks ein sogenanntes Kaufmanns-UND (&) befindet.

Abbildung 3.4:

Das Schaltzeichen eines AND-Gatters

Die Wahrheitstabelle schaut für das AND-Gatter wie folgt aus.

Abbildung 3.5:

Die Wahrheitstabelle eines AND-Gatters

Der Ausgang X des AND-Gatters wechselt erst dann auf einen HIGH-Pegel, wenn an beiden Eingängen A und B ein HIGH-Pegel vorliegt. Die AND-Verknüpfung kann mathematisch mit der booleschen Algebra ausgedrückt werden, die wie folgt lautet.

Das nach unten offene Dreieck zwischen A und B ist ein genormtes Zeichen für die AND-Verknüpfung.

2.3.1 Was sagt Logisim zum UND-Gatter

Sehen wir uns dazu dieses Gatter in Logisim an, um nachzuvollziehen, wie sich das UND-Gatter in Abhängigkeit der Eingangssignale verhält.

Abbildung 3.6:

Das UND-Gatter in Logisim

Nachdem Sie die Simulation gestartet haben, können Sie mit der Maus die beiden Eingangspegel A und B ändern, um dann zu sehen, wie sich der Ausgang Q verhält. Über den Menüpunkt Projekt > Schaltung analysieren, wir der folgende Dialog zur Anzeige gebracht, der eine Wahrheitstabelle präsentiert.

Abbildung 3.7:

Die Wahrheitstabelle des UND-Gatters

2.4 Das ODER-Gatter (OR-Gate)

Das Schaltzeichen eines OR-Gatters schaut wie folgt aus, wobei sich im inneren des Rechtecks ein größer-gleich-Zeichen mit einer nachfolgenden 1 befindet.

Abbildung 3.8:

Das Schaltzeichen eines OR-Gatters

Die Wahrheitstabelle schaut für das OR-Gatter wie folgt aus.

Abbildung 3.9:

Die Wahrheitstabelle eines OR-Gatters

Der Ausgang X des OR-Gatters wechselt dann auf einen HIGH-Pegel, wenn am Eingang A oder B beziehungsweise an beiden ein HIGH-Pegel vorliegt. Die OR-Verknüpfung kann mathematisch mit der booleschen Algebra ausgedrückt werden, die wie folgt lautet.

Das nach oben offene Dreieck zwischen A und B ist ein genormtes Zeichen für die OR-Verknüpfung.

2.4.1 Was sagt Logisim zum ODER-Gatter

Sehen wir uns dazu dieses Gatter in Logisim an, um nachzuvollziehen, wie sich das ODER-Gatter in Anhängigkeit der Eingangssignale verhält.

Abbildung 3.10:

Das ODER-Gatter in Logisim

Nachdem Sie die Simulation gestartet haben, können Sie mit der Maus die beiden Eingangspegel A und B ändern, um dann zu sehen, wie sich der Ausgang Q verhält. Über den Menüpunkt Projekt > Schaltung analysieren, wir der folgende Dialog zur Anzeige gebracht, der eine Wahrheitstabelle präsentiert.

Abbildung 3.11:

Die Wahrheitstabelle des ODER-Gatters

2.5 Das NICHT-Gatter (NOT-Gate)

Das Schaltzeichen eines NOT-Gatters schaut wie folgt aus, wobei sich im inneren des Rechtecks eine 1 befindet. Äußerst wichtig ist am Ausgang der kleine Kreis, der den entgegengesetzten Zustand hervorruft, was eine Negation bedeutet. Dieses Gatter kann auch als Inverter (Umkehrer) bezeichnet werden.

Abbildung 3.12:

Das Schaltzeichen eines NOT-Gatters

Die Wahrheitstabelle schaut für das NOT-Gatter wie folgt aus.

Abbildung 3.13:

Die Wahrheitstabelle eines NOT-Gatters

Der Ausgang X des NOT-Gatters ist immer entgegengesetzt des am Eingang A anliegenden Pegels. Die NOT-Verknüpfung kann ebenfalls mathematisch mit der booleschen Algebra ausgedrückt werden, die wie folgt lautet.

Der waagerechte Strich über einem Signal bedeutet eine Negation, also eine Umkehrung des vorherrschenden Pegels. Der kleine Kreis, der sich beim gezeigten NOT-Schaltzeichen am Ausgang befindet, kann auch bei anderen Gattern sowohl am Eingang, als auch am Ausgang zu Einsatz kommen.

2.5.1 Was sagt Logisim zum NICHT-Gatter

Sehen wir uns dazu dieses Gatter in Logisim an, um nachzuvollziehen, wie sich das NICHT-Gatter in Anhängigkeit der Eingangssignale verhält.

Abbildung 3.14:

Das NICHT-Gatter in Logisim

Der folgende Dialog zeigt wiederum die Wahrheitstabelle.

Abbildung 3.15:

Die Wahrheitstabelle des NICHT-Gatters

Falls ein einzelner oder auch mehrere Eingänge eines Logikgatters hinsichtlich des Pegels invertiert werden muss beziehungsweise müssen, kann man in Logisim zwei Wege beschreiten. Im ersten Fall können entsprechende Inverter (NOT-Gatter) an den erforderlichen Eingängen positioniert werden, wie das nachfolgend an einem UND-Gatter mit vier Eingängen zu sehen ist.

Abbildung 3.16:

Explizite NOT-Gatter an den erforderlichen zu invertierenden Eingängen

Einfacher ist jedoch die Variante über die Eigenschaften des ausgewählten Logikgatters zu gehen, um dort die Eingänge direkt mit einer logischen Umkehr (Negation) zu versehen. Dazu muss das betreffende Logikgatter ausgewählt werden, um dann über die Eigenschaften Einfluss auf das Verhalten zu nehmen, wie das nachfolgend zu sehen ist.

Abbildung 3.17:

Die Negation von Eingängen eines Logikgatters

2.6 Die zusammengesetzten Gatter

Natürlich werden in der Digitaltechnik nicht nur einzelne Gatter zum Einsatz kommen, sondern es findet eine Zusammenschaltung mehrerer unterschiedlicher Typen statt, die je nach Anforderung, einen Verbund bilden und darüber wieder grundlegende beziehungsweise erweiterte Gatter zur Verfügung stellen. Bei diesen zusammengesetzten Gattern sind die NAND- beziehungsweise NOR- Gatter die am meisten verwendeten. Anhand der Namensgebung könnte der eine oder andere sicherlich auf die Funktion dieser Gatter schließen. Im Ausdruck NAND ist AND vorhanden und das vorangestellte N könnte auf das NOT-Gatter hindeuten. Beim NOR ist die Sache gleich gelagert. Es kommt im Ausdruck OR vor und es ist ebenfalls ein N vorangestellt. Mal sehen, was es damit auf sich hat.

2.6.1 Das NAND-Gatter (NAND-Gate)

Wird das AND-Gatter und das NOT-Gatter zusammengeschaltet, dann ergibt sich im Verhalten das NAND-Gatter. Der Ausgangszustand eines AND-Gatters wird dadurch negiert. Nachfolgend ist die Zusammenschaltung beider Gatter zu sehen.

Abbildung 3.18:

Ein AND- und NOT-Gatter im Verbund

Ein eigenständiges NAND-Gatter sieht dem AND-Gatter sehr ähnlich, besitzt jedoch am Ausgang den schon erwähnten kleinen Kreis, der den Inverter repräsentiert.

Abbildung 3.19:

Die Schaltzeichen eines NAND-Gatters

Die Wahrheitstabelle schaut für das NAND-Gatter wie folgt aus.

Abbildung 3.20:

Die Wahrheitstabelle eines NAND-Gatters

Wird diese Wahrheitstabelle mit der des AND-Gatters verglichen, so ist zu sehen, dass sich die Ausgangspegel genau entgegengesetzt verhalten. AND-Gatter sind zwar in einem integrierten Schaltkreis durchaus zu bekommen, doch es werden stattdessen meistens NAND-Gatter verwendet, weil darüber sowohl eine AND- als auch NAND-Funktionalität erzielt werden kann. Mit einem einzigen integrierten Schaltkreis für AND-Gatter wäre das nicht möglich, weil dort ein Inverter fehlt. Ist das verständlich? Vielleicht nicht so ganz und deswegen zeigt die folgende Abbildung diesen Sachverhalt etwas besser. Im integrierten Baustein CD4011 sind vier einzelne NAND-Gatter vorhanden. Nun kann darüber sowohl direkt ein NAND-Gatter, als auch ein AND-Gatter realisiert werden. Für den zweiten Fall muss lediglich ein weiteres NAND-Gatter als Inverter für das erste arbeiten.

Abbildung 3.21:

NAND- und AND-Funktionalität mit NAND-Gatter

Das funktioniert deswegen, weil ein NAND-Gatter mit zwei zusammengeschalteten Eingängen das gleiche Verhalten vorweist, wie ein dedizierter Inverter, wie das auf der folgenden Abbildung zu erkennen ist.

Abbildung 3.22: