Menu
Coddy logo textTech

Bit counter

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

challenge icon

Aufgabe

In diesem Kapitel erstellst du Schritt für Schritt einen UART-Sender. UART steht für Universal Asynchronous Receiver-Transmitter. Es ist ein einfaches Hardwareprotokoll, das zwei Geräten ermöglicht, nur über eine Leitung (zum Senden) und eine weitere 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, mit start- und stop-bits, die den Beginn und das end jedes Bytes markieren.

Ein UART-Sender sendet 10 bits: start bit (1), Daten-bits (8), stop bit (1). Um zu verfolgen, welches bit wir senden, benötigen wir einen bit-Zähler, der von 0 bis 10 zählt.
So funktioniert der bit-Zähler

  • start bei 0
  • Add in jedem Taktzyklus 1 hinzu
  • Wenn er 10 erreicht, gehe zurück auf 0
  • Wiederhole dies für immer

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

Was zu tun ist:

  1. Create ein module namens uart_tx mit:
    • Einem input: clk
    • Einem output: cnt (4 bits, Typ reg)
  2. inside dem module:
    • Setze cnt zu Beginn inside eines initial block auf 0
    • Füge einen always @(posedge clk)-block hinzu
    • Make cnt bei jeder Taktflanke um 1 größer

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