diff --git a/README.md b/README.md index 245caeb..2b7c620 100644 --- a/README.md +++ b/README.md @@ -1,12 +1,208 @@ # Verilog +## Semaine 1 + +Jour 1 : + + Matin : + + Exercices HDLbits : + + - Vectors + + - Modules : hierarchy + + - Procedures (commencer) + + + + Aprèm : + + Exercices HDLbits : + + - Procedures + + - More Verilog features + + - Circuits + + Début de la mise en place de l’environnement : + + Téléchargement de oss-cad (tools chain) pour simuler et synthétiser le verilog HDL + + Essaie sur des modules verilog + + + +Jour 2 : + +Matin : + +Exercices HDLbits : + +Latches & flip flop + +Lecture de doc + +Aprèm : + +Exercices HDLbits : + +Counters + +Galère sur la mise en place de l’environnement avec de outils open source : + +Telechargement et instalation du driver opensource pour le tang nano avec Z-Diag, + +Étape + +Outil + +Etat + +Synthèse + +yosys + +✅ + +Placement/Routage Probleme ici + +nextpnr-gowin + +X + +Packer bitstream + +apicula (ou gowin_pack open source) + +X + +Flash USB + +dfu-util + +X + +Simulation + +iverilog, gtkwave + +✅ + + + + + + + +Jour 3 : + +Matin : + +Lecture documentation sur le capteur ultrasonic + +Implémentation du fonctionnement du capteur afin de tester du code en simulation + +Aprèm : + +Implementation du module qui permet de mesurer la distance en communiquant avec le capteur + +Implémentation du module qui permet de transformer la distance en affichage sur les 6 leds pour faire comme un capteur de recul + +Implémentation du module top qui met en corrélation les deux module précédent afin de faire le system de radar de recul + +Installation de logiciel propriétaire gowin fpga en attendant + +Prise en main du logiciel avec des programme simple + +Premier montage du capteur sur la breadboard + +Refonte du module de mesure car finalement le capteur fonctionne sur un seul fil bi directionnel + implémentation de la mesure continue + +Programmation sur fpga fonctionnel + + + +Lecture de doc sur la led ws2812 + +Implémentation des modules et du test bench + +Fail + + + +Jour 4 : + +Matin : + +Lecture documentation sur le protocole UART (serial) + +Implémentation du module uart_tx transmision encoding ainsi que sa tb + +Implémentation du module uart_rx reception decoding ainsi que sa tb + +Implémentation du module uart_tx_rx qui permet de communiquer facilement en uart ainsi que sa tb + +Il suffit de lier le fils TX au RX du deuxième dispositif et lier son TX a notre RX, quand on souhaite envoyer des données il suffit d’y inscrire un byte (octet) dans data_in puis de donner une impulsion sur start, pour recevoir on sais que l’on a des données a lire quand valid est a 1 + + + +Preparation pour cree un top-module qui permet de transmettre la distance mesurer par le capeur au pc en uart + + + +Aprèm : + +Implémentation d’un nouveau module qui regroupe celui de la transmission et du capteur ultrason afin d'essayer d'envoyer la distance mesurée par le capteur à l'ordinateur + +Essaie reussi, valeur envoyer par le tx depuis le fpga et recupéré par un script python + +Création nouveau modules pour utiliser l’uart dans les deux sens, depuis le pc on envoie un chiffre entre 0 & 5 et sa toggle la led correspondante sur le fpga et celui-ci nous renvoie son état actuel. + +Plein de soucis et de bug + +Lecture de code exemple trouver sur un git, résolution de certain problème + + + + + +Jour 5 : + +Lecture de code d’autrui + +Essaie de différent code + +Réflexion sur la conception du projet qui consiste a utiliser un esp32 avec le tang nano 20k + +## Semaine 2 + +Jour 6 : + + Matin : + + Remise dans le bain + +Réflexion sur projet à faire avec un FPGA (tang nano 20k) et un esp32 : + +Le but global est de pouvoir se connecter à l'esp32 et ensuite de pouvoir communiquer avec le pc (ou autre appareil connecté en USB au FPGA) + +l'esp 32 agis comme esclave pour le FPGA et sert uniquement de portail wifi, le FPGA quand à lui, fera le lien entre les appareils en wifi et le périphérique USB + + + +[ PC via USB-C ] ←→ [ FPGA (Tang Nano 20K) ] ←→ [ ESP32 ] ←→ [ Clients en Wi-Fi ] -## Commands + + +## Cheat sheet +### Commands Compile code iverilog -o Nom_de_sortie.vvp .\source1.v .\tb_1.v -### Upload on fpga +#### Upload on fpga yosys -p "synth_ecp5 -json design.json" counter.v nextpnr-gowin --chip GW2AR-LV18QN88C8/I7 --json design.json --asc design.asc diff --git a/Semaine_2/Projet_esp32/Projet_esp32.txt b/Semaine_2/Projet_esp32/Projet_esp32.txt index 08900dc..12be21e 100644 --- a/Semaine_2/Projet_esp32/Projet_esp32.txt +++ b/Semaine_2/Projet_esp32/Projet_esp32.txt @@ -1,6 +1,6 @@ Projet à faire avec un FPGA (tang nano 20k) et un esp32 : -Le but global est de pouvoir se connecter à l'esp32 et ensuite de pouvoir communiquer avec le pc (ou autre appareil connecté en usb au FPGA) -l'esp 32 agis comme esclave pour le FPGA et sert uniquement de portail wifi, le FPGA quand à lui, fera le lien entre les appareils en wifi et le périphérique usb +Le but global est de pouvoir se connecter à l'esp32 et ensuite de pouvoir communiquer avec le pc (ou autre appareil connecté en USB au FPGA) +l'esp 32 agis comme esclave pour le FPGA et sert uniquement de portail wifi, le FPGA quand à lui, fera le lien entre les appareils en wifi et le périphérique USB [ PC via USB-C ] ←→ [ FPGA (Tang Nano 20K) ] ←→ [ ESP32 ] ←→ [ Clients en Wi-Fi ]