0% ont trouvé ce document utile (0 vote)
2 vues3 pages

TP1 Conception Circuits Num Programmables

Ce document présente un TP sur la conception d'un additionneur-soustracteur 4 bits utilisant VHDL en description structurelle. L'objectif est de concevoir un circuit capable d'additionner ou de soustraire deux nombres binaires signés de 4 bits, avec détection de débordement. Les étudiants doivent réaliser des descriptions VHDL pour un additionneur complet et un multiplexeur, et simuler le circuit avec ModelSim.

Transféré par

aziz.hajjej1802
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)
2 vues3 pages

TP1 Conception Circuits Num Programmables

Ce document présente un TP sur la conception d'un additionneur-soustracteur 4 bits utilisant VHDL en description structurelle. L'objectif est de concevoir un circuit capable d'additionner ou de soustraire deux nombres binaires signés de 4 bits, avec détection de débordement. Les étudiants doivent réaliser des descriptions VHDL pour un additionneur complet et un multiplexeur, et simuler le circuit avec ModelSim.

Transféré par

aziz.hajjej1802
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

TP1 CONCEPTION DES CIRCUITS NUMERIQUES PROGRAMMABLES

Groupes: 2AGE

Enseignants Responsables :
Dr. Sawssen LAHIANI & Dr. Ahmed NEFFATI
Dr. Faten BEN ABDALLAH & Dr. Lotfi CHARRABI

TP1 : ADDITIONNEUR-SOUSTRACTEUR 4 BITS

1. BUT
Le but de ce TP est d’utiliser le VHDL en description structurelle pour concevoir un Additionneur-
soustracteur 4-bits avec détection de débordement.

2. DESCRIPTION
On désire décrire l’additionneur-soustracteur 4-bit représenté sur la figure 1. C’est un circuit capable
d’additionner ou de soustraire deux nombres binaires signés, chacun de taille 4 bits (le bit de poids fort
est un bit de signe), en fonction d’un signal de commande M. Si M=0, le circuit effectue une addition, si
M=1 le circuit effectue une soustraction.
En sortie on va avoir le résultat S sur 4 bits ainsi que la retenu (Cf), le débordement (Ovf) et une sortie
Mcov.

Figure 1 – Entrées/Sorties de l’additionneur-soustracteur 4 bits

Pour effectuer l’addition de deux nombres de 4 bits, il suffit de chaîner entre eux 4 additionneurs 1-bit complets
(Full Adder). La retenue est ainsi propagée d’un additionneur à l’autre. Un tel additionneur est appelé un
additionneur parallèle à propagation de retenue (Ripple-carry adder).
Effectuer A - B en complément à 2, est équivalent à A + B' + 1. (Le complément à 2 est équivalent au
complément à 1 bit-par-bit (changement de 0 par 1 et de 1 par 0) plus l’addition de 1)
Pour effectuer la deuxième addition (+1), il suffit d’injecter un 1 en guise de retenue dans l’additionneur de poids
faible.
On dispose ainsi d’un signal de contrôle M qui vaut 0 lorsque l'on veut faire une addition, et 1 lorsque l'on veut
faire une soustraction.
Les sorties Cf et Ovf où : Cf : Carry Flag (Drapeau de retenu), est activé lorsque la somme non signée dépasse 15
(c'est à dire que la somme ne peut plus être représenté sur 4 bits) et Ovf : Overflow Flag (Drapeau de

1
TP1 CONCEPTION DES CIRCUITS NUMERIQUES PROGRAMMABLES
débordement), est activé lorsque la somme signée est en dehors de l’intervalle [-7, +7]. Mcov est la sortie d’un
multiplexeur qui sélectionne Cf si l’opération réalisée est une addition ou Ovf si l’opération est une soustraction

La figure 2 présente le schéma structurel de l’additionneur soustracteur 4 bits :

Figure 2 – Architecture structurelle de l’Additionneur-soustracteur 4-bits

Le débordement (overflow):

- Comme on travaille avec des nombres de taille fixe, le résultat d'une addition peut donner un
nombre trop grand pour être représenté avec le même nombre de bits (4 bits dans notre cas),
cette source d'erreur est appelé débordement (overflow).
- Un débordement se produit si deux nombres de même signe sont additionnés et un résultat avec
le signe opposé est obtenu.
- Un débordement ne peut pas se produire lors de l'addition de nombres de signes opposés.
- Une façon de détecter le débordement: Si la retenue d’entrée (C3) à l’additionneur des bits de
signe (le 4ième additionneur complet) est différente de la retenue sortante (C4), alors il y a
débordement.

Exemples:
Decimal Binaire
Decimal Binaire Decimal Binaire Decimal Binaire

2 0010 5 0101 -7 1001 7 0111


+3 +0011 +3 +0011 + -5 +1011 + -2 +1110
5 cf 0 0101 8 cf 0 1000 4 cf 1 0100 5 cf 1 0101
ovf 0
ovf 1 ovf 1 ovf 0

3. TRAVAIL DEMANDE (OUTIL : MODELSIM)


1. Donner la description VHDL comportementale de :
- un additionneur complet à 1 bit (full_adder.vhd)
-
un multiplexeur ([Link])
2. Editer le fichier [Link] pour donner une description structurelle de l’additionneur-
soustracteur 4 bits.

2
TP1 CONCEPTION DES CIRCUITS NUMERIQUES PROGRAMMABLES
3. Editer le fichier de test addsub4_tb.vhd et simuler avec ModelSim l'additionneur-soustracteur.
Donner d’abord des valeurs de A et B de mêmes signes (positives et négatives) puis des valeurs
de signes opposés et de varier les opérations entre addition et soustraction. Observer les
chronogrammes et interpréter.

Vous aimerez peut-être aussi