Menu
Coddy logo textTech

Bit counter

Fait partie de la section Fondamentaux du Journey Verilog de Coddy. Leçon 87 sur 90.

challenge icon

Défi

Dans ce chapitre, vous allez construire un émetteur UART étape par étape. UART signifie Universal Asynchronous Receiver-Transmitter. Il s’agit d’un protocole matériel simple qui permet à deux appareils de communiquer en utilisant un seul fil (pour transmettre) et un autre fil (pour recevoir).

Imaginez deux personnes qui parlent au téléphone : l’une parle (transmet), l’autre écoute (reçoit). UART envoie les données un bit à la fois, avec des start et stop bits pour marquer le début et la fin de chaque octet.

Un émetteur UART envoie 10 bits : start bit (1), data bits (8), stop bit (1). Pour suivre le bit que nous envoyons, nous avons besoin d’un compteur de bits qui compte de 0 à 10.
Fonctionnement du compteur de bits

  • start à 0
  • À chaque cycle d’horloge, Add 1
  • Lorsqu’il atteint 10, revenir à 0
  • Répéter indéfiniment

Dans cette tâche, nous ne le réinitialiserons pas encore : nous allons seulement l’augmenter.

À faire :

  1. Create un module appelé uart_tx avec :
    • Une entrée : clk
    • Une sortie : cnt (4 bits, de type reg)
  2. inside le module :
    • Définir cnt à 0 au début, inside un bloc initial
    • Add un bloc always @(posedge clk)
    • Make cnt augmenter de 1 à chaque front d’horloge

Essayez vous-même

// TODO: Créer le module uart_tx avec l'entrée clk et la sortie cnt (4 bits)

// TODO: Mettre cnt à 0 au démarrage dans un bloc initial

// TODO: Ajouter un bloc always @(posedge clk)

// TODO: Incrémenter cnt

Toutes les leçons de Fondamentaux

Entraînez-vous par vous-même : Compilateur Verilog en ligne