Menu
Coddy logo textTech

Bit-Zähler

Teil des Abschnitts Grundlagen der Verilog-Journey von Coddy — Lektion 87 von 90.

challenge icon

Aufgabe

In diesem Kapitel wirst du Schritt für Schritt einen UART-Transmitter bauen. UART steht für Universal Asynchronous Receiver-Transmitter. Es ist ein einfaches Hardware-Protokoll, das es zwei Geräten ermöglicht, über nur eine Leitung (zum Senden) und eine weitere Leitung (zum Empfangen) zu kommunizieren.

Stell es dir wie zwei Personen vor, die am Telefon sprechen – einer spricht (sendet), der andere hört zu (empfängt). UART sendet Daten Bit für Bit, mit Start- und Stopp-Bits, um den Anfang und das Ende jedes Bytes zu markieren.

Ein UART-Transmitter sendet 10 Bits: Start-Bit (1), Daten-Bits (8), Stopp-Bit (1). Um zu verfolgen, welches Bit wir gerade senden, benötigen wir einen Bit-Zähler, der von 0 bis 10 zählt.
Wie der Bit-Zähler funktioniert

  • Beginne bei 0
  • Erhöhe bei jedem Taktzyklus um 1
  • Wenn er 10 erreicht, gehe zurück auf 0
  • Wiederhole dies endlos

In dieser Aufgabe werden wir ihn noch nicht zurücksetzen: Wir werden ihn nur erhöhen.

Was zu tun ist:

  1. Erstelle ein Modul namens uart_tx mit:
    • Einem Eingang: clk
    • Einem Ausgang: cnt (4 Bits, Typ reg)
  2. Innerhalb des Moduls:
    • Setze cnt zu Beginn innerhalb eines initial-Blocks auf 0
    • Füge einen always @(posedge clk)-Block hinzu
    • Lasse cnt bei jeder Taktflanke um 1 ansteigen

Probier es selbst

// TODO: Erstelle das Modul uart_tx mit dem Eingang clk und dem Ausgang cnt (4 Bits)

// TODO: Setze cnt zu Beginn innerhalb eines initial-Blocks auf 0

// TODO: Füge einen always @(posedge clk) Block hinzu

// TODO: Inkrementiere cnt

Alle Lektionen in Grundlagen