# Verilog ## Semaine 1 ### Jour 1 **Matin :** - Exercices HDLbits : - Vectors - Modules : hierarchy - Procedures (commencé) **Après-midi :** - Exercices HDLbits : - Procedures - More Verilog features - Circuits - Début de la mise en place de l’environnement : - Téléchargement de oss-cad (toolchain) pour simuler et synthétiser le Verilog HDL - Essais sur des modules Verilog --- ### Jour 2 **Matin :** - Exercices HDLbits : - Latches & Flip-flops - Lecture de documentation **Après-midi :** - Exercices HDLbits : - Counters - Difficultés sur la mise en place de l’environnement avec des outils open source : - Téléchargement et installation du driver open source pour le Tang Nano avec Z-Diag --- ### Jour 3 **Matin :** - Lecture de documentation sur le capteur ultrasonique - Implémentation du fonctionnement du capteur pour tester du code en simulation **Après-midi :** - Implémentation du module de mesure de distance via le capteur - Implémentation du module de conversion distance → affichage sur 6 LEDs (type capteur de recul) - Implémentation du module top combinant les deux modules précédents (système de radar de recul) - Installation du logiciel propriétaire Gowin FPGA - Prise en main du logiciel avec des programmes simples - Premier montage du capteur sur breadboard - Refonte du module de mesure (capteur avec un seul fil bidirectionnel) + mesure continue - Programmation sur FPGA fonctionnelle - Lecture de documentation sur les LEDs WS2812 - Implémentation des modules + testbench - Échec --- ### Jour 4 **Matin :** - Lecture de documentation sur le protocole UART (série) - Implémentation : - `uart_tx` (transmission + encodage) + testbench - `uart_rx` (réception + décodage) + testbench - `uart_tx_rx` (communication complète) + testbench - Explication : relier TX du module A au RX du module B et inversement. Pour envoyer des données, inscrire un byte dans `data_in` et donner une impulsion sur `start`. Pour recevoir, attendre que `valid` passe à 1. - Préparation d’un `top-module` pour transmettre la distance mesurée par le capteur au PC via UART **Après-midi :** - Implémentation d’un module combinant capteur + transmission UART pour envoyer la distance au PC - Essai réussi : données envoyées via TX depuis le FPGA, reçues par un script Python - Création d’un module UART bidirectionnel : - Depuis le PC, on envoie un chiffre entre 0 et 5 → la LED correspondante toggle sur le FPGA - Le FPGA renvoie l’état actuel - De nombreux bugs - Lecture de code exemple trouvé sur GitHub, résolution partielle des problèmes --- ### Jour 5 - Lecture de code tiers - Essais de différents codes - Réflexion sur la conception du projet final : - Utilisation d’un ESP32 avec le Tang Nano 20K ---