Académique Documents
Professionnel Documents
Culture Documents
Département Informatique
TP N°2
Conception numérique VHDL
Objectif
Exercice N°1 :
Donner le code de description VHDL du circuit numérique ci-dessous:
S1=A.B
S2=A+B
S3=AB
S4=𝐴̅
S5= ̅̅̅̅̅
𝐴. 𝐵
̅̅̅̅̅̅̅̅
S6=𝐴 + 𝐵
𝐴𝐵
S7= ̅̅̅̅̅̅
Un additionneur possède trois 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.
Un additionneur complet nécessite une entrée supplémentaire : une retenue. L'intérêt de celle-
ci est de permettre le chaînage des circuits. La table de vérité d'un additionneur complet est :
SEIoT2/ TP1-2-3-4 1
Faculté des Sciences de Bizerte
Département Informatique
SEIoT2/ TP1-2-3-4 2
Faculté des Sciences de Bizerte
Département Informatique
-- Bibliothèques
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
--Entity
ENTITY full_add_tb IS
END full_add_tb;
--Architecture
ARCHITECTURE test OF full_add_tb IS
-- Déclaration du composant à tester --
COMPONENT full_add
PORT(A : in std_logic;
B : in std_logic;
Cin : in std_logic;
S : out std_logic;
Cout : out std_logic);
END COMPONENT;
-- Déclaration des signaux de test --
signal A_tb, B_tb,Cin_tb, S_tb, Cout_tb: std_logic;
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;
SEIoT2/ TP1-2-3-4 3
Faculté des Sciences de Bizerte
Département Informatique
3- Ecrire le code VHDL permettant de simuler et vérifier les résultats obtenus. Visualiser
les chronogrammes des E/S.
4- Ecrire le descriptif VHDL du multiplexeur 4 vers 1 en se basant sur des multiplexeurs
2 vers1 telle que présenté dans la figure suivante.
SEIoT2/ TP1-2-3-4 4