Vous êtes sur la page 1sur 18

Université Abdellah MORSLI de Tipaza Matière : Electronique numérique

VHDL/FPGA
Institut des sciences Niveau : Master 1 – Instrumentation
Département d’électronique

REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET POPULAIRE


Ministère de l’Enseignement Supérieur et de la Recherche Scientifique
Universitaire Morsli Abdallah de Tipaza

Institut des Sciences


Département de Science et de Technologie

Compte rendu n" 02


TP VHDL/FPGA:
*Multiplexeurs*

Présenté par :
 Mlle Guergour Aissa.
 Mlle Sidi Moussa Mohammed Abderrahmane.
 Groupe : 02.
 M1 Instrumentation .

Année Universitaire: 2019/2020


Université Abdellah MORSLI de Tipaza Matière : Electronique numérique
VHDL/FPGA
Institut des sciences Niveau : Master 1 – Instrumentation
Département d’électronique

I. Introduction générale:
VHDL est un langage de description matérielle. À la différence des langages informatiques
classiques, VHDL ne vise pas une exécution, son but est de permettre la description de tout
système électronique, d’en valider le fonctionnement avant de passer à la mise en œuvre
matérielle.
La conception d’un système passe par sa description. Cette description est toujours réalisée en
deux étapes au minimum. La première étape consiste à décrire le système comme une boite
noire, alors que la seconde s’intéresse à la description interne de la boite noire. Si la
description de la vue externe (boite noire) ne pose généralement pas de problème, la vue
interne (l’architecture) peut quant à elle être réalisée selon plusieurs modèles de description.
Rappelons brièvement les deux types de description utilisables en VHDL :
- Description comportementale : il s’agit d’une description indiquant le comportement d’un
système. Généralement réalisée sous la forme de processus, elle s’apparente à du code
procédural classique.
- Description structurelle : il s’agit d’une description schématique d’un système. S’appuyant
sur des composants disponibles dans une bibliothèque et sur des signaux. Cette description est
l’exacte représentation du schéma électrique du système.

II. Objectif du TP:


L’objectif de ce TP est de décrire en VHDL puis implémenter sur une carte FPGA des
multiplexeurs a n-bit.
Le TP à réaliser :
- Multiplexeur 2:1 (simple).
- Multiplexeur 2:1 (vecteur (4 : 0)).
- Multiplexeur 4:1 (vecteur (3 : 0)).
- Multiplexeur 8:1 (vecteur (4 : 0)).
Université Abdellah MORSLI de Tipaza Matière : Electronique numérique
VHDL/FPGA
Institut des sciences Niveau : Master 1 – Instrumentation
Département d’électronique

1- Multiplexeur 2:1 (simple):"système_1"


L’objectif de cette partie est de concevoir un multiplexeur 2:1 à partir de la description
fonctionnelle par le langage de description matérielle VHDL avec le programme (code
module) ci-après. Nous avons défini pour cela les paramètres suivants :
- L’entrée : variable « E0 » et « E1 » contient une seule valeur de type booléen
(STD_LOGIC).
- L’adresse : variable « Sel » contient une seule valeur de type booléen.
- La sortie : variable « Z » contient une seule valeur de type booléen.
Université Abdellah MORSLI de Tipaza Matière : Electronique numérique
VHDL/FPGA
Institut des sciences Niveau : Master 1 – Instrumentation
Département d’électronique

Nous pouvons aussi avoir le schéma logique c.à.d. en portes logiques.


En passant en mode
« Implémentation » puis en choisissant « Synthesize – XST » =>
« View RTL Schematic »:

On obtient le résultat suivant :

D’après ce schéma, le montage suivant est un multiplexeur de un bit d’entrées ( E0,E1) avec
un adresse ( Sel) et une sortie (Z).
Université Abdellah MORSLI de Tipaza Matière : Electronique numérique
VHDL/FPGA
Institut des sciences Niveau : Master 1 – Instrumentation
Département d’électronique

Après l'exécution de programme on va crée un module de test nommé "testbench" .


C'est quoi un testbench?
Un testbench est un fichier VHDL non synthétisable utilisé comme cadre de niveau
hiérarchique supérieur. Il permet d’instancier des modules VHDL à tester, de les connecter
entre eux et de leurs assigner des valeurs de signaux de test.
Voici le programme de testbench du multiplexeur:
Université Abdellah MORSLI de Tipaza Matière : Electronique numérique
VHDL/FPGA
Institut des sciences Niveau : Master 1 – Instrumentation
Département d’électronique

L’exécution de la simulation:
Université Abdellah MORSLI de Tipaza Matière : Electronique numérique
VHDL/FPGA
Institut des sciences Niveau : Master 1 – Instrumentation
Département d’électronique

2- Multiplexeur 2:1 (vecteur (4 : 0)): "système_2"


L’objectif de cette partie est de concevoir un multiplexeur 2:1 à partir de la description
fonctionnelle par le langage de description matérielle VHDL avec le programme (code
module) ci-après. Nous avons défini pour cela les paramètres suivants :
- L’entrée : variable « E0 » et « E1 » comme un vecteur de 5 valeurs de type booléen
(STD_LOGIC_VECTOR).
- L’adresse : variable « Sel » contient une seule valeur de type booléen (Std_Logic).
- La sortie : variable « Z » comme un vecteur de 5 valeurs de type booléen
(STD_LOGIC_VECTOR).
Université Abdellah MORSLI de Tipaza Matière : Electronique numérique
VHDL/FPGA
Institut des sciences Niveau : Master 1 – Instrumentation
Département d’électronique

Nous pouvons aussi avoir le schéma logique c.à.d. en portes logiques.


En passant en mode
« Implémentation » puis en choisissant « Synthesize – XST » =>
« View RTL Schematic », On obtient le résultat suivant :

D’après ce schéma, le montage suivant est un multiplexeur de 5 bits d’entrées ( E0,E1) avec
un adresse ( Sel) et une sortie (Z) de 5 bits.
Université Abdellah MORSLI de Tipaza Matière : Electronique numérique
VHDL/FPGA
Institut des sciences Niveau : Master 1 – Instrumentation
Département d’électronique

- Après l'exécution de programme on va crée un module de test nommé "testbench" .


Voici le programme de testbench du multiplexeur:
Université Abdellah MORSLI de Tipaza Matière : Electronique numérique
VHDL/FPGA
Institut des sciences Niveau : Master 1 – Instrumentation
Département d’électronique

L’exécution de la simulation:
Université Abdellah MORSLI de Tipaza Matière : Electronique numérique
VHDL/FPGA
Institut des sciences Niveau : Master 1 – Instrumentation
Département d’électronique

3- Multiplexeur 4:1 (vecteur (3 : 0)): "système_3"


L’objectif de cette partie est de concevoir un multiplexeur 4:1 à partir de la description
fonctionnelle par le langage de description matérielle VHDL avec le programme (code
module) ci-après. Nous avons défini pour cela les paramètres suivants :
- L’entrée : variable « E0 » ,« E1 » ,« E2 » ,« E3 » comme un vecteur de 4 valeurs de type
booléen (STD_LOGIC_VECTOR).
- L’adresse : variable « Sel » comme un vecteur de 2 valeurs de type booléen
(STD_LOGIC_VECTOR)
- La sortie : variable « Z » comme un vecteur de 4 valeurs de type booléen
(STD_LOGIC_VECTOR).
Université Abdellah MORSLI de Tipaza Matière : Electronique numérique
VHDL/FPGA
Institut des sciences Niveau : Master 1 – Instrumentation
Département d’électronique

Nous pouvons aussi avoir le schéma logique c.à.d. en portes logiques.


En passant en mode
« Implémentation » puis en choisissant « Synthesize – XST » =>
« View RTL Schematic », On obtient le résultat suivant :

D’après ce schéma, le montage suivant est un multiplexeur de 4 bits d’entrées ( E0,E1,E2,E3)


avec un adresse ( Sel) de 2 bits et une sortie (Z) de 4 bits.
Université Abdellah MORSLI de Tipaza Matière : Electronique numérique
VHDL/FPGA
Institut des sciences Niveau : Master 1 – Instrumentation
Département d’électronique

- Après l'exécution de programme on va crée un module de test nommé "testbench" .


Voici le programme de testbench du multiplexeur:
Université Abdellah MORSLI de Tipaza Matière : Electronique numérique
VHDL/FPGA
Institut des sciences Niveau : Master 1 – Instrumentation
Département d’électronique

L’exécution de la simulation:
Université Abdellah MORSLI de Tipaza Matière : Electronique numérique
VHDL/FPGA
Institut des sciences Niveau : Master 1 – Instrumentation
Département d’électronique

3- Multiplexeur 8:1 (vecteur (4 : 0)): "système_4"


L’objectif de cette partie est de concevoir un multiplexeur 8:1 à partir de la description
fonctionnelle par le langage de description matérielle VHDL avec le programme (code
module) ci-après. Nous avons défini pour cela les paramètres suivants :
- L’entrée : variable « E0 » ,« E1 » ,« E2 » ,« E3 » ,« E4 » ,« E5 » ,« E6 » ,« E7 » comme
un vecteur de 5 valeurs de type booléen (STD_LOGIC_VECTOR).
- L’adresse : variable « Sel » comme un vecteur de 3 valeurs de type booléen
(STD_LOGIC_VECTOR)
- La sortie : variable « Z » comme un vecteur de 5 valeurs de type booléen
(STD_LOGIC_VECTOR).
Université Abdellah MORSLI de Tipaza Matière : Electronique numérique
VHDL/FPGA
Institut des sciences Niveau : Master 1 – Instrumentation
Département d’électronique

Nous pouvons aussi avoir le schéma logique c.à.d. en portes logiques.


En passant en mode
« Implémentation » puis en choisissant « Synthesize – XST » =>
« View RTL Schematic », On obtient le résultat suivant:

D’après ce schéma, le montage suivant est un multiplexeur de 5 bits d’entrées


( E0,E1,E2,E3,E4,E5,E6,E7) avec un adresse ( Sel) de 3 bits et une sortie (Z) de 5 bits.
Université Abdellah MORSLI de Tipaza Matière : Electronique numérique
VHDL/FPGA
Institut des sciences Niveau : Master 1 – Instrumentation
Département d’électronique

- Après l'exécution de programme on va crée un module de test nommé "testbench" .


Voici le programme de testbench du multiplexeur:

L’exécution de la simulation:
Université Abdellah MORSLI de Tipaza Matière : Electronique numérique
VHDL/FPGA
Institut des sciences Niveau : Master 1 – Instrumentation
Département d’électronique

III. Conclusion:
D’après la réalisation de ce TP, nous avons pu aboutir et apporter une réponse à notre
problématique qui consiste à décrire et simuler la réponse d’une composante électronique en
utilisant ISE_Design et le langage VHDL, ce TP nous a aidé à approfondir et élaborer nos
connaissances en VHDL ainsi, se familiariser correctement avec ISE, nous avons acquis et
développé des qualités, aptitudes et intérêts. Ce qui va être bénéfique notre dans cursus
d'étude.