1
0
forked from tanchou/Verilog
Files
Verilog_Louis/README.md
Gamenight77 574ace75ef Readme
2025-04-22 14:32:34 +02:00

209 lines
4.2 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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 lenvironnement:
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 lenvironnement 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 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
Preparation pour cree un top-module qui permet de transmettre la distance mesurer par le capeur au pc en uart
Aprèm:
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
Essaie reussi, valeur envoyer par le tx depuis le fpga et recupéré par un script python
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.
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 dautrui
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 ]
## Cheat sheet
### Commands
Compile code
iverilog -o Nom_de_sortie.vvp .\source1.v .\tb_1.v
#### Upload on fpga
yosys -p "synth_ecp5 -json design.json" counter.v
nextpnr-gowin --chip GW2AR-LV18QN88C8/I7 --json design.json --asc design.asc