1
0
forked from tanchou/Verilog
Files

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 lenvironnement :
    • 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 lenvironnement 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 dun top-module pour transmettre la distance mesurée par le capteur au PC via UART

Après-midi :

  • Implémentation dun 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 dun 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 dun ESP32 avec le Tang Nano 20K