SEm/laboratoires/04 synthese
(→Circuit) |
|||
(19 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
{{TOC right}} | {{TOC right}} | ||
+ | |||
+ | = Synthèse automatique = | ||
== Introduction == | == Introduction == | ||
+ | Ce laboratoire présente la synthèse automatique de circuits à partir du code VHDL. | ||
+ | Il se base sur l'exemple du générateur de fonctions. La combinaison de deux sinusoïdes à des fréquences différentes permet de dessiner des courbes de Lissajous. | ||
− | + | [[Image:SEm_lissajou.png|center|Courbe de Lissajous]] | |
− | + | == Synthèse == | |
+ | Au niveau supérieur du circuit à synthétiser, il faut prévoir la circuiterie d'entrée/sortie. C'est à ce niveau que se mettent les adaptateurs de polarité des signaux, les "buffers" haute impédance, la logique de synchronisation, ... | ||
+ | Dans notre exemple, nous placerons deux générateurs de sinus, deux modulateurs sigma-delta et une logique de synchronisation pour le signal de remise à zéro au démarrage. | ||
− | + | [[Image:SEm_FPGA_sineGen.png|thumb|Circuit à réaliser]] | |
− | + | Nous profiterons du signal carré de l'un des générateurs pour fournir un signal de synchronisation pour l'oscilloscope. | |
− | + | Le circuit se trouve dans la librairie '''Board''', le banc de test dans la librairie '''Lissajous_test'''. | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | Nous profiterons du signal | + | |
− | + | ||
− | Le circuit se trouve dans la librairie | + | |
− | + | ||
− | + | ||
=== Circuit === | === Circuit === | ||
− | + | {{TaskBox|content= | |
+ | Ouvrir le bloc '''lissajousGenerator_circuit''' de la librairie '''Board''', le compiler et vérifier que le schéma est fonctionnel.}} | ||
− | + | Une simulation du circuit à ce niveau permet de s'assurer de la bonne fonctionnalité du système. | |
− | + | [[File:SEm_lissajou_coeffs.svg|thumb|Coefficients Interpolation]] | |
+ | Vos coefficients peuvent être vérifiées par le [[Media:SEm_sinegen_coeffs.svg|chronogramme ci-contre]]. | ||
− | + | === Génération === | |
+ | {{TaskBox|content= | ||
+ | Lancer la commande '''Prepare for synthesis'''.}} | ||
− | === | + | === Synthèse === |
− | + | {{TaskBox|content= | |
− | + | # Lancer la commande '''Xilinx Project Navigator'''. | |
− | + | # Spécifier le type de circuit utilisé, '''xc3s500E''', et ses paramètres '''FG320-5'''. | |
− | + | # Ajouter le fichier VHDL généré '''lissajous.vhd''' au projet. Vérifier que le circuit choisi pour la synthèse est bien '''lissajousGenerator_circuit-struct'''. | |
− | + | # Ajouter le fichier '''lissajous.ucf''' au projet. | |
− | Lancer la commande | + | # Lancer la commande '''Synthesize - XST'''. |
− | + | # Vérifier tous les avertissements ("'''warning'''") et s'assurer que le circuit ne pose aucun problème de réalisation. | |
− | + | # Examiner les informations de résultat de synthèse quant à la taille du circuit résultant. | |
− | + | # Vérifier la fréquence maximale prévue pour ce circuit.}} | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | Ajouter le fichier VHDL | + | |
− | + | ||
− | Ajouter le fichier | + | |
− | + | ||
− | Lancer la commande | + | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
=== Placement et routage === | === Placement et routage === | ||
− | + | {{TaskBox|content= | |
− | + | Lancer la commande '''Implement Design'''.}} | |
− | + | ||
− | Lancer la commande | + | |
− | + | ||
− | + | ||
=== Configuration === | === Configuration === | ||
− | + | {{TaskBox|content= | |
− | + | # Alimenter le circuit FPGA et le connecter au câble de téléchargement JTAG. | |
− | + | # Lancer les commandes '''Generate Programming File''' et '''Configure Target Device'''. | |
− | Alimenter le circuit FPGA et le connecter au | + | # Télécharger le fichier de configuration dans la FPGA.}} |
− | + | ||
− | Lancer les commandes | + | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
=== Tests === | === Tests === | ||
− | + | {{TaskBox|content= | |
− | + | Brancher les filtres passe-bas à la sortie des modulateurs. Vérifier la forme des signaux sur l'oscilloscope. Mettre l'oscilloscope en mode X-Y: ceci donne une courbe de Lissajous.}} | |
− | + | ||
− | + | ||
− | Brancher les filtres passe-bas | + | |
− | + | ||
− | + | ||
− | {{navNamed|left=SEm/laboratoires/03_convertisseur|left_name=03 Convertisseur numérique / analogique|up=SEm/laboratoires|up_name= | + | {{navNamed |
+ | |left=SEm/laboratoires/03_convertisseur|left_name=03 Convertisseur numérique / analogique | ||
+ | |up=SEm/laboratoires|up_name= Travaux de laboratoire | ||
+ | |right=SEm/laboratoires/machine d etat|right_name=machine d'états | ||
+ | }} | ||
− | [[Category:SEm]] | + | [[Category:Bachelor]] [[Category:SEm]] [[Category:Français]] |
Latest revision as of 11:08, 26 February 2021
|
Synthèse automatique
Introduction
Ce laboratoire présente la synthèse automatique de circuits à partir du code VHDL. Il se base sur l'exemple du générateur de fonctions. La combinaison de deux sinusoïdes à des fréquences différentes permet de dessiner des courbes de Lissajous.
Synthèse
Au niveau supérieur du circuit à synthétiser, il faut prévoir la circuiterie d'entrée/sortie. C'est à ce niveau que se mettent les adaptateurs de polarité des signaux, les "buffers" haute impédance, la logique de synchronisation, ... Dans notre exemple, nous placerons deux générateurs de sinus, deux modulateurs sigma-delta et une logique de synchronisation pour le signal de remise à zéro au démarrage.
Nous profiterons du signal carré de l'un des générateurs pour fournir un signal de synchronisation pour l'oscilloscope. Le circuit se trouve dans la librairie Board, le banc de test dans la librairie Lissajous_test.
Circuit
Une simulation du circuit à ce niveau permet de s'assurer de la bonne fonctionnalité du système.
Vos coefficients peuvent être vérifiées par le chronogramme ci-contre.
Génération
Synthèse
Placement et routage
Configuration
Tests
Navigation
03 Convertisseur numérique / analogique
Travaux de laboratoire
machine d'états