Menu
Coddy logo textTech

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