Académique Documents
Professionnel Documents
Culture Documents
CASABLANCA
------------
Faculté des Sciences Aïn Chock
Département de Physique
Master Spécialisé
Électronique électrotechnique automatique et informatique industrielle
Page | I
Additionneur/soustracteur sur 4bit en utilisant la description structurelle
Page | II
Additionneur/soustracteur sur 4bit en utilisant la description structurelle
Etude théorique
1|Page MS_EEAII
Additionneur/soustracteur sur 4bit en utilisant la description structurelle
I. Objectif :
En sortie on va avoir le résultat sur 4 bits ainsi que la retenu (Cf), le débordement (Ovf) et une
sortie (Mcov).
1- Additionneur 4-bit
Lorsque on fait l’addition en binaire, on additionne bit par bit en commençant à partir du poids
faible et à chaque fois on propage la retenue sortante au bit du rang supérieur. L’addition sur
un bit peut se faire par un additionneur complet 1-bit (FA).
2|Page MS_EEAII
Additionneur/soustracteur sur 4bit en utilisant la description structurelle
La table de vérité d’additionneur complet 1-bit (FA) :
A B Cin S Cout
0 0 0 0 0
0 0 1 1 0
0 1 0 1 0
0 1 1 0 1
1 0 0 1 0
1 0 1 0 1
1 1 0 0 1
1 1 1 1 1
Ainsi, pour effectuer l'addition de deux nombres de 4 bits, il suffit de chaîner entre eux 4
additionneurs 1-bit complets (Figure 2). 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).
B3 A3 B2 A2 B1 A1 B0 A0
C3 C2 C1 FA0 C0
FA3 FA2 FA1
C4 S3 S2 S1 S0
2- Soustraction
Avec en plus 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 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. Sur la figure 3,
les signaux qui connectent les modules internes de l’additionneur-soustracteur sont représentés
en rouge.
Les fonctions logiques l’additionneur-soustracteur 4-bit :
𝑶𝒗𝒇 = 𝐶4 ⊕ 𝐶3 𝑩𝒙 = 𝑀 ⊕ 𝐵𝑖 𝑴𝒄𝒐𝒗 = 𝑀 𝑪𝒇 = 𝐶4
4|Page MS_EEAII
Additionneur/soustracteur sur 4bit en utilisant la description structurelle
Programme VHDL
Additionneur-soustracteur
5|Page MS_EEAII
Additionneur/soustracteur sur 4bit en utilisant la description structurelle
I. Programme VHDL d’un additionneur complet 1bit (FA) :
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
entity additionneur_complet is
Port ( Acom : in STD_LOGIC;
Bcom : in STD_LOGIC;
Ccom : in STD_LOGIC;
sum : out STD_LOGIC;
Ret : out STD_LOGIC);
end additionneur_complet;
architecture Behavioral of additionneur_complet is
begin
sum<=Acom xor Bcom xor Ccom;
Ret<=(Acom and Bcom) or (Acom and Ccom) or (Bcom and Ccom) ;
end Behavioral;
6|Page MS_EEAII
Additionneur/soustracteur sur 4bit en utilisant la description structurelle
7|Page MS_EEAII
Additionneur/soustracteur sur 4bit en utilisant la description structurelle
I. Introduction
Pour exécuter ce projet on a choisi le logiciel Xilinx ISE, ce dernier se considère comme un
environnement de développement et de compilation des programmes VHDL, il permet
d’effectuer une analyse de timing, la simulation des conceptions et la mise en œuvre de
l'ensemble de flux. VHDL Xilinx Designs vous donne ainsi la possibilité de mettre en œuvre
des conceptions EDIF, SCHEMATIC et Verilog. Xilinx ISE est utilisée pour développer des
programmes qui sont utilisés dans les systèmes embarqués.
II. Description VHDL du module à partir du logiciel Xilinx ISE :
1- Description VHDL à partir du VHDL module :
Création d’un projet à partir du diagramme d’état :
Tout d’abord on doit ouvrir l’environnement Xilinx ISE Design Suite 12.1 pour créer un
nouveau projet à partir de File. Puis New Project.
La fenêtre New Project Wizard – Create New Project apparaît, on renseigne la avec les
valeurs voulues comme indiqué sur la capture d’écran (le chemin de l’emplacement du projet
et le nom du projet). Puis on appuie sur Next.
8|Page MS_EEAII
Additionneur/soustracteur sur 4bit en utilisant la description structurelle
La fenêtre New Project Wizard – Device Properties apparaît, on renseigne la avec les valeurs
voulues comme indiqué sur la capture d’écran. Puis Next.
Après les étapes montées précédemment on voit que le projet a été créé, alors on sélectionne
New Source et comme source du projet on choisit VHDL module et on nomme le module
(additionneur_complet). Et on termine par Next. Puis Finish.
9|Page MS_EEAII
Additionneur/soustracteur sur 4bit en utilisant la description structurelle
Pour complier le programme on clique par le bouton droit Check Syntax puis on clique Run.
Le programme a bien compilé sans aucune erreur.
Après création VHDL module pour addition complet. Alors pour effectuer l'addition de deux
nombres de 4 bits, il suffit de chaîner entre eux 4 additionneurs 1-bit complets (Figure 8) en
utilisant addition complète comme un component. La retenue est ainsi propagée d'un
additionneur à l'autre.
10 | P a g e MS_EEAII
Additionneur/soustracteur sur 4bit en utilisant la description structurelle
On clique 2 fois sur le schéma du bloc pour afficher les différents modules et les portes logique
du projet voir (figure 12 et 13).
11 | P a g e MS_EEAII
Additionneur/soustracteur sur 4bit en utilisant la description structurelle
12 | P a g e MS_EEAII
Additionneur/soustracteur sur 4bit en utilisant la description structurelle
III. Simulation (Modelsim)
Pour simuler notre projet à partir du langage VHDL il faut cliquer sur le fichier d’extension
DIA → New source.
Ensuite une fenêtre apparaît dont il faut choisir ‘Test Bench Waveform‘ et après on clique
sur ‘Next’ et ainsi de suite.
+ 4 + 0100
7 0111
cf 0
11 1011
ovf 1
13 | P a g e MS_EEAII
Additionneur/soustracteur sur 4bit en utilisant la description structurelle
2- Exemple 2 pratique : additions deux nombre positive
Decimal Benaire
+ 4 + 0100
3 0011
cf 0
7 0111
ovf 0
+ 7 + 0111
-5 -0101
cf 1
2 0010
ovf 0
14 | P a g e MS_EEAII
Additionneur/soustracteur sur 4bit en utilisant la description structurelle
Conclusion Générale
La première est de réaliser une étude théorique bien détaillée pour notre projet.
La deuxième est de compiler le programme VHDL qui est généré à partir le graph
d’états, après on a les simulé dans le logiciel Xilinx ISE Design Suite 12.1.
15 | P a g e MS_EEAII