Académique Documents
Professionnel Documents
Culture Documents
tp1 Ing 2015
tp1 Ing 2015
I- Objectifs:
Les buts de ce TP sont :
• L’utilisation du VHDL en logique combinatoire pour décrire l’architecture d’un Additionneur complet.
• L’utilisation du VHDL pour décrire un banc de test (Testbench) de vérification.
• La familiarisation avec Modelsim®, le logiciel de simulation de Mentor Graphics®.
• La familiarisation avec Xilinx ISE®, l’environnement de description, de simulation, et de programmation des
®
circuits FPGA de Xilinx .
• La familiarisation avec « Spartan-3 Starter Board », la carte de développement FPGA de Xilinx .
®
Considérons un additionneur complet (Full-Adder) 1-bit ayant 3 entrées : A, B et une retenu d’entrée Cin (Carry)
chacune sur un bit et deux sorties : S (la somme) et la retenu de sortie Cout chacune sur un bit également (Figure 1).
Inputs Outputs
A B Cin Cout S
A 0 0 0 0 0
Cout 1 0 0 0 1
B FULL 0 1 0 0 1
ADDER 1 1 0 1 0
S
Cin 0 0 1 0 1
1 0 1 1 0
0 1 1 1 0
Figure 1 - Additionneur complet 1-bit
1 1 1 1 1
1- Créer dans un projet TP1 un fichier source VHDL full_add.vhd dans lequel il faut décrire
l’additionneur complet. Le squelette du code VHDL de l’additionneur complet est fourni dans la page
suivante.
2- Analyser le code du fichier full_add_tb.vhd fourni sur la page suivante, et déterminer les parties
nécessaires pour créer des stimuli de test. Compléter les stimuli de test de façon à couvrir toutes les
combinaisons possibles des entrées (A, B et Cin) répertoriées dans la table de vérité (Figure2).
4- Créer un chronogramme des signaux ―waveform―; et séparer les signaux d’entrée de ceux de sortie.
ENICAR (2015/2016) 1
TP Cir. Prog. VHDL 2ème Ing. Mécat.
--Entity
ENTITY full_add IS
-- …
--Architecture
ARCHITECTURE behavior OF full_add IS
-- …
--Entity
ENTITY full_add_tb IS
END full_add_tb;
--Architecture
ARCHITECTURE test OF full_add_tb IS
BEGIN
-- Instanciation du composant à tester -- DUT : Design Under Test
DUT: full_add PORT MAP (A=>A_tb,
B=>B_tb,
Cin=>Cin_tb,
S=>S_tb,
Cout=>Cout_tb);
-- Création des signaux de test --
process
BEGIN
A_tb <='0'; B_tb <='0'; Cin_tb <='0'; -- 000
wait for 20 ns;
A_tb <='1'; -- 100
wait for 20 ns;
A_tb <='0'; B_tb <='1'; -- 010
wait for 20 ns;
-- …
END PROCESS;
END test;
ENICAR (2015/2016) 2
TP Cir. Prog. VHDL 2ème Ing. Mécat.
Lors de l’étape d’assignation des broches (Assign Package Pins), connecter les ports de l’additionneur
complet aux broches de la carte de développement FPGA comme suit:
LD1-LD0 SW2-SW1-SW0
ENICAR (2015/2016) 3