• Aucun résultat trouvé

TP 1 : Circuits Séquentiels Processus synchrones, anti-rebonds, synthèse - simulation - configuration

N/A
N/A
Protected

Academic year: 2022

Partager "TP 1 : Circuits Séquentiels Processus synchrones, anti-rebonds, synthèse - simulation - configuration"

Copied!
4
0
0

Texte intégral

(1)

Conception des systèmes numériques VHDL – TP1

L. Bossuet, S. Renaud, B. Le Gal, Y. Bornat -ENSEIRB TP 1 : Circuits Séquentiels

Processus synchrones, anti-rebonds, synthèse - simulation - configuration

Pour ce TP vous utiliserez le Starter Kit Spartan-3E Xilinx. Les caractéristiques du circuit FPGA pour le projet sont :

Famille : Spartan3E Circuit : XC3S500E Boitier : FG320 Vitesse : -4

Objectifs du TP : Développement, simulation et réalisation de circuits séquentiels synchrones. Etablissement du lien entre un circuit électronique et sa description VHDL (dans les deux sens). Ecriture de testbenchs. Prises en main les outils Xilinx ISE et ModelSim.

Prises en main la configuration de la carte de prototypage Xilinx Sartan3E.

Sujet du TP : réalisez le système de commande de leds vu dans le TD3

Etape 1 : étude du système sur papier, description et simulation avec ModelSim 1.1) Sélection des composants de la carte

En étudiant la documentation technique de la carte (Spartan-3E Stater Kit Board User Guide) avec cet énoncé de TP, définissez les composants de la carte à utiliser pour le système.

N’oubliez pas de sélectionner un bouton poussoir pour faire office de signal RESET du système (indispensable dans tous systèmes numériques).

Téléchargez la documentation de la carte à l’adresse suivante :

http://www.enseirb.fr/~bossuet/TP1_VHDL/Spartan-3E Starter Kit Board User Guide.pdf 1.2) Circuit d’élimination des rebonds

Editez, avec ModelSim, le fichier VHDL qui décrit le circuit filtre_antirebonds étudié à la question 1-b du TD3. Pour cela, il est plus efficace de créer d’abord un projet ModelSim.

1.3) Simulation du circuit d’élimination des rebonds

Editez, avec ModelSim, le circuit de test, test_filtre_antirebonds.vhd, effectuez la simulation et validez le fonctionnement du circuit filtre_antirebonds.

1.4) Circuit de commande des leds

Editez, avec ModelSim, le fichier VHDL qui décrit le circuit commande_led étudié à la question 2-b du TD3. (utilisez le même projet que celui de la question 1.2)

1.5) Simulation du circuit d’élimination des rebonds

Editez, avec ModelSim, le circuit de test, test_commande_led.vhd, effectuez la simulation et validez le fonctionnement du circuit commande_led.

(2)

Conception des systèmes numériques VHDL – TP1

L. Bossuet, S. Renaud, B. Le Gal, Y. Bornat -ENSEIRB 1.6) Description du système complet

Dessinez le schéma blocs (schéma de haut niveau) du système complet reprenant les deux circuits précédemment étudiés.

Editez, avec ModelSim, le fichier VHDL qui décrit le circuit bouton_poussoir_rotatif.vhd (ce fichier est le fichier de plus haut niveau il ne doit comporter que des déclarations de composants, de signaux et des instanciations de composants).

1.7) Simulation du circuit d’élimination des rebonds

Editez, avec ModelSim, le circuit de test, test_bouton_poussoir_rotatif.vhd, effectuez la simulation et validez le fonctionnement du circuit bouton_poussoir_rotatif.vhd.

Etape 2 : Création du projet ISE, synthèse et étude des rapports de conception

Créez un (et un seul) projet TP1 sous ISE avec les propriétés données au début de ce sujet.

Vous allez ajouter au projet puis synthétiser (avec ISE) un par un chacun des blocs du système dans l’ordre suivant :

1) filtre_antirebonds.vhd, 2) commande_led.vhd,

3) bouton_poussoir_rotatif.vhd (ce fichier est le fichier de plus haut niveau)

Pour chaque circuit :

- Lisez le rapport de synthèse et répondez aux questions suivantes

o Avec quels circuits logiques de bases le synthétiseur à t’il réalisé le circuit ? o Quel est le nombre de slices nécessaires au circuit ?

o Quel est le nombre de bascules D nécessaires au circuit ? o Quel est le nombre de LUT nécessaires au circuit ?

o Quel est le nombre d’entrées sorties nécessaires au circuit ? o Quel est le nombre d’horloges nécessaires au circuit ? o Quel est le temps de parcours du chemin critique du circuit ?

o Concernant le chemin critique, quel est le pourcentage de temps passé à traverser les parties combinatoires du circuit et le pourcentage de temps passé à traverser les lignes de routage ?

o Quelle est la fréquence maximale de fonctionnement ?

- Regardez le schéma RTL (Register Transfert Level) qui représente le circuit réalisé lors de la synthèse RTL.

o Comment interprétez-vous ce schéma ?

(3)

Conception des systèmes numériques VHDL – TP1

L. Bossuet, S. Renaud, B. Le Gal, Y. Bornat -ENSEIRB

- Regardez le schéma technologique qui représente le circuit réalisé avec les composants du FPGA lors d’une pré-phase de mapping technologique.

o Comment sont réalisés les composants du schéma RTL ?

Lorsque les trois fichiers VHDL sont correctement synthétisés, que vous avez bien répondu à toutes les questions précédentes pour chacun des fichiers, vous pouvez passer à la suite …

Etape 3 : Synthèse complète, placement routage 3.1) Fichier de contraintes

Pour configurer correctement le composant et utiliser la carte vous devez créer un fichier de contrainte bouton_poussoir_rotatif.ucf. Utilisez la documentation technique pour vous aider à créer ce fichier.

3.2) Placement & routage du circuit

- Lancez l’implémentation du fichier bouton_poussoir_rotatif.vhd

- Lancez l’outil timing analyser (Implement Design => Place & Route => Generate Post- Place & Route Static Timing => Analyse Post-Place & Route Static Timing). Lancez l’analyse temporelle (en cliquant sur l’icône chronomètre). Quel est la période minimum de l’horloge pour que le circuit fonctionne correctement ? En déduire la fréquence maximum de fonctionnement. Il y a-t-il des différences avec l’estimation obtenue lors de la synthèse ?

- Visualisez le placement du circuit dans le FPGA avec l’outil Floorplanner.

- Visualisez le routage du circuit dans le FPGA avec l’outil FPGA Editor.

Etape 4 : Configuration du circuit, validation du fonctionnement 4.1) Génération du bitstream (fichier de configuration du FPGA) - Générez le fichier de configuration (bitstream fichier .bit) 4.2) Configuration du FPGA

- En suivant la documentation de la carte à partir de la page 27, lancez le l’outil iMPACT et configurez directement le FPGA, manipulez la carte pour valider le fonctionnement.

- Eteigniez et remettez sous tension la carte, que se passe-t-il ? 4.3) Programmation de la mémoire ROM de configuration

(4)

Conception des systèmes numériques VHDL – TP1

L. Bossuet, S. Renaud, B. Le Gal, Y. Bornat -ENSEIRB

- Si vous validez bien le fonctionnement alors programmez la PROM et modifiez le jumper de la carte pour une programmation Master Serial. Que ce passe t’il maintenant lorsque l’on éteint et remet sous tension la carte ?

Etape 5 : Ajout de l’effet d’un appuie sur le bouton poussoir

Dans le système complet final le fait d’appuyer sur le bouton poussoir entraine un inversement de l’état logique de toutes les leds.

5.1) Circuit d’élimination des rebonds

Editez, avec ModelSim, le fichier VHDL qui décrit le circuit filtre_antirebonds_poussoir étudié à la question 3-c du TD3.

5.2) Simulation du circuit d’élimination des rebonds

Editez, avec ModelSim, le circuit de test, test_filtre_antirebonds_poussoir.vhd, effectuez la simulation et validez le fonctionnement du circuit filtre_antirebonds_poussoir.

5.3) Système complet

Ajouter le composant filtre_antirebonds_poussoir au circuit bouton_poussoir_rotatif et simulez l’ensemble avec ModelSim.

Reprenez les étapes 3 et 4 avec ce nouveau circuit en plus.

___________________

Références

Documents relatifs

Avec les registres à décalage commercialisés, on a parfois accès directement aux entrées et sorties des bascules; il est alors possible de se servir du circuit

Pour plus de sécurité, on préfère repositionner toutes les sorties dans l'état correct c'est à dire 101.On doit donc utiliser des bascules disposant, en plus de l'entrée de

Une seule sortie est activée à la fois (par un état haut) : celle dont l’indice (entre 0 et 3) correspond au nombre (sur 2 bits) appliqué en binaire sur les entrées.. Etablir la

Ne pas regarder ces éléments de réponses avant de réviser la séance 7 de cours et de résoudre l’exercice.. E XERCICE 1

• C'est un registre qui effectue un décalage vers la gauche en répercutant la sortie de la derniére bascule vers l'entrée de la dernière bascule. • Le décalage peut être

– au standard POSIX pthread largement mis en oeuvre sur les systèmes UNIX/Linux – à l’API WIN32 threads fournie par Microsoft ©Windows pour les processus légers Les pages man

1) Créer un projet modelsim, compiler les fichiers compteur.vhd et bench_compteur.vhd (test- bench du compteur) et lancer la simulation (bench_compteur) pour vérifier le

Dans cette optique, on peut par exemple choisir comme adresse réseau : 192.168.x.0, où la valeur de x sera choisie en séance TP pour ne pas interférer avec le réseau local