0% ont trouvé ce document utile (0 vote)
468 vues4 pages

TP N°2 Conception Numérique VHDL Objectif

Ce document décrit trois exercices sur la conception numérique avec le langage VHDL. Le premier exercice demande de décrire le code VHDL de circuits logiques combinatoires. Le deuxième exercice concerne la description d'un additionneur complet à 1 bit. Le troisième exercice porte sur la description de multiplexeurs 2 vers 1 et 4 vers 1.

Transféré par

ر' حيل
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
468 vues4 pages

TP N°2 Conception Numérique VHDL Objectif

Ce document décrit trois exercices sur la conception numérique avec le langage VHDL. Le premier exercice demande de décrire le code VHDL de circuits logiques combinatoires. Le deuxième exercice concerne la description d'un additionneur complet à 1 bit. Le troisième exercice porte sur la description de multiplexeurs 2 vers 1 et 4 vers 1.

Transféré par

ر' حيل
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Faculté des Sciences de Bizerte

Département Informatique

Classe : SEIoT2 A-U : 2022/2023


Matière : VHDL Durée : 1h30

TP N°2
Conception numérique VHDL

Objectif

✓ L’utilisation du langage VHDL pour décrire l’architecture des circuits logiques


combinatoires.
✓ L’utilisation du VHDL pour décrire un banc de test (Testbench) de vérification.

Exercice N°1 :
Donner le code de description VHDL du circuit numérique ci-dessous:

S1=A.B
S2=A+B
S3=AB
S4=𝐴̅
S5= ̅̅̅̅̅
𝐴. 𝐵
̅̅̅̅̅̅̅̅
S6=𝐴 + 𝐵
𝐴𝐵
S7= ̅̅̅̅̅̅

Exercice N°2 : Additionneur complet à un bit

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

Le circuit correspondant à l'additionneur complet, est composé de deux demi-additionneurs en


série accompagnés d'une logique pour calculer la retenue (un OU entre les deux retenues
générales par chacun des demi-additionneurs) :

1- Rappeler les équations de S et Cout en fonction de A, B et Cin.


2- Créer dans un projet TP2 un fichier source VHDL « full_add.vhd » dans lequel il faut
décrire l’additionneur complet. La structure du code VHDL de l’additionneur complet
est fournie dans la figure suivante :

3- Analyser le code du fichier « full_add_tb.vhd fourni ci-dessous, 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é.

SEIoT2/ TP1-2-3-4 2
Faculté des Sciences de Bizerte
Département Informatique

4- Ajouter les deux fichiers au projet TP1 et compiler.


5- Générer un chronogramme des signaux « view -> wave ».
6- Lancer la simulation et interpréter le résultat.

-- 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;

Exercice N° 3 : Circuits Multiplexeurs


1- Ecrire le code de description VHDL qui permet de réaliser le multiplexeur 2 vers 1 de la
figure suivante, en utilisant l’instruction if-else :

2- Ecrire le code VHDL du multiplexeurs 4 vers 1 schématisé par la figure ci-dessous.

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

Vous aimerez peut-être aussi