Menu
Coddy logo textTech

Bitzä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-Sender erstellen. UART steht für Universal Asynchronous Receiver-Transmitter. Es handelt sich um ein einfaches Hardwareprotokoll, das zwei Geräten ermöglicht, nur mithilfe einer Leitung (zum Senden) und einer weiteren Leitung (zum Empfangen) zu kommunizieren.

Stell es dir wie zwei Menschen vor, die am Telefon miteinander sprechen: Einer spricht (sendet), der andere hört zu (empfängt). UART sendet Daten ein Bit nach dem anderen, wobei Start- und Stoppbits den Beginn und das Ende jedes Bytes markieren.

Ein UART-Sender sendet 10 Bits: Startbit (1), Datenbits (8), Stoppbit (1). Um zu verfolgen, welches Bit wir senden, benötigen wir einen Bitzähler, der von 0 bis 10 zählt.
So funktioniert der Bitzähler

  • Bei 0 starten
  • In jedem Taktzyklus 1 addieren
  • Wenn 10 erreicht ist, auf 0 zurückgehen
  • Unendlich wiederholen

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

Aufgabe:

  1. Erstelle ein Modul namens uart_tx mit:
    • Einem Eingang: clk
    • Einem Ausgang: cnt (4 Bits, Typ reg)
  2. Innerhalb des Moduls:
    • Setze cnt am Anfang innerhalb eines initial-Blocks auf 0
    • Füge einen always @(posedge clk)-Block hinzu
    • Lass 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 in einem initial-Block auf 0

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

// TODO: Inkrementiere cnt

Alle Lektionen in Grundlagen

Übe selbstständig: Online-Verilog-Compiler