Vous êtes sur la page 1sur 22

Université Moulay Ismail

Ecole Supérieur de Technologie


Département Electrique
A.U : 2022/2023

de Technologie
Département Electrique
Formation : LP- Licence Professionnelle
dedes
Filière : Electronique Technologie
Systèmes Embarqués (ESE)
Département Electrique

Formation : LP-
de Licence Professionnelle
Technologie
Rapport du compte
Département
Filière : Electronique Electrique
des Systèmes Embarqués (ESE)

Rendu de TP du VHDL
de Technologie
Formation : LP- Licence
Département Professionnelle
Electrique

Filière : Electronique des Systèmes Embarqués (ESE)


A l’aide du logiciel MAX+PLUS
de Technologie
Département Electrique
Formation : LP- Licence Professionnelle
dedes
Filière : Electronique Technologie
Systèmes Embarqués (ESE)
Département Electrique

Formation : LP-
de Licence Professionnelle
Technologie
Département Electrique
Filière : Electronique des Systèmes Embarqués (ESE)

de Technologie
Département
Formation Electrique
: LP- Licence Professionnelle

Filièrepar
Elaboré : Electronique
: des Systèmes Embarqués (ESE)
de Technologie
• ALILOU Manal • Prof : A. LACHHAB
Département Electrique
Formation : LP- Licence Professionnelle
de Technologie
Filière : Electronique des Systèmes Embarqués (ESE)
• Prof : A. LACHHAB
Département Electrique
Elaboré par :

• ALILOU Manal de Licence


Formation : LP- Technologie
Professionnelle
• Prof : A. LACHHAB
Département Electrique
Filière : Electronique des Systèmes Embarqués (ESE)

Elaboré par : de Technologie


• Prof : A. LACHHAB
A.U : 2022/2

1
Table des matières
Introduction générale ................................................................................................. 5
Partie combinatoire ............................................................................................. 6
1 Comparateur 1 bit ............................................................................................. 6
1.1 Symbole logique ........................................................................................ 6
1.2 Table de vérité ........................................................................................... 6
1.3 Equation logique ....................................................................................... 6
1.4 Code VHDL & Simulation......................................................................... 6
2 Demi-additionneur .......................................................................................... 7
2.1 Symbole ..................................................................................................... 7
2.2 Table de Vérité .......................................................................................... 7
2.3 Equation logique ....................................................................................... 8
2.4 Code VHDL & Simulation......................................................................... 8
3 Additionneur complet ..................................................................................... 9
3.1 Symbole ..................................................................................................... 9
3.2 Table de Vérité .......................................................................................... 9
3.3 Equation logique ....................................................................................... 9
3.4 Code VHDL & Simulation......................................................................... 9
4 Multiplieur........................................................................................................ 11
4.1 Symbole ..................................................................................................... 11
4.2 Table de Vérité .......................................................................................... 11
4.3 Equation logique ....................................................................................... 11
4.4 VHDL & Simulation ................................................................................. 12
5 Afficheur 7 segments....................................................................................... 12
5.1 Symbole .................................................................................................... 12
5.2 Table de Vérité ......................................................................................... 13
5.3 Equation logique ...................................................................................... 13
5.4 Code VHDL & Simulation........................................................................ 14
6 Exercice ................................................................ Erreur ! Signet non défini.
6.1 Table de vérité .......................................................................................... 16
6.2 Equation logique ...................................................................................... 16
2
6.3 Code VHDL & Simulation........................................................................ 16
Partie Séquentiel ................................................................................................. 18
7 Bascule D ......................................................................................................... 18
7.1 Symbole logique ....................................................................................... 18
7.2 Table de Vérité ......................................................................................... 18
7.3 Equation logique ...................................................................................... 18
7.4 Code VHDL & Simulation........................................................................ 18
8 Bascule JK ........................................................................................................ 19
8.1 Symbole logique ....................................................................................... 19
8.2 Table de Vérité ........................................................................................ 20
8.3 Equation logique .......................................... Erreur ! Signet non défini.
8.4 Code VHDL & Simulation....................................................................... 20

3
Liste des figures
Figure 1: code VHDL d ‘un comparateur 2bit avec la construction ‘when’ ...................... 7
Figure 2: Simulation d'un d’un comparateur 2bits ............................................................ 7
Figure 3: code VHDL d'Additionneur complet avec instruction 'when’ ........................... 8
Figure 4: Simulation d’Additionneur complet ................................................................... 8
Figure 5: code VHDL d'Additionneur avec instruction 'when' ........................................10
Figure 6: Simulation d'Additionneur complet avec instruction 'when' ...........................10
Figure 7: code VHDL d'additionneur complet avec instruction logique .........................10
Figure 8: simulation d'additionneur complet avec instruction ....................................... 11
Figure 9: code VHDL et Simulation d'un mux4_1 ............................................................ 12
Figure 11 : code VHDL et simulation d'un mux8_1............................................................ 12
Figure 12: code VHDL et Simulation d'un afficheur 7segments .......................................14
Figure 13: code VHDL d'un Transcodeur Bin_Gray .......................................................... 15
Figure 14: code VHDL+ Simulation d'exercice .................................................................. 17
Figure 15: code VHDL et simulation de la bascule D ........................................................19
Figure 16: code VHDL et simulation de la bascule D avec entrée Set et Reset
asynchrone .........................................................................................................................19
Figure 17: code VHDL et simulation de la bascule JK ....................................................... 21

4
Introduction
Le VHDL (VHSIC Hardware Description Language) est un langage de
description de matériel informatique utilisé pour concevoir et simuler des
circuits numériques complexes. Il est largement utilisé dans l'industrie pour la
conception de circuits intégrés programmables (FPGA, ASIC) et de systèmes
sur puce (SoC).

Le logiciel MAX+PLUS II de la société Altera est une suite d'outils de


développement pour la conception de circuits numériques programmables. Il
prend en charge la conception, la simulation et la synthèse des circuits VHDL,
ainsi que la programmation des circuits programmables.

Le processus de conception d'un circuit numérique avec VHDL implique la


description du circuit dans le langage VHDL, suivi de la simulation et de la
vérification de la fonctionnalité du circuit. Une fois que le circuit est validé, la
synthèse est effectuée pour générer un fichier de configuration qui peut être
programmé sur un circuit programmable.

Le logiciel MAX+PLUS II simplifie ce processus en fournissant une interface


graphique conviviale pour la description du circuit VHDL, la simulation et la
synthèse. Le logiciel offre également des outils de débogage et d'optimisation
pour aider à améliorer la performance du circuit.

En résumé, le langage de programmation VHDL est un outil puissant pour la


conception de circuits numériques complexes, et le logiciel MAX+PLUS II offre
une solution complète pour la conception, la simulation et la synthèse de
circuits VHDL et dans ce rapport de TP on va traiter deux partie, une partie
combinatoire et autre séquentiel.

5
Partie combinatoire

1 Comparateur 1 bit
1.1 Symbole logique
Le symbole logique du comparateur (1bit) est représenté par le schéma suivant :

A S>
B S=
S<

1.2 Table de vérité


La table de vérité du comparateur (1bit) est représentée par le tableau suivant :

A B S> S= S<

0 0 0 1 0

0 1 0 0 1

1 0 1 0 0

1 1 0 1 0

1.3 Equation logique


Les équations logiques du comparateur (1bit) sont les suivants :

𝑺𝑺 = 𝑨𝑩̅
̅𝑩
𝑺𝑰 = 𝑨
̅𝑩
𝑺𝑬 = 𝑨 ̅̅̅̅̅̅̅̅̅
̅ + 𝑨𝑩 = 𝑨 ⊕𝑩

1.4 Code VHDL & Simulation


Le code VHDL d ‘un comparateur 2bit avec la construction ‘when’ est le suivant :

6
Figure 1: code VHDL d ‘un comparateur 2bit avec la construction ‘when’

La simulation du comparateur 2bits est l suivant :

Figure 2: Simulation d'un comparateur 2bits

2 Demi-additionneur
2.1 Symbole logique
Le symbole logique du demi-additionneur est représenté par le schéma suivant :

A S
B C

2.2 Table de Vérité


La table de vérité du demi additionneur est représentée par le tableau suivant :

7
A B S C

0 0 0 0

0 1 1 0

1 0 1 0

1 1 0 1

2.3 Equation logique


Les équations logiques du demi additionneur sont les suivants :

• 𝑺=𝑨⊕𝑩
• 𝑪 = 𝑨𝑩

2.4 Code VHDL & Simulation


Le code VHDL d'Additionneur complet avec instruction 'when’ est représenté par la
figure suivant :

Figure 3: code VHDL d'Additionneur complet avec instruction 'when’

Simulation d’Additionneur complet est représenté par la figure suivant :

Figure 4: Simulation d’Additionneur complet

8
3 Additionneur complet
3.1 Symbole
Le symbole logique d’additionneur complet est représenté par le schéma suivant :

A S
B Rs
Re

3.2 Table de Vérité


La table de vérité du d’additionneur complet est représentée par le tableau suivant :

V A B Re Rs S
0 0 0 0 0 0
1 0 0 1 1 0
2 0 1 0 1 0
3 0 1 1 0 1
4 1 0 0 1 0
5 1 0 1 0 1
6 1 1 0 0 1
7 1 1 1 1 1

3.3 Equation logique


Les équations logiques d’additionneur complet sont les suivants :

𝑺 = 𝑨 ⊕ (𝑹𝑬 ⊕ 𝑩)
𝑹𝒔 = 𝑨𝑩 + 𝑹𝑬 (𝑨 ⊕ 𝑩)

3.4 Code VHDL & Simulation


Le code VHDL d'Additionneur avec instruction 'when' est représenté dans la figure suivant :

9
Figure 5: code VHDL d'Additionneur avec instruction 'when'

La Simulation d'Additionneur complet avec instruction 'when' est représenté dans la figure
suivant :

Figure 6: Simulation d'Additionneur complet avec instruction 'when'

Le code VHDL d'additionneur complet avec instruction logique est représenté dans la figure
suivant :

Figure 7: code VHDL d'additionneur complet avec instruction logique

La simulation d’additionneur complet avec instruction logique est représentée par la figure
suivant :

10
Figure 8: simulation d'additionneur complet avec instruction logique

4 Multiplixeur
4.1 Symbole
Les symboles logiques des multiplixeurs 4_1 et 8_1 est représenté par le schéma
suivant :
E0
E0 E1
E1 Y E2
E2 Mux4_1 E3 Y
Mux8_1
E3 S0 S1 E4
E5
E6
E7 S2 S0 S1

4.2 Table de Vérité


Les tables de vérité des multiplixeurs 4_1 et 8_1 est représentée par le tableau suivant :

S1 S2 Y S2 S1 S2 Y
0 0 0 E0
0 0 E0
0 0 1 E1
0 1 E1 0 1 0 E2
1 0 E2 0 1 1 E3
1 1 E3 1 0 0 E4
1 0 1 E5
1 1 0 E6
1 1 1 E7

4.3 Equation logique


Les équations logiques d’additionneur complet sont les suivants :

11
𝒀 = 𝑬𝟎 𝒔̅𝟏 𝒔̅𝟎 + 𝑬𝟏 𝒔̅𝟏 𝑺𝟎 + 𝑬𝟐 𝑺𝟏 𝒔̅𝟎 +𝑬𝟑 𝑺𝟏 𝑺𝟎

𝒀 = 𝑬𝟎 𝒔̅𝟐 𝒔̅𝟏 𝒔̅𝟎 + 𝑬𝟏 𝒔̅𝟐 𝒔̅𝟏 𝑺𝟎 + 𝑬𝟐 𝒔̅𝟐 𝑺𝟏 𝒔̅𝟎 +𝑬𝟑 𝒔̅𝟐 𝑺𝟏 𝑺𝟎 𝑬𝟎 𝑺𝟐 𝒔̅𝟏 𝒔̅𝟎
+ 𝑬𝟏 𝑺𝟐 𝒔̅𝟏 𝑺𝟎 + 𝑬𝟐 𝑺𝟐 𝑺𝟏 𝒔̅𝟎 +𝑬𝟑 𝑺𝟐 𝑺𝟏 𝑺𝟎

4.4 Code VHDL & Simulation


Le code VHDL et Simulation d'un mux4_1 est représenté par la figure suivant :

Figure 9: code VHDL et Simulation d'un mux4_1

Le code VHDL et Simulation d'un mux8_1 est représenté par la figure suivant :

Figure 10 : code VHDL et simulation d'un mux8_1

5 Afficheur 7 segments
5.1 Symbole logique
Le symbole logique afficheur 7 segments est représenté par le schéma suivant :

12
a
A b
B c
C d
D e
f
g

5.2 Table de Vérité


La table de vérité de l’afficheur 7 segments est représentée par le tableau suivant :

V A B C D a b c d e f g
0 0 0 0 0 0 0 0 0 0 0 1
1 0 0 0 1 1 0 0 1 1 1 1
2 0 0 1 0 0 0 1 0 0 1 0
3 0 0 1 1 0 0 0 0 1 1 0
4 0 1 0 0 1 0 0 1 1 0 0
5 0 1 0 1 0 1 0 0 1 0 0
6 0 1 1 0 0 1 0 0 0 0 0
7 0 1 1 1 0 0 0 1 1 1 1
8 1 0 0 0 0 0 0 0 0 0 0
9 1 0 0 1 0 0 0 0 1 0 0
A 1 0 1 0 0 0 0 1 0 0 0
B 1 0 1 1 1 1 0 0 0 0 0
C 1 1 0 0 0 1 1 0 0 0 1
D 1 1 0 1 1 0 0 0 0 1 0
E 1 1 1 0 0 1 1 0 0 0 0
F 1 1 1 1 0 1 1 1 0 0 0

5.3 Equation logique


Les équations logiques d’afficheur 7segments sont les suivants :

̅𝑫
• 𝒂=𝑩 ̅ + 𝑪 + 𝑩𝑫 + 𝑨
• 𝒃=𝑩+𝑪 ̅𝑫̅ + 𝑪𝑫
̅+𝑫+𝑩
• 𝒄=𝑪

13
• ̅𝑫
𝒅=𝑩 ̅ +𝑩 ̅ 𝑫 + 𝑪𝑫
̅ 𝑪 + 𝑩𝑪 ̅ +𝑨
• ̅𝑫
ⅇ=𝑩 ̅ + 𝑪𝑫
̅
• ̅𝑫
𝒇=𝑪 ̅ + 𝑩𝑫
̅ + 𝑩𝑪 ̅ +𝐀
• 𝒈=𝑩 ̅ + 𝑨 + 𝑩𝑫
̅ 𝑪 + 𝑩𝑪 ̅

5.4 Code VHDL & Simulation


Le code VHDL et Simulation d’afficheur 7 segments est représenté par la figure suivant :

Figure 11: code VHDL et Simulation d'un afficheur 7segments

6 Transcodeur binaire Gray


6.1 Symbole logique
Le symbole logique du transcodeur est représenté par le schéma suivant :

B0 G0
B1 G1
B2 G2
B3 G3

6.2 Table de vérité


La table de vérité du transcodeur binaire Gray est représentée par le tableau suivant :

V B3 B2 B1 B0 G3 G2 G1 G0
0 0 0 0 0 0 0 0 0

14
1 0 0 0 1 0 0 0 1
2 0 0 1 0 0 0 1 1
3 0 0 1 1 0 0 1 0
4 0 1 0 0 0 1 1 0
5 0 1 0 1 0 1 1 1
6 0 1 1 0 0 1 0 1
7 0 1 1 1 0 1 0 0
8 1 0 0 0 1 1 0 0
9 1 0 0 1 1 1 0 1
A 1 0 1 0 1 1 1 1
B 1 0 1 1 1 1 1 0
C 1 1 0 0 1 0 1 0
D 1 1 0 1 1 0 1 1
E 1 1 1 0 1 0 0 1
F 1 1 1 1 1 0 0 0
6.3 Equation logique
Les équations logiques du transcodeur binaire Gray sont les suivants :

𝑮𝟎 = 𝑩𝟎 ⊕ 𝑩𝟏
𝑮𝟏 = 𝑩𝟏 ⊕ 𝑩𝟐
𝑮𝟐 = 𝑩𝟐 ⊕ 𝑩𝟑
𝑮𝟑 = 𝑩𝟑
6.4 Code VHDL & Simulation
Le code VHDL d'un Transcodeur Bin_Gray est représenté par la figure suivant :

Figure 12: code VHDL d'un Transcodeur Bin_Gray

15
7 Exercice d’application
7.1 Table de vérité
La table de vérité de l’exercice d’application est représentée par le tableau suivant :

V A B C S R L

0 0 0 0 0 0 0

1 0 0 1 0 1 1

2 0 1 0 0 1 1

3 0 1 1 1 0 1

4 1 0 0 0 1 1

5 1 0 1 1 0 1

6 1 1 0 1 0 1

7 1 1 1 0 0 0
7.2 Equation logique
Les équations logiques d’exercice d’application sont les suivants :

̅ 𝑩𝑪 + 𝑨𝑩
𝑺=𝑨 ̅ 𝑪 + 𝑨𝑩𝑪̅
̅𝑩
𝑹=𝑨 ̅𝑪 + 𝑨
̅ 𝑩𝑪̅ + 𝑨𝑩
̅𝑪̅
̅𝑩
𝑳=𝑨 ̅𝑪 + 𝑨
̅ 𝑩𝑪̅ + 𝑨𝑩
̅𝑪̅+𝑨
̅ 𝑩𝑪 + 𝑨𝑩 ̅
̅ 𝑪 + 𝑨𝑩𝑪

7.3 Code VHDL & Simulation


Le code VHDL et la Simulation d'exercice est représenté par la figure suivant :

16
Figure 13: code VHDL+ Simulation d'exercice

17
Partie Séquentiel

8 Bascule D
8.1 Symbole logique
Le symbole logique de la bascule D est le suivant :

D Q
CLK

8.2 Table de Vérité


La table de vérité de la bascule D est représentée par le tableau suivant

CLK D Q

0 0

1 1

0 X Q

8.3 Equation logique


L’ équations logiques de la bascule D est :

Q=D

8.4 Code VHDL & Simulation


Le code VHDL et simulation de la bascule D est représenté par la figure suivant :

18
Figure 14: code VHDL et simulation de la bascule D

Le code VHDL et la simulation de la Bascule D avec entrée Set et Reset


asynchrone :

Figure 15: code VHDL et simulation de la bascule D avec entrée Set et Reset asynchrone

9 Bascule JK
9.1 Symbole logique
Le symbole logique de la bascule JK est le suivant :

J Q

19
9.2 Table de Vérité
La table de vérité de la bascule JK est représentée par le tableau suivant

CLK J K Q

0 0 𝑸𝒂

0 1 0
1 0 1

1 1 ̅̅̅̅
𝑸𝒂
x x x 𝑸𝒂

9.3 Code VHDL & Simulation


Le code VHDL et simulation de la bascule JK est représenté par la figure suivant :

Figure 16: code VHDL et simulation de la bascule JK

Figure 17: code VHDL et simulation de la bascule JK

20
Conclusion

En résumé, ce TP de langage VHDL avec le logiciel « Max+plus » a


montré comment ces deux outils peuvent être utilisés ensemble
pour faciliter la conception et la simulation de circuits numériques.
Cette approche peut aider les ingénieurs à concevoir des circuits
plus efficaces et plus précis, en réduisant les erreurs de conception
et en offrant une meilleure compréhension du comportement des
circuits.

21

Vous aimerez peut-être aussi