forked from tanchou/Verilog
		
	
		
			
	
	
		
			90 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
		
		
			
		
	
	
			90 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
|   | # 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 | |||
|  | 
 | |||
|  | --- |