Professional Documents
Culture Documents
Polycopié Des Travaux Pratique - SE - 2021 - GE4
Polycopié Des Travaux Pratique - SE - 2021 - GE4
Travaux Pratiques
Systèmes Embarqués
Support Pédagogique
~1~
Lab0 : 7-segment BCD decoder
Décodeur BCD à 7segments
0.1. Objectifs TP0 :
L’objectif de manipulation est de créer une description VHDL pour un décodeur BCD à 7
segments, en utilisant les outils de Quartus II et ModelsSim pour compiler et simuler la
description, et aussi pour se familiariser avec ses outils et ses particularités.
0.2. Principe décodeur BCD en 7 segments
Le décodeur BCD en 7 segments convertit un signal de commande binaire de 4 bits en un signal
de 7 bits pouvant être affiché sur un affichage à 7 segments. Sept affichages sont constitués de 7
segments de LED pour afficher 0 à 9 et A à F. L’afficheur utilisé à anodes communes (e.g l’état actif
dans le niveau bas).
Le code VHDL de décodeur BCD à 7 segments peut être mis en œuvre de 2 façons. En
simplifiant l'expression booléenne pour implémenter la conception structurelle et la conception
comportementale.
Table de vérité du décodeur BCD à 7 segments
~2~
Library IEEE;
use ieee.std_logic_1164.all;
use ieee.numeric_std.all;
use ieee.std_logic_arith.allALL;
use ieee.std_logic_unsigned.all;
entity LabTP0 is
port ( dec : in std_logic_vector (3 downto 0);
seg : out std_logic_vector (6 downto 0));
end LabTP0;
Architecture Adder of LabTP0 is
Begin
seg <= "1111110" when dec = "0000" else
"0110000" when dec = "0001" else
"1101101" when dec = "0010" else
"1111001" when dec = "0011" else
"0110011" when dec = "0100" else
"1011011" when dec = "0101" else
"1011111" when dec = "0110" else
"1110000" when dec = "0111" else
"1111111" when dec = "1000" else
"1111011" when dec = "1001" else
"-------";
end adder;
~3~
0.3. Compilation
Avant de simuler cette description, il est nécessaire de vérifier qu’il ne comporte pas d’erreurs
de conception c’est l’étape de compilation.
Aller dans le menu Processing et appuyer sur Star compilation. Lancer le compilateur. Le
compilateur analyse, réalise la synthèse et le placement routage du composant sur le circuit
cible. L’ensemble des rapports de compilation et d’analyse des performances sont disponibles à
partir de cette fenêtre ci-dessous.
Lorsque la compilation est terminée sans signalée des erreurs, on peut vérifier quelque
informations à partir Flow Summary (rapport de compilation).
Rapport de compilation
~4~
0.4. Simulation
Cette étape consiste à vérifier le comportement du composant créé. Attention, cette étape
nécessite d’avoir compilé au préalablement les descriptions de circuit. Le simulateur permet de
vérifier les comportements temporels et fonctionnels de descriptions flot de données,
Selon que l’on désire visualiser les signaux du circuit RTL, on sélectionne l’entité labtp0 :
i. Pour placer les signaux sur le chronogramme : Dans la fenêtre Objects, sélectionner avec
la souris les Entrées/Sorties désirées, puis avec un clique-droit choisir
~5~
ii. Pour regrouper certains signaux ensemble, on sélectionne les signaux désirés, on clique
sur le bouton droit de la souris puis on choisit Group : On nomme l’entrée par Bin, et la
sortie par Segment :
iii. Pour accéder aux propriétés d’un signal, sélectionner le puis cliquer sur le bouton droit
puis choisir signal properties. Par exemple on peut changer la couleur de représentation
du signal.
iv. Définir les entrées Bin de type clock
v. Lancer la simulation avec le bouton Run après avoir précisé le temps de simulation
200ns. Les signaux apparaîtront sur le chronogramme.
Résultat de simulation
~6~
Lab1 : Logic control of the LEDs
1.2
.2 Principe de fonctionnement de ce TP
Le principe de fonctionnement de ce TP est simple. Chaque mot binaire proposé par trois
tro
switches représente une commande d’affichage des LEDss de la façon suivante :
0 0 0 0 0 0 0 0 0 0 1
0 0 1 0 0 0 0 0 0 1 0
0 1 0 0 0 0 0 0 1 0 0
0 1 1 0 0 0 0 1 0 0 0
1 0 0 0 0 0 1 0 0 0 0
1 0 1 0 0 1 0 0 0 0 0
1 1 0 0 1 0 0 0 0 0 0
1 1 1 1 0 0 0 0 0 0 0
1.3 Manipulation 1
1. Donner le code de la description VHDL de ce système en respectant les noms des ports
indiqués par la carte utilisée (voir fichier pdf du manuel de la carte FPGA-DE0
FPGA DE0 Cyclone III).
~7~
2. Créer un nouveau projet sous le nom d’entité en ajoutant le code de la description VHDL.
3. Compiler le code de la description VHDL en interprétant les résultats de la compilation.
4. Générer Netlist des descriptions structurées de système à savoir RTL Viewer, Post-Mapping
et Post-Fitting, puis trouver la différence entre ces descriptions.
5. Donner un rapport sur cette implémentation en indiquant les différents éléments logiques
utilisés.
1.4 Manipulation 2
Cette manipulation est basée sur l’outil de simulation ModelSim.
1. Crée un nouveau projet ModelSim est compiler la description de l’architecture proposée dans
la manipulation 1.
2. Débuter une simulation ModelSim et analyser le rapport de la simulation.
3. Vérifier le code VHDL en introduisant des valeurs aléatoires aux entrées, puis des signaux.
4. Donner un rapport détaillé sur cette simulation.
1.5 Manipulation 3
Cette manipulation est réalisée dans la salle du TP sous la présence du professeur responsable de
TP.
1. En utilisant les fichiers des assignations, compléter la phase de l’implémentation à base des
outils de développement.
2. Implémenter l’architecture proposée dans la carte FPGA-DE0 d’Intel-Altera (la présence du
professeur responsable de TP est Obligatoire).
3. Donner un rapport détaille de ce TP.
~8~
Lab2 : 4-bit
bit Adder with Results Display
Additionneur 4 bits avec
affichage des résultats
2.2
.2 Principe de fonctionnement de ce TP
Le principe de fonctionnement de ce TP est basé sur un additionneur 4 bits. Les entrées de ce
système sont 8 switches (2 X 4 bits) est comme sortie les LEDss et 4 afficheurs 7 segments. Le
mot à afficher est le suivant « S = XX ». XX représente la somme en décimal. Le reset permet la
remise
emise à zéro des processus de cet additionneur.
2.3 Manipulation 1
1. Donner le code de la description VHDL de ce système en respectant les noms des ports
indiqués par la carte utilisée (voir fichier pdf du manuel de la carte FPGA-DE0
FPGA DE0 Cyclone III).
2. Créer un nouveau projet sous le nom d’entité en ajoutant le code de la description VHDL.
3. Compiler le code de la description VHDL en interprétant les résultats de la compilation.
4. Générer Netlist des descriptions structurées de système à savoir RTL Viewer,
Viewer Post-Mapping
et Post-Fitting,, puis trouver la différence entre ces descriptions.
5. Donner un rapport sur cette implémentation en indiquant les différents éléments logiques
utilisés.
2.4 Manipulation 2
Cette manipulation est basée sur l’outil de simulation ModelSim.
1. Crée un nouveau projet ModelSim est compiler la description de l’architecture proposée dans
la manipulation 1.
2. Débuter une simulation ModelSim et analyser le rapport de la simulation.
3. Vérifier le code VHDL en introduisant des valeurs aléatoires aux entrées, puis des signaux.
4. Donner un rapport détaillé sur cette simulation.
2.5 Manipulation 3
Cette manipulation est réalisée dans la salle du TP sous la présence du professeur responsable de
TP.
1. En utilisant les fichiers des assigna
assignations,
tions, compléter la phase de l’implémentation à base des
outils de développement.
~9~
2. Implémenter l’architecture proposée dans la carte FPGA-DE0 d’Intel-Altera (la présence du
professeur responsable de TP est Obligatoire).
3. Donner un rapport détaille de ce TP.
~ 10 ~
Lab3 : Modulo N Counter
Compteur modulo N
.2 Principe de fonctionnement de ce TP
3.2
Le principe de fonctionnement de ce TP est basé sur un compteur modulo N. N Le compteur a
comme limite de compter de 0 à 30 selon le choix de l’utilisateur. Si le choix dépasse cette
limite, l’afficheur affiche une erreur sinon il affiche le résultat de comptage de la façon
suivante « C = XX ». XX représente le résultat en décimal. En cas d’erreur XX = Er. Le reset
permet la remise à zéro du compteur.
3.3 Manipulation 1
1. Donner le code de la description VHDL de ce système en respectant les noms des ports
indiqués par la carte utilisée (voir fichier pdf du manuel de la carte FPGA-DE0
DE0 Cyclone III).
2. Créer un nouveau projet sous le nom d’entité en ajoutant le code de la description VHDL.
3. Compiler le code de la description VHDL en interprétant les résultats de la compilation.
4. Générer Netlist des descriptions struct
structurées de système à savoir RTL Viewer,
Viewer Post-Mapping
et Post-Fitting,, puis trouver la différence entre ces descriptions.
5. Donner un rapport sur cette implémentation en indiquant les différents éléments logiques
utilisés.
3.4 Manipulation 2
Cette manipulation est basée sur l’outil de simulation ModelSim.
1. Crée un nouveau projet ModelSim est compiler la description de l’architecture proposée dans
la manipulation 1.
2. Débuter une simulation ModelSim et analyser le rapport de la simulation.
3. Vérifier
fier le code VHDL en introduisant des valeurs aléatoires aux entrées, puis des signaux.
4. Donner un rapport détaillé sur cette simulation.
3.5 Manipulation 3
Cette manipulation est réalisée dans la salle du TP sous la présence du professeur responsable de
TP.
~ 11 ~
1. En utilisant les fichiers des assignations, compléter la phase de l’implémentation à base des
outils de développement.
2. Implémenter l’architecture proposée dans la carte FPGA-DE0 d’Intel-Altera (la présence du
professeur responsable de TP est Obligatoire).
3. Donner un rapport détaille de ce TP.
~ 12 ~
Lab4 : Advanced R
Red Light System
ystem
Système de feux rouge avancé
4.2
.2 Principe de fonctionnement de ce TP
Le principe de fonctionnement de ce TP est basé sur une description structurelle des différentes
composantes d’une architecture globale qui représente ce système. L
Lee système de feux rouge
proposé est basé sur 3 modes de fonctionnement : Mode automatique, mode manuel et le mode
standby. Ce tableau présente le principe de choix des
d différents modes :
0 X X X 0 0 0 0
1 1 0 0 1 1 0 0
1 0 1 0 1 0 1 0
1 0 0 0 1 0 0 1
1 1 1 0 0 0 0 0
1 1 0 1 0 0 0 0
1 0 1 1 0 0 0 0
~ 13 ~
Etape 1 : LED Green_1 = 1 ; LED yellow_1 = 0 ; LED red_1 = 0 ; LED Green_2 = 0 ; LED
yellow_2 = 0 ; LED red_2 = 1 => Pendant 30 seconds.
Etape 2 : LED Green_1 = 0 ; LED yellow_1 = 1 ; LED red_1 = 0 ; LED Green_2 = 0 ; LED
yellow_2 = 0 ; LED red_2 = 1 => Pendant 3 seconds.
Returner à l’Etape 1.
LED_X_1 représente les feux de position 1 et LED_X_2 représente les feux de position 2.
Si le mode manuel est activé, les feux s’allument manuellement selon les switches de
commande équivalents suivants : Manual_Pass_X ; Manual_Stop_X ; Manual_fStop_X. X
représente la position (1 ou 2). Si Manual_Pass_X est actif le feu LED_Green s’allume. Si
Manual_fStop_X est actif le feu LED_red s’allume. Si Manual_Stop_X est actif le feu
LED_yellow s’allume pendant 3 seconds puis le feux LED_red s’allume.
Si le mode Standby est activé, les deux feux LED_yellow clignotent. Ils s’allument pendant
1 seconds est ils s’éteignent pendant 1 seconds.
4.3 Manipulation 1
1. Donner les codes VHDL des composantes proposées de ce système en indiquant le schéma
général de ce dernier.
2. Donner le code de la description VHDL de ce système en respectant les noms des ports
indiqués par la carte utilisée (voir fichier pdf du manuel de la carte FPGA-DE0 Cyclone III).
3. Créer un nouveau projet sous le nom d’entité en ajoutant le code de la description VHDL.
4. Compiler le code de la description VHDL en interprétant les résultats de la compilation.
5. Générer Netlist des descriptions structurées de système à savoir RTL Viewer, Post-Mapping
et Post-Fitting, puis trouver la différence entre ces descriptions.
6. Donner un rapport sur cette implémentation en indiquant les différents éléments logiques
utilisés.
~ 14 ~
4.4 Manipulation 2
Cette manipulation est basée sur l’outil de simulation ModelSim.
1. Crée un nouveau projet ModelSim est compiler la description de l’architecture proposée dans
la manipulation 1.
2. Débuter une simulation ModelSim et analyser le rapport de la simulation.
3. Vérifier le code VHDL en introduisant des valeurs aléatoires aux entrées, puis des signaux.
4. Donner un rapport détaillé sur cette simulation.
4.5 Manipulation 3
Cette manipulation est réalisée dans la salle du TP sous la présence du professeur responsable de
TP.
1. Selon la disposition des leds et des switches dans la carte, donner la liste des leds et des
switches utilisée dans ce TP.
2. En utilisant les fichiers des assignations, compléter la phase de l’implémentation à base des
outils de développement.
3. Implémenter l’architecture proposée dans la carte FPGA-DE0 d’Intel-Altera (la présence du
professeur responsable de TP est Obligatoire).
4. Donner un rapport détaille complet de ce TP.
~ 15 ~
Cartes FPGA d’Intel-Altera utilisées dans les TPs
DE0, DE1 et DE2-115
Implémentation embarquée des algorithmes
Pour découvrir cette carte et les différentes fonctionnalités proposées prière de voire le fichier
PDF intitulé DE0 manual.
~ 16 ~
Carte DE1 d’Intel-Altera
La carte DE1 possède de nombreuses fonctionnalités qui permettent à l'utilisateur d’implémenter
une large gamme de circuits conçus, allant de circuits simples à diverses architectures plus
compliquées.
La carte DE1 possède un dispositif FPGA Altera Cyclone II de la famille 2C20 avec un
dispositif de configuration série Altera-EPCS4. Pour la programmation de la carte DE1, le
protocole USB Blaster intégré à la carte est proposé avec deux modes de programmation ; le
mode JTAG (Joint Test Action Group) et le mode Active Serial. La carte DE1 offre une SRAM
de 512 Kbits, une SDAM de 8 Mbits, une mémoire flash de 4 Mbits et une prise de carte SD. 14
interrupteurs sont proposés, 4 sont à base des boutons poussoirs et le reste sont des interrupteurs
à bascule. 10 voyants LED rouges et 8 voyants LED vertes sont intégrés dans la carte DE1. Cette
dernière offre 3 oscillateurs de 50 Mhz, 27 Mhz et 24 Mhz pour les sources des horloges. La
carte DE1 offre d’autres outils comme la sortie VGA et le connecteur RS232…etc.
Pour découvrir cette carte et les différentes fonctionnalités proposées prière de voire le
fichier PDF intitulé DE1 manual.
~ 17 ~
Carte DE2 d’Intel-Altera
La série DE2 a toujours été à l'avant-garde des conseils de développement pédagogique en se
distinguant par une large gamme d'interfaces pour répondre aux divers besoins d'applications. La
carte DE2-115 équipé du dispositif Cyclone IV E. Elle offre un équilibre optimal entre faible
coût et faible consommation pour répondre à l'augmentation des besoins polyvalents à faible coût
en offrant de la logique, de la mémoire et des capacités DSP. L'appareil Cyclone EP4CE115
équipé sur le DE2-115 comprend 114 480 éléments logiques (LE), le plus grand de la série
Cyclone IV E, jusqu'à 3,9 Mbits de RAM et 266 multiplicateurs. De plus, il offre une
combinaison sans précédent de faible coût et de fonctionnalité, ainsi qu'une puissance inférieure
à celle des appareils Cyclone de la génération précédente. Pour le développement de prototypes
ASIC à grande échelle, une connexion peut être établie avec deux cartes FPGA ou plus au
moyen d'un câble HSMC via le connecteur HSMC.
Pour découvrir cette carte et les différentes fonctionnalités proposées prière de voire le fichier
PDF intitulé DE2 manual.
~ 18 ~