Menu
Coddy logo textTech

Contador de bits

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 Universal Asynchronous Receiver-Transmitter (Receptor-Transmisor Asíncrono Universal). Es un protocolo de hardware simple que permite que dos dispositivos se comuniquen usando solo un 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 transmite datos un bit a la vez, con bits de inicio (start) y parada (stop) 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 rastrear qué bit estamos enviando, necesitamos un contador de bits que cuente de 0 a 10.
Cómo funciona el contador de bits

  • Comenzar en 0
  • Cada ciclo de reloj, sumar 1
  • Cuando alcance 10, volver a 0
  • Repetir indefinidamente

En esta tarea, aún no lo reiniciaremos: solo lo incrementaremos.

Qué hacer:

  1. Crea un módulo llamado uart_tx con:
    • Una entrada: clk
    • Una salida: cnt (4 bits, tipo reg)
  2. Dentro del módulo:
    • Establece cnt a 0 al inicio dentro de un bloque initial
    • Añade un bloque always @(posedge clk)
    • Haz que cnt se incremente en 1 en cada flanco de reloj

Pruébalo tú mismo

// TODO: Crea el module uart_tx con input clk y output 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