Menu
Coddy logo textTech

Contatore di bit

Fa parte della sezione Fondamenti del percorso Verilog di Coddy. Lezione 87 di 90.

challenge icon

Sfida

In questo capitolo costruirai un trasmettitore UART passo dopo passo. UART sta per Universal Asynchronous Receiver-Transmitter. È un semplice protocollo hardware che consente a due dispositivi di comunicare usando un solo filo (per trasmettere) e un altro filo (per ricevere).

Immaginalo come due persone che parlano al telefono: una parla (trasmette), l’altra ascolta (riceve). UART invia i dati un bit alla volta, con bit di avvio e di arresto che indicano l’inizio e la fine di ogni byte.

Un trasmettitore UART invia 10 bit: bit di avvio (1), bit di dati (8), bit di arresto (1). Per tenere traccia del bit che stiamo inviando, ci serve un contatore di bit che conti da 0 a 10.
Come funziona il contatore di bit

  • Inizia da 0
  • A ogni ciclo di clock, aggiungi 1
  • Quando raggiunge 10, torna a 0
  • Ripeti all’infinito

In questa attività non lo azzereremo ancora: lo incrementeremo soltanto.

Cosa fare:

  1. Crea un modulo chiamato uart_tx con:
    • Un input: clk
    • Un output: cnt (4 bit, di tipo reg)
  2. All’interno del modulo:
    • Imposta cnt a 0 all’inizio, all’interno di un blocco initial
    • Aggiungi un blocco always @(posedge clk)
    • Fai in modo che cnt aumenti di 1 a ogni fronte di clock

Provalo tu

// TODO: Crea il modulo uart_tx con ingresso clk e uscita cnt (4 bit)

// TODO: Imposta cnt a 0 all'avvio all'interno di un blocco initial

// TODO: Aggiungi un blocco always @(posedge clk)

// TODO: Incrementa cnt

Tutte le lezioni di Fondamenti

Esercitati da solo: Compilatore Verilog online