1
0
forked from tanchou/Verilog
Files
Verilog_Louis/README.md

169 lines
4.3 KiB
Markdown
Raw Normal View History

2025-03-22 09:16:50 +01:00
# Verilog
2025-04-22 14:32:34 +02:00
## Semaine 1
2025-04-22 14:32:34 +02:00
Jour 1:
2025-04-22 14:32:34 +02:00
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 lenvironnement:
Téléchargement de oss-cad (tools chain) pour simuler et synthétiser le verilog HDL
Essaie sur des modules verilog
Jour 2:
2025-04-22 14:34:54 +02:00
Matin:
2025-04-22 14:32:34 +02:00
2025-04-22 14:34:54 +02:00
Exercices HDLbits:
2025-04-22 14:32:34 +02:00
2025-04-22 14:34:54 +02:00
Latches & flip flop
2025-04-22 14:32:34 +02:00
2025-04-22 14:34:54 +02:00
Lecture de doc
2025-04-22 14:32:34 +02:00
2025-04-22 14:34:54 +02:00
Aprèm:
2025-04-22 14:32:34 +02:00
2025-04-22 14:34:54 +02:00
Exercices HDLbits:
2025-04-22 14:32:34 +02:00
2025-04-22 14:34:54 +02:00
Counters
2025-04-22 14:32:34 +02:00
2025-04-22 14:34:54 +02:00
Galère sur la mise en place de lenvironnement avec de outils open source:
2025-04-22 14:32:34 +02:00
2025-04-22 14:34:54 +02:00
Telechargement et instalation du driver opensource pour le tang nano avec Z-Diag,
2025-04-22 14:32:34 +02:00
Jour 3:
2025-04-22 14:34:54 +02:00
Matin:
2025-04-22 14:32:34 +02:00
2025-04-22 14:34:54 +02:00
Lecture documentation sur le capteur ultrasonic
2025-04-22 14:32:34 +02:00
2025-04-22 14:34:54 +02:00
Implémentation du fonctionnement du capteur afin de tester du code en simulation
2025-04-22 14:32:34 +02:00
2025-04-22 14:34:54 +02:00
Aprèm:
2025-04-22 14:32:34 +02:00
2025-04-22 14:34:54 +02:00
Implementation du module qui permet de mesurer la distance en communiquant avec le capteur
2025-04-22 14:32:34 +02:00
2025-04-22 14:34:54 +02:00
Implémentation du module qui permet de transformer la distance en affichage sur les 6 leds pour faire comme un capteur de recul
2025-04-22 14:32:34 +02:00
2025-04-22 14:34:54 +02:00
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
2025-04-22 14:32:34 +02:00
2025-04-22 14:34:54 +02:00
Installation de logiciel propriétaire gowin fpga en attendant
2025-04-22 14:32:34 +02:00
2025-04-22 14:34:54 +02:00
Prise en main du logiciel avec des programme simple
2025-04-22 14:32:34 +02:00
2025-04-22 14:34:54 +02:00
Premier montage du capteur sur la breadboard
2025-04-22 14:32:34 +02:00
2025-04-22 14:34:54 +02:00
Refonte du module de mesure car finalement le capteur fonctionne sur un seul fil bi directionnel + implémentation de la mesure continue
2025-04-22 14:32:34 +02:00
2025-04-22 14:34:54 +02:00
Programmation sur fpga fonctionnel
2025-04-22 14:32:34 +02:00
2025-04-22 14:34:54 +02:00
Lecture de doc sur la led ws2812
2025-04-22 14:32:34 +02:00
2025-04-22 14:34:54 +02:00
Implémentation des modules et du test bench
2025-04-22 14:32:34 +02:00
2025-04-22 14:34:54 +02:00
Fail
2025-04-22 14:32:34 +02:00
Jour 4:
2025-04-22 14:34:54 +02:00
Matin:
2025-04-22 14:32:34 +02:00
2025-04-22 14:34:54 +02:00
Lecture documentation sur le protocole UART (serial)
2025-04-22 14:32:34 +02:00
2025-04-22 14:34:54 +02:00
Implémentation du module uart_tx transmision encoding ainsi que sa tb
2025-04-22 14:32:34 +02:00
2025-04-22 14:34:54 +02:00
Implémentation du module uart_rx reception decoding ainsi que sa tb
2025-04-22 14:32:34 +02:00
2025-04-22 14:34:54 +02:00
Implémentation du module uart_tx_rx qui permet de communiquer facilement en uart ainsi que sa tb
2025-04-22 14:32:34 +02:00
2025-04-22 14:34:54 +02:00
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 dy inscrire un byte (octet) dans data_in puis de donner une impulsion sur start, pour recevoir on sais que lon a des données a lire quand valid est a 1
2025-04-22 14:32:34 +02:00
2025-04-22 14:34:54 +02:00
2025-04-22 14:32:34 +02:00
2025-04-22 14:34:54 +02:00
Preparation pour cree un top-module qui permet de transmettre la distance mesurer par le capeur au pc en uart
2025-04-22 14:32:34 +02:00
2025-04-22 14:34:54 +02:00
Aprèm:
2025-04-22 14:32:34 +02:00
2025-04-22 14:34:54 +02:00
Implémentation dun 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
2025-04-22 14:32:34 +02:00
2025-04-22 14:34:54 +02:00
Essaie reussi, valeur envoyer par le tx depuis le fpga et recupéré par un script python
2025-04-22 14:32:34 +02:00
2025-04-22 14:34:54 +02:00
Création nouveau modules pour utiliser luart 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.
2025-04-22 14:32:34 +02:00
2025-04-22 14:34:54 +02:00
Plein de soucis et de bug
2025-04-22 14:32:34 +02:00
2025-04-22 14:34:54 +02:00
Lecture de code exemple trouver sur un git, résolution de certain problème
2025-04-22 14:32:34 +02:00
Jour 5:
2025-04-22 14:34:54 +02:00
Lecture de code dautrui
2025-04-22 14:32:34 +02:00
2025-04-22 14:34:54 +02:00
Essaie de différent code
2025-04-22 14:32:34 +02:00
2025-04-22 14:34:54 +02:00
Réflexion sur la conception du projet qui consiste a utiliser un esp32 avec le tang nano 20k
2025-04-22 14:32:34 +02:00
## Semaine 2
Jour 6 :
Matin :
Remise dans le bain
2025-04-22 14:34:54 +02:00
Réflexion sur projet à faire avec un FPGA (tang nano 20k) et un esp32 :
2025-04-22 14:32:34 +02:00
2025-04-22 14:34:54 +02:00
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)
2025-04-22 14:32:34 +02:00
2025-04-22 14:34:54 +02:00
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
2025-04-22 14:32:34 +02:00
2025-04-22 14:34:54 +02:00
2025-04-22 14:32:34 +02:00
2025-04-22 14:34:54 +02:00
[ PC via USB-C ] ←→ [ FPGA (Tang Nano 20K) ] ←→ [ ESP32 ] ←→ [ Clients en Wi-Fi ]
2025-04-22 14:32:34 +02:00
## Cheat sheet
### Commands
Compile code
iverilog -o Nom_de_sortie.vvp .\source1.v .\tb_1.v
2025-04-22 14:32:34 +02:00
#### Upload on fpga
yosys -p "synth_ecp5 -json design.json" counter.v
nextpnr-gowin --chip GW2AR-LV18QN88C8/I7 --json design.json --asc design.asc