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 werden Sie Schritt für Schritt einen UART-Sender 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.

Stellen Sie es sich wie zwei Personen vor, die miteinander telefonieren — einer spricht (sendet), der andere hört zu (empfängt). UART überträgt Daten Bit für Bit, mit Start- und Stopp-Bits, um den Anfang und das Ende jedes Bytes zu markieren.

Ein UART-Sender überträgt 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 10 erreicht ist, gehe zurück auf 0
  • Endlos wiederholen

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

Was zu tun ist:

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

Probier es selbst

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

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

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

// TODO: Inkrementiere cnt

Alle Lektionen in Grundlagen