Menu
Coddy logo textTech

Bit counter

Parte da seção Fundamentos do Journey de Verilog da Coddy. Lição 87 de 90.

challenge icon

Desafio

Neste capítulo, você construirá um transmissor UART passo a passo. UART significa Universal Asynchronous Receiver-Transmitter. É um protocolo de hardware simples que permite que dois dispositivos se comuniquem usando apenas um fio (para transmissão) e outro fio (para recepção).

Pense nisso como duas pessoas conversando ao telefone: uma fala (transmite), a outra escuta (recebe). A UART envia dados um bit por vez, com bits de início e parada para marcar o começo e o fim de cada byte.

Um transmissor UART envia 10 bits: bit de início (1), bits de dados (8), bit de parada (1). Para acompanhar qual bit estamos enviando, precisamos de um contador de bits que conte de 0 a 10.
Como o contador de bits funciona

  • Começa em 0
  • A cada ciclo de clock, adiciona 1
  • Quando chega a 10, volta para 0
  • Repete para sempre

Nesta tarefa, ainda não vamos redefini-lo: vamos apenas incrementá-lo.

O que fazer:

  1. Create um module chamado uart_tx com:
    • Um input: clk
    • Um output: cnt (4 bits, tipo reg)
  2. Dentro do module:
    • Defina cnt como 0 no início, dentro de um initial block
    • Add um bloco always @(posedge clk)
    • Make cnt aumentar em 1 a cada borda de clock

Experimente você mesmo

// TODO: Crie o módulo uart_tx com entrada clk e saída cnt (4 bits)

// TODO: Defina cnt como 0 no início dentro de um bloco initial

// TODO: Adicione o bloco always @(posedge clk)

// TODO: Incremente cnt

Todas as lições de Fundamentos

Pratique por conta própria: Compilador de Verilog online