Menu
Coddy logo textTech

Bit counter

Parte de la sección Fundamentos del Journey de Verilog de Coddy. Lección 87 de 90.

challenge icon

Desafío

En este capítulo, construirás un transmisor UART paso a paso. UART significa transmisor-receptor asíncrono universal. Es un protocolo de hardware sencillo que permite que dos dispositivos se comuniquen usando un solo cable (para transmitir) y otro cable (para recibir).

Piensa en ello como dos personas hablando por teléfono: una habla (transmite) y la otra escucha (recibe). UART envía los datos un bit a la vez, con bits de inicio y de parada para marcar el comienzo y el final de cada byte.

Un transmisor UART envía 10 bits: bit de inicio (1), bits de datos (8), bit de parada (1). Para llevar un registro de qué bit estamos enviando, necesitamos un contador de bits que cuente de 0 a 10.
Cómo funciona el contador de bits

  • Start en 0
  • En cada ciclo de reloj, Add 1
  • Cuando llega a 10, vuelve a 0
  • Repite para siempre

En esta tarea, todavía no lo reiniciaremos: solo lo incrementaremos.

Qué hacer:

  1. Create un module llamado uart_tx con:
    • Una entrada: clk
    • Una salida: cnt (4 bits, tipo reg)
  2. Dentro del module:
    • Establece cnt en 0 al principio inside un initial block
    • Add un block always @(posedge clk)
    • Make que cnt aumente en 1 en cada flanco de reloj

Pruébalo tú mismo

// TODO: Crea el módulo uart_tx con entrada clk y salida cnt (4 bits)

// TODO: Establece cnt a 0 al inicio dentro de un bloque initial

// TODO: Añade el bloque always @(posedge clk)

// TODO: Incrementa cnt

Todas las lecciones de Fundamentos

Practica por tu cuenta: Compilador de Verilog online