Menu
CoddyTech

Contador de bits

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 transmitir) e outro fio (para receber).

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 funciona o contador de bits

  • 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. Crie um módulo chamado uart_tx com:
    • Uma entrada: clk
    • Uma saída: cnt (4 bits, do tipo reg)
  2. Dentro do módulo:
    • Defina cnt como 0 no início, dentro de um bloco initial
    • Adicione um bloco always @(posedge clk)
    • Faça 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