Vous êtes sur la page 1sur 9

Conception d’ALU avec

VHDL

Réalisé par : Encadré par :

-CHRINBOU Mouhsine M.TAHIRI Karim

-BEN-SALEM Majda

-EL MRABTI Nassima

Année universitaire : 2019/2020


Le but de ce TP :
-Maitriser le langage VHDL.

-Réaliser une unité arithmétique et logique (ALU) en utilisant la carte FPGA.

-Maitriser le logiciel QUARTUS.

Présentation générale sur l’unité arithmétique et


logique :
Ce type de composant est implémenté dans un microcontrôleur, c’est le composant central qui
permet de réaliser tous les calculs.

Grâce à des bus il accède :

 Aux registres du microcontrôleur.


 Aux données numériques contenues dans les mémoires mortes et les mémoires vives.
 Aux différents périphériques d’entrées/sorties du microcontrôleur.

Différents types d’ALU :


Les UAL peuvent être spécialisées ou pas. Les UAL élémentaires calculent sur des nombres
entiers, et peuvent effectuer les opérations communes, que l'on peut séparer en quatre
groupes :

1. Les opérations arithmétiques : addition, soustraction, changement de signe, etc.


2. les opérations logiques : compléments à un, à deux, et, ou, ou-exclusif, non, non-et,
etc.
3. les comparaisons : test d'égalité, supérieur, inférieur, et leur équivalents « ou égal ».
4. éventuellement des décalages et rotations (mais parfois ces opérations sont
externalisées).
Certaines UAL sont spécialisées dans la manipulation des nombres à virgule flottante, en
simple ou double précision (on parle d'unité de calcul en virgule flottante (UVF, en

2
anglais floating-point unit, FPU) ou dans les calculs vectoriels. Typiquement, ces unités
savent accomplir les opérations suivantes :

 additions, soustractions, changement de signe ;


 multiplications, divisions ;
 comparaisons ;
 modulos.
Certaines UAL, le plus souvent de la classe des FPUs, notamment celles des superordinateurs,
sont susceptibles d'offrir des fonctions avancées :

 inverse (1/x) ;
 racine carrée ;
 logarithmes ;
 fonctions transcendantes (sin x, cos x, etc.) ;
 opération vectorielle (produit scalaire, vectoriel, etc.) ;
 etc.
Les processeurs modernes font appel à plusieurs UAL, au moins deux : une située dans
le chemin de contrôle pour incrémenter le registre de programme (de 1, 2, 4 ou 8
typiquement), et une autre dans le chemin de données pour traiter l'information.
Schéma de notre UAL 4 bits :
La figure ci-contre représente un schéma classique d'UAL. Celle-ci possède deux entrées A et
B sur lesquelles on présente les données à traiter. L'entrée F désigne l'opération à effectuer.
Enfin, l'UAL possède deux sorties, R qui est le résultat de l'opération, et D les éventuels
drapeaux.

3
Drapeaux :
Il existe différents drapeaux qui définissent ou une erreur dans le résultat (division par zéro,
dépassement de mémoire...), ou alors des codes conditions (supérieur, inférieur, égal à
zéro...).
La plupart des UAL possèdent des drapeaux qui ont différentes significations, dont voici
plusieurs exemples :

 Report (en : Carry-out), transporte le report résultant d'une addition, la retenue résultant
d'une opération de soustraction, ou le bit de dépassement résultant d'une opération de
décalage binaire.
 Zéro, indique que tous les bits de R sont égaux à zéro.
 Négatif, indique que le résultat de l'opération arithmétique est négatif.
 Débordement (en anglais : overflow), indique que le résultat d'une opération
arithmétique a excédé la capacité numérique de R.

Table d’opérations de 4 bits :

4
Cahier de charge :
On désire réaliser une unité arithmétique et logique (ALU) par un programme VHDL

pour le simuler avec la carte PFGA.

5
Programme :

6
7
Simulation :

Conclusion :

L’ UAL a pour rôle d’ effectuer les opérations arithmétiques et logiques de base comme :

 Les opérations arithmétiques : addition, soustraction, changement de signe, etc.


 les opérations logiques : compléments à un, à deux, et, ou, ou-exclusif, non, non-
et, ……
 les comparaisons : test d'égalité, supérieur, inférieur, et leur équivalents « ou
égal ».

Durant ce TP nous avons réussi à réaliser et simuler une unité arithmétique et logique
(ALU) en utilisant la carte FPGA.

8
9

Vous aimerez peut-être aussi