Digitale Logikschaltungen
Von digitalen Signalen und AND-, OR-, XOR-Gattern zu kombinatorischen Schaltungen, Latches, Flipflops, Zählern und Zustandsautomaten. Verknüpfen Sie Wahrheitstabellen, Gleichungen, Schaltungen und Zeitdiagramme und prüfen Sie sie in RTL-Übungen. Optionale Vertiefungen behandeln Datenpfade und Schnittstellen.
Das wirst du lernen
- Logikwerte und Spannungen unterscheiden und Wahrheitstabellen, Symbole und Ersatzschaltungen von acht Gatterarten erklären.
- Kombinatorische Schaltungen aus Spezifikationen mit SOP, POS und Karnaugh-Diagrammen entwerfen und vollständig prüfen.
- Eingangsbedingungen und Grenzwerte von Encoder, Decoder, MUX, DEMUX, Addierer und Komparator festlegen.
- Latches und Flipflops unterscheiden sowie Aktualisierungsregeln für reset, enable und Takt entwerfen.
- Zähler, Schieber und Zustandsautomaten in RTL implementieren und Timing, asynchrone Eingänge und Entprellung analysieren.
- Mit unabhängigen Referenzmodellen verifizieren und einen Detektor überlappender 101-Muster entwickeln.
- Die Kenntnisse in optionalen Vertiefungen zu ALU, Speicher, FIFO, Pipeline und Schnittstellen ausbauen.
Bevor du beginnst
Diese Browserübungen verwenden Lehrmodelle und kompilieren oder starten kein HDL. Um den Quellcode separat auszuführen, folge der Digital Design Studio-Anleitung für dein Betriebssystem und melde dich an, wenn der Vorgang es erfordert.
Installation und erster Start ↗ · Downloads ↗Lehrplan
- Digitale Signale und Zahlendarstellung
- Digitale Signale: Wann eine Spannung 0 oder 1 bedeutetKonzept
Logikwerte und Spannungen unterscheiden sowie Eingangsschwellen, Störabstände und Laufzeiten berechnen.
- Zahlensysteme und Darstellung mit fester BreiteKonzept
Über die Basisumrechnung hinaus Wertebereiche, erforderliche Bitzahlen und Abschneidefehler berechnen.
- Logikgatter und Wahrheitstabellen
- Grundgatter: AND, OR, NOT und BUFFERKonzept
Schaltsymbole mit Wahrheitstabellen verbinden und Bedingungen aus mehreren Gattern aufbauen.
- NAND, NOR und Inversionssymbole lesenKonzept
Den Geltungsbereich einer Negation erkennen und mit De Morgan gleichwertige Symbole und Ausdrücke verbinden.
- XOR und XNOR: Gleichheit, Unterschiede und ParitätKonzept
XOR mit zwei Eingängen von Mehrfacheingangsparität unterscheiden und Grenzen der Fehlererkennung erklären.
- Universelle Gatter: Schaltungen nur mit NAND aufbauenKonzept
Die funktionale Vollständigkeit von NAND und NOR konstruktiv zeigen und XOR-Zwischensignale prüfen.
- Von Logikgleichungen zum Schaltungsentwurf
- Boolesche Algebra, Äquivalenzumformungen und ImplementierungskostenKonzept
Schaltungen mit De Morgan und Faktorisierung umformen; logische Äquivalenz von Timing unterscheiden.
- Von der Wahrheitstabelle zum Ausdruck: Minterme, Maxterme, SOP und POSKonzept
Dieselbe Funktion aus Eins- und Nullzeilen ableiten und mit Karnaugh-Notation verbinden.
- Karnaugh-Diagramme und Bedingungen für Don’t-caresKonzept
Mit Gray-Code-Nachbarschaft Ausdrücke vereinfachen und Annahmen über unbenutzte Eingänge festhalten.
- Entwurfsübung: Von der Spezifikation zur DreieingangsmehrheitÜbung
Eine Textspezifikation in eine vollständige Wahrheitstabelle überführen und Minimierung, Implementierung und Vollprüfung verbinden.
- Adressierung und Auswahlschaltungen
- Decoder, One-hot-Auswahl und gültige EingabenKonzept
Binäradressen in Auswahlleitungen umwandeln und Freigabe, Bereich und Auswahlinvarianten definieren.
- Encoder und Priorität: Eine von mehreren Anforderungen wählenKonzept
Die Eingangsannahme eines One-hot-Encoders von valid und Auswahl eines Prioritätsencoders unterscheiden.
- DEMUX und Decoder: Daten auf den gewählten Pfad leitenKonzept
Richtung und Aufgaben von MUX, DEMUX und Decoder vergleichen und One-hot- sowie Höchstens-eins-Bedingungen prüfen.
- Signale und Ports: Vertrag über Breite, Richtung und ZeitKonzept
Schnittstellen lesen und Prüfkriterien für kombinatorische und Zustandsausgänge trennen.
- Von der Wahrheitstabelle zu MUX und Shannon-ZerlegungKonzept
Auswahllogik herleiten und beliebige Logikfunktionen durch MUX zerlegen.
- Arithmetik und Vergleiche
- Addierer und ÜbertragsstrukturenKonzept
Volladdierergleichungen herleiten und Funktion, Breite und Verzögerung von Ripple-Carry analysieren.
- Zweierkomplement, Vorzeichenerweiterung und OverflowKonzept
Signed-Interpretation und Additionsoverflow durch Gleichungen und Gegenbeispiele unterscheiden.
- Komparatoren und GrenzwertspezifikationenKonzept
Unsigned- und signed-Vergleiche derselben Bits unterscheiden und Grenzbedingungen prüfen.
- Latches, Flipflops und Zustandsspeicherung
- Beginn der Speicherung: Rückkopplung und SR-/D-LatchesKonzept
Die zwei stabilen Zustände gekoppelter Gatter verstehen sowie verbotene SR-Eingaben und transparente D-Latch-Phasen erklären.
- D-Flipflops: Vom Pegel zur FlankeKonzept
Aktualisierungszeitpunkte von Latch und Flipflop vergleichen und Register, Setup und Hold verbinden.
- Flipflops, Enable und SteuerprioritätenKonzept
Halten, Laden und Reset als Folgezustandsfunktion definieren und unbeabsichtigtes Clock-Gating vermeiden.
- Synchrone Zustandsübergänge und die Rolle des TaktsKonzept
Ein synchrones System als Registergruppe interpretieren, die denselben vorherigen Zustand liest.
- MUX in RTL implementieren und prüfen
- Latenz kombinatorischer Auswahl und registrierter AusgängeKonzept
Analysieren, wie das Speichern eines MUX-Ergebnisses Schnittstelle und Latenz verändert.
- Kombinatorisches RTL und vollständige ZuweisungenKonzept
Dieselbe Funktion mit bedingtem Operator und always_comb ausdrücken und Latch-verursachende Auslassungen finden.
- Labor: MUX-Vollprüfung und Analyse registrierter AusgängeÜbung
Gleiche Eingaben auf kombinatorischen und registrierten Pfad anwenden und anhand von Wahrheitstabelle und Abtastzeit prüfen.
- Abtastzeitpunkte und Kausalität im ZeitdiagrammKonzept
Zeitdiagramme unter Trennung von kombinatorischem Einschwingen, Taktabtastung und Ereignisfolge lesen.
- MUX-Verifikation: Vollprüfung und EigenschaftenKonzept
Kombinatorische Eingabeabdeckung und Speicherverhalten getrennt prüfen und Gegenbeispiele minimieren.
- Entwurfsprüfung: Auswahläquivalenz und BeobachtungszeitWissensprüfung
Prüfungen allein anhand der Wahrheitstabelle von solchen mit Taktbeobachtung unterscheiden.
- Zähler und synchrone Zustandsaktualisierung
- Zustandsanzahl, Zählerbreite und unbenutzte CodesKonzept
Speicherbreite aus dem Zählbereich ableiten und Wiederherstellung ungültiger Zustände festlegen.
- Folgezustand eines Zählers und ResetprioritätKonzept
Inkrementieren, Halten, Reset und Umlauf gemeinsam spezifizieren und je Flanke berechnen.
- Nichtblockierende Zuweisung und gleichzeitige ZustandsaktualisierungKonzept
Alten und neuen Zustand für korrektes Lesen von Pipeline- und Zähler-RTL trennen.
- Labor: Reset, Umlauf und Invarianten eines Zählers prüfenÜbung
Jede steigende Flanke mit einer Referenz vergleichen und Einflüsse von Initialwert, Reset und Breite trennen.
- Modulo- und Sättigungszähler mit EndimpulsKonzept
Verhalten am Maximum und exakten Zyklus des Terminal-count-Signals festlegen.
- Zähler debuggen und Gegenbeispiele minimierenKonzept
Kurze Tests entwerfen, die Reset-, Enable- und Umlauffehler unterscheiden.
- Entwurfsprüfung: Breite, Priorität und UmlaufgrenzenWissensprüfung
Grenzwerte und gleichzeitige Steuerungen anhand der Zustandsübergangsspezifikation beurteilen.
- Schieberegister und Datenfluss
- Vektorindizes, Bitreihenfolge und VorzeichenKonzept
Bitnummern, serielle Reihenfolge und arithmetische Interpretation beim Lesen des Datenpfads trennen.
- Serielle Eingänge und RahmengrenzenKonzept
Eingangsreihenfolge und gültige Flanken definieren und die seriell-parallele Bitanordnung berechnen.
- Zustandsgleichungen des SchieberegistersKonzept
Bitbewegung als Vektortransition ausdrücken und Speichertiefe mit Ausgangslatenz verbinden.
- Breiten von Slices, Konkatenation und WiederholungKonzept
Datenpfade durch Berechnung der Gesamtbreite und Werterhaltungsbedingungen aufbauen.
- Labor: Serielle Datenbewegung und Bitreihenfolge prüfenÜbung
Mit Bitfolgen und Ganzzahlreferenz Richtung, verworfene Bits und Latenz nach Reset prüfen.
- Zykluslatenz und Durchsatz unterscheidenKonzept
Beobachtungsbezug einer N-stufigen Leitung definieren und Latenz sowie Durchsatz berechnen.
- Schiebeverifikation und Ausrichtung von Daten und validKonzept
Durch symmetrische Muster verborgene Fehler und Versatz von valid um einen Zyklus finden.
- Entwurfsprüfung: Latenz, Ausrichtung und EingabeerhaltWissensprüfung
Neben Schieberichtung auch Zahl gültiger Bewegungen und Beobachtungsbezug prüfen.
- Timing, reale Eingänge und Zustandsautomaten
- Setup, Hold und ZeitbudgetKonzept
Maximale und minimale Pfade trennen und frequenzunabhängige Hold-Bedingungen berechnen.
- Logische Hazards und Grenzen äquivalenter AusdrückeKonzept
Untersuchen, wie stationär äquivalente Schaltungen durch Laufzeiten verschiedene Transienten erzeugen.
- Taktdomänengrenzen und MetastabilitätKonzept
Den Geltungsbereich zweistufiger Synchronisation verstehen und Einzelbits, kurze Pulse und Busse unterscheiden.
- Reale Taster: Synchronisation, Entprellung und ein EreignisKonzept
Asynchrone Synchronisation von Entprellung trennen und einen Entpreller aus aufeinanderfolgenden Samples entwerfen.
- Zustandsautomaten: Zustand, Transition und Ausgabe trennenKonzept
FSM aus Tabellen entwerfen und Moore/Mealy, illegale Zustände und Anforderungsregeln vergleichen.
- Prüfplanung, Coverage und unabhängige ReferenzenKonzept
Testbestehen von Spezifikationserfüllung trennen und Grenzen, Kreuzbedingungen und Gegenbeispiele planen.
- Abschlussentwurf: Überlappende 101-Muster erkennenKonzept
Zustandsminimierung, gültige Eingaben, registrierte Ausgänge und unabhängige Prüfung verbinden.
- Optionale Vertiefung · arithmetische Datenpfade
- ALU und Zero-, Negative-, Carry- und Overflow-FlagsKonzept
ADD/SUB mit gemeinsamem Addierer implementieren und aus getrenntem Carry/Overflow Vergleichsbedingungen ableiten.
- Barrel-Shifter und stufenweise MUXKonzept
Variable Weiten durch 1/2/4/8-MUX-Stufen, gemeinsame Richtungslogik, Vorzeichenfüllung und Überweiten behandeln.
- Festkomma, Rundung und SättigungKonzept
W, F-Bereiche festlegen und Guard/Sticky-Rundung zu geraden Werten mit anschließender Sättigung entwerfen.
- Mehrzyklus-Unsigned-Multiplizierer mit Shift-and-addKonzept
Teilprodukte über W Takte akkumulieren und Annahme, Abschluss, letzte Addition, Breite und Invariante prüfen.
- Optionale Vertiefung · Speicher und FIFO
- Synchroner Speicher und Lese-/SchreibkollisionenKonzept
Registrierte Antwortzeit, read-first/write-first/no-change sowie getrennte Verantwortung von valid und Initialisierung festlegen.
- Registerdatei mit zwei Leseports, einem Schreibport und BypassKonzept
Unabhängige Leseports und synchrones Schreiben implementieren sowie Bypass, Initialisierung und valid prüfen.
- Zeiger und Grenzregeln einer FIFO mit einem TaktKonzept
Zeiger und Belegung einer FIFO mit vier Plätzen sowie simultane Annahme bei empty/full definieren.
- FIFO-/Speicherprüfplan und unabhängiges ScoreboardKonzept
Zeigerunabhängige Queue-Referenz mit Grenzen, Reset, valid und uninitialisiertem Lesen verbinden.
- Optionale Vertiefung · Pipelines und Schnittstellen
- Ready/valid und ein elastischer EinplatzpufferKonzept
Verlust- und duplikatfreie Übergabe sowie gleichzeitige Ein-/Ausgabe bei Stopps entwerfen.
- Multiply-add-Pipeline und DatenausrichtungKonzept
Berechnungen an Registergrenzen teilen und Daten, valid sowie Nebenoperanden derselben Transaktion zuordnen.
- Stoppbare Pipeline und BackpressureKonzept
Stufen-ready berechnen, um bei Stopps und gleichzeitigem Vorrücken Verluste, Duplikate und Neuberechnung zu vermeiden.
- Registerschnittstelle und Zeitpunkt von NebenwirkungenKonzept
Adressen, Byte-Schreiben und Antwortstopps spezifizieren, sodass eine Annahme genau eine Änderung auslöst.
- Abschlusslabor: UART-Sender und RahmentimingKonzept
Teilerzähler, Schieberegister und Flusssteuerung für 8N1 verbinden und Bitgrenzen prüfen.