Académique Documents
Professionnel Documents
Culture Documents
VHDL
-BEN-SALEM Majda
2
anglais floating-point unit, FPU) ou dans les calculs vectoriels. Typiquement, ces unités
savent accomplir les opérations suivantes :
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.
4
Cahier de charge :
On désire réaliser une unité arithmétique et logique (ALU) par un programme VHDL
5
Programme :
6
7
Simulation :
Conclusion :
L’ UAL a pour rôle d’ effectuer les opérations arithmétiques et logiques de base comme :
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