PREVIEW
Shift Register (4-bit)

Shift Register (4-bit)

Memory signal_cellular_alt_2_bar Intermediate schedule 22 min

Interactive Circuit

Schieberegister

Überblick

  • Zweck: Das Schieberegister ist eine sequentielle Logikschaltung, die binäre Daten speichert und ihren Inhalt mit jedem Taktimpuls um eine Bitposition verschiebt. Es kann Daten entweder nach links oder nach rechts verschieben und ermöglicht so sequentielle Datenmanipulation und -speicherung.
  • Symbol: Das Schieberegister wird durch einen Rechteckblock mit Eingängen für Daten (seriell und manchmal parallel), Takt, Reset und Modussteuerung sowie Ausgängen für die gespeicherten/verschobenen Daten dargestellt.
  • Rolle in DigiSim.io: Dient als wesentliche Komponente für die Datenkonvertierung zwischen seriellen und parallelen Formaten, Datenspeicherung und Signalverarbeitungsanwendungen in Designs digitaler Schaltungen.

Schieberegister-Komponente

Funktionale Beschreibung

Logikverhalten

Das Schieberegister speichert und manipuliert binäre Daten, indem es die gespeicherten Bits mit jedem Taktimpuls in eine festgelegte Richtung verschiebt. Je nach Typ kann es Daten seriell (Bit für Bit) oder parallel (alle Bits gleichzeitig) laden und Daten in entweder seriellem oder parallelem Format ausgeben.

Typische Betriebsmodi:

Modussteuerung Funktion Beschreibung
00 Halten Aktuellen Zustand beibehalten
01 Rechtsverschiebung Bits nach rechts schieben, neues Bit kommt von links
10 Linksverschiebung Bits nach links schieben, neues Bit kommt von rechts
11 Parallele Ladung Lädt alle Bits gleichzeitig

Beispiel-Wahrheitstabelle (4-Bit-Universalschieberegister):

CLK DIR S/L SI D3 D2 D1 D0 Q3 (nächster) Q2 (nächster) Q1 (nächster) Q0 (nächster) Notizen
X 1 X d3 d2 d1 d0 d3 d2 d1 d0 Parallele Ladung
0 0 si X X X X si Q3 Q2 Q1 Rechtsverschiebung
1 0 si X X X X Q2 Q1 Q0 si Linksverschiebung
X X X X X X X Q3 Q2 Q1 Q0 Keine Änderung

Hinweis: ↑ stellt eine steigende Taktflanke dar, ↓ fallende Flanke, X Don't care, si serieller Eingang, dn paralleler Dateneingang. Qn ist der aktuelle Zustand.

Eingänge und Ausgänge

  • Eingänge (insgesamt 8):

    • SI (Serial Input): 1-Bit-Eingang für serielle Dateneingabe.
    • CLK (Takt): 1-Bit-Eingang; Operationen erfolgen bei steigender Flanke.
    • DIR (Richtung): 1-Bit-Eingang; steuert die Schieberichtung (0 = rechts, 1 = links), wenn S/L 0 ist.
    • S/L (Shift/Load): 1-Bit-Eingang; Modussteuerung (0 = Schieben, 1 = parallele Ladung).
    • D0, D1, D2, D3: Vier 1-Bit-parallele Dateneingänge zum gleichzeitigen Laden von Daten, wenn S/L 1 ist.
  • Ausgänge (insgesamt 5):

    • Q0, Q1, Q2, Q3: Vier 1-Bit-parallele Ausgänge, die die aktuell gespeicherten Bits des Registers darstellen.
    • SO (Serial Output): 1-Bit-Ausgang. Verhalten hängt von der Schieberichtung ab:
      • Bei Rechtsverschiebung (DIR=0): SO spiegelt typischerweise Q0 wider.
      • Bei Linksverschiebung (DIR=1): SO spiegelt typischerweise Q3 wider.

Konfigurierbare Parameter

  • Bitbreite: Die Anzahl der Bits, die das Schieberegister speichern kann (typischerweise 4, 8, 16 usw.).
  • Schieberichtung: Ob das Register nach links, rechts oder bidirektional verschiebt.
  • Typ: Die Konfiguration des Registers (SISO, SIPO, PISO, PIPO oder Universal).
  • Taktflankenempfindlichkeit: Ob das Register auf steigende oder fallende Taktflanken reagiert.
  • Laufzeitverzögerung: Die Zeit, bis sich Ausgänge nach einem Auslösereignis ändern.

Visuelle Darstellung in DigiSim.io

Das Schieberegister wird als Rechteckblock mit beschrifteten Eingängen auf der linken Seite (SI, D0–D3, CLK, DIR, S/L) und Ausgängen (Q0–Q3, SO) auf der rechten Seite angezeigt. Der Takteingang ist typischerweise mit einem Dreieckssymbol markiert, das die Flankenempfindlichkeit anzeigt. Wenn die Komponente in einer Schaltung verbunden ist, zeigt sie ihren aktuellen Zustand visuell durch die an ihren Ausgängen angezeigten Werte und Farbänderungen auf den verbindenden Leitungen an.

Pädagogischer Wert

Schlüsselkonzepte

  • Sequentielle Datenverarbeitung: Demonstriert, wie Daten nacheinander Bit für Bit verarbeitet werden können.
  • Seriell-Parallel-Umwandlung: Veranschaulicht die Transformation zwischen sequentiellen und gleichzeitigen Datenformaten.
  • Zeitliche Speicherung: Zeigt, wie digitale Systeme Daten über die Zeit speichern und verzögern können.
  • Getakteter Betrieb: Verstärkt das Verständnis synchroner digitaler Systeme.
  • Digitale Kommunikation: Führt grundlegende Konzepte der digitalen Datenübertragung ein.

Lernziele

  • Die Prinzipien sequentieller Datenspeicherung und -manipulation verstehen.
  • Lernen, wie digitale Systeme zwischen seriellen und parallelen Datenformaten konvertieren.
  • Verschiedene Arten von Schieberegistern und ihre Anwendungen erkennen.
  • Konzepte von Schieberegistern zur Lösung von Datenverarbeitungsproblemen in digitalen Schaltungen anwenden.
  • Die Rolle von Schieberegistern in digitalen Kommunikationsprotokollen begreifen.

Anwendungsbeispiele/Szenarien

  • Serielle Kommunikation: Umwandlung zwischen parallelen Daten in einem Mikroprozessor und seriellen Daten zur Übertragung.
  • Verzögerungsleitungen: Erstellung präziser digitaler Verzögerungen für Signalverarbeitungsanwendungen.
  • Datenpufferung: Temporäres Speichern von Datenbits, bevor sie verarbeitet werden.
  • Mustererzeugung: Erstellung sich wiederholender Bitmuster zu Test- oder Anzeigezwecken.
  • Digitale Filter: Implementierung von Finite-Impulse-Response-Filtern (FIR) zur Signalverarbeitung.
  • Anzeigetreiber: Steuerung von LED-/LCD-Matrixanzeigen mit begrenzten Steuerleitungen.

Technische Hinweise

  • Schieberegister werden typischerweise mit D-Flipflops implementiert, mit einem Flipflop pro Speicherbit.
  • Die maximale Betriebsfrequenz ist durch die Laufzeitverzögerung durch die Flipflop-Kette begrenzt.
  • Universalschieberegister bieten die größte Flexibilität, erfordern aber mehr Steuereingänge und interne Logik.
  • Linear Feedback Shift Registers (LFSRs) sind spezielle Konfigurationen, die zur Erzeugung pseudozufälliger Zahlen und für CRC-Berechnungen verwendet werden.
  • In DigiSim.io modellieren Schieberegister typisches flankengesteuertes Verhalten mit klarer visueller Rückmeldung von Schiebeoperationen.
  • Mehrere Schieberegister können kaskadiert werden, um größere Datenbreiten zu verarbeiten, als eine einzelne Komponente bereitstellt.

Arten von Schieberegistern

  1. Serial-In, Serial-Out (SISO)

    • Daten gehen Bit für Bit ein und Bit für Bit aus
    • Fungiert als Verzögerungsleitung oder digitales Speicherelement
  2. Serial-In, Parallel-Out (SIPO)

    • Daten gehen seriell ein, können aber parallel abgerufen werden
    • Wird zur Seriell-zu-Parallel-Umwandlung verwendet
    • Üblich in Kommunikationsschnittstellen (UART, SPI)
  3. Parallel-In, Serial-Out (PISO)

    • Daten werden parallel geladen, aber seriell ausgeschoben
    • Wird zur Parallel-zu-Seriell-Umwandlung verwendet
    • Wesentlich in Datenübertragungssystemen
  4. Parallel-In, Parallel-Out (PIPO)

    • Daten gehen parallel ein und parallel aus
    • Bietet temporäre Speicherung und kann Daten verschieben
    • Wird zur Datenpufferung zwischen Systemen verwendet
  5. Bidirektionale Schieberegister

    • Können Daten nach links oder rechts verschieben
    • Ermöglichen flexible Datenmanipulation
  6. Universalschieberegister

    • Unterstützen mehrere Betriebsmodi (alle der oben genannten)
    • Konfigurierbar über Steuereingänge
    • Bieten maximale Flexibilität

Betriebsmodi

Modussteuerung (S/L, DIR) Funktion Beschreibung
1, X Parallele Ladung Q[3:0] = D[3:0]
0, 0 Rechtsverschiebung SI → Q3, Q3 → Q2, Q2 → Q1, Q1 → Q0
0, 1 Linksverschiebung Q2 → Q3, Q1 → Q2, Q0 → Q1, SI → Q0

Wahrheitstabelle (4-Bit-Universalschieberegister)

CLK DIR S/L SI D3 D2 D1 D0 Q3 (nächster) Q2 (nächster) Q1 (nächster) Q0 (nächster) Notizen
X 1 X d3 d2 d1 d0 d3 d2 d1 d0 Parallele Ladung
0 0 si X X X X si Q3 Q2 Q1 Rechtsverschiebung
1 0 si X X X X Q2 Q1 Q0 si Linksverschiebung
X X X X X X X Q3 Q2 Q1 Q0 Keine Änderung

Hinweis: ↑ stellt eine steigende Taktflanke dar, ↓ fallende Flanke, X Don't care, si serieller Eingang, dn paralleler Dateneingang. Qn ist der aktuelle Zustand.

Eigenschaften

  • Bitkapazität: Typischerweise 4, 8 oder 16 Bit (kann eine beliebige Länge haben)
  • Schieberichtung: Links/rechts/bidirektional je nach Konfiguration
  • Taktanforderungen: Synchroner Betrieb an Taktflanken
  • Timing: Laufzeitverzögerung begrenzt die maximale Schiebefrequenz
  • Abtastung: Eingangsdaten werden an aktiver Taktflanke abgetastet
  • Reset-Verhalten: Setzt typischerweise alle Bits auf null
  • Preset-Optionen: Manche Register erlauben das Setzen auf Anfangswerte
  • Datenflusskontrolle: Kann Enable-/Disable-Funktionen enthalten
  • Stromanforderungen: Proportional zur Anzahl der Flipflops und Taktfrequenz

Anwendungen

  1. Datenkonvertierung

    • Seriell-zu-Parallel- und Parallel-zu-Seriell-Umwandlung
    • Schnittstelle zwischen seriellen Bussen und parallelen Prozessoren
  2. Digitale Kommunikation

    • UART-, SPI-, I2C-Schnittstellen
    • Codier-/Decodieroperationen
    • Bit-Framing und Datenformatierung
  3. Signalverarbeitung

    • Digitale Filter (FIR-Filter)
    • Verzögerungsleitungen für digitale Signalverarbeitung
    • Korrelations- und Faltungsoperationen
  4. Datenspeicherung

    • Temporäre Pufferspeicherung
    • Bitmustererzeugung und -erkennung
  5. Computersysteme

    • CPU-Schiebe-/Rotationsoperationen
    • CRC-Erzeugung und -Prüfung
    • Pseudozufallssequenzerzeugung
  6. Anzeigesysteme

    • LED-/LCD-Anzeigemultiplexing
    • Laufschriftanzeigen
    • Anzeigedatenverteilung
  7. Timing und Steuerung

    • Sequenzerzeugung
    • Ereignis-Timing und -Steuerung

Implementierung

Schieberegister können implementiert werden mit:

  1. Flipflop-Ketten:

    • D-Flipflops (am häufigsten)
    • JK-Flipflops
    • Master-Slave-Konfigurationen
  2. Integrierte Schaltkreise:

    • 74xx-Serie:
      • 7491: 8-Bit-SISO
      • 74164: 8-Bit-SIPO
      • 74165: 8-Bit-PISO
      • 74194/74195: 4-Bit-Universal/4-Bit-Parallelzugriff
      • 74299: 8-Bit-Universal
  3. Speicherbasiert:

    • FIFO-Speicherkonfigurationen
    • Ringpuffer-Implementierungen
    • Schieberegister-LUTs in FPGAs

Schaltungsimplementierung

Ein grundlegendes 4-Bit-Serial-In-Serial-Out-Schieberegister:

### Serial-In Serial-Out (SISO) Shift Register

```mermaid
graph LR
    SIN[Serial In] --> FF0[D FF0]
    CLK[Clock CLK] --> FF0
    FF0 -->|Q0| FF1[D FF1]
    CLK --> FF1
    FF1 -->|Q1| FF2[D FF2]
    CLK --> FF2
    FF2 -->|Q2| FF3[D FF3]
    CLK --> FF3
    FF3 -->|Q3| SOUT[Serial Out]

Verwandte Komponenten

  • Register: Allzweck-Datenspeicherung
  • Zähler: Sequentielle Schaltungen, die Pulse zählen
  • Flipflops: Grundlegende Bausteine für Schieberegister (D, JK)
  • Multiplexer: Werden oft in Designs von Universalschieberegistern verwendet
  • Serielle Kommunikationsschnittstellen: UART, SPI, I2C
  • Linear Feedback Shift Registers: Zur Erzeugung pseudozufälliger Sequenzen
  • Barrel-Shifter: Für Mehrbitverschiebungen in einem einzigen Zyklus
  • FIFO/LIFO-Puffer: Fortgeschrittene Datenspeicherstrukturen
  • Digitale Filter: Verwenden Schieberegister zur Implementierung von Verzögerungsleitungen
  • Sequenzdetektoren: Mustererkennungsschaltungen

school Lernpfad

arrow_back Voraussetzungen

arrow_forward Nächste Schritte

help_outline Häufig gestellte Fragen

Wie funktionieren Schieberegister?

Bei jeder Taktflanke übergibt jedes Flip-Flop seinen Ausgang an seinen Nachbarn und empfängt von der anderen Seite. Daten verschieben sich um eine Position nach links oder rechts.

Was sind SIPO und PISO?

SIPO (Serial In Parallel Out): Daten kommen seriell, Paralleldaten verfügbar. PISO (Parallel In Serial Out): Paralleles Laden, serielles Ausgeben.

play_arrow Live-Schaltung ausführen

Weitere Komponenten ansehen