Beruflich Dokumente
Kultur Dokumente
Additionneur 4-bits Dcouvrir les outils de conception par lexemple dun additionneur
4-bits.
Comprendre le fonctionnement dun additionneur.
Thorie:
Cours Architecture des ordinateurs I
Support:
Polycopi du cours, Computer Organization & Design (Hennessy &
Patterson), Digital Design (Wakerly)
Outils:
EPFL I&C LAP+LSL ModelSim, Leonardo, Uedit
Dure:
1 heure
Rappel:
Logique combinatoire Additionneur 4-bits traditionnel
3 ArchOrd(I) Add 4-bits EPFL 2002 25.08.03 4 ArchOrd(I) Add 4-bits EPFL 2002 25.08.03
Additionneur complet (Full Adder)
en cascade 0
0
0
0
0
1
0
1
0
0
0
0
0
1
1
0 1 1 1 0
1 0 0 0 1
1 0 1 1 0
1 1 0 1 0
1 1 1 1 1
5 ArchOrd(I) Add 4-bits EPFL 2002 25.08.03 6 ArchOrd(I) Add 4-bits EPFL 2002 25.08.03
ENTITY FA IS
PORT( A, B, Cin : IN std_logic;
Cout, S : OUT std_logic);
END FA ;
ARCHITECTURE synth OF FA IS
BEGIN
S <= A xor B xor Cin;
Cout <= (A and B) or (Cin and (A xor B));
END synth;
7 ArchOrd(I) Add 4-bits EPFL 2002 25.08.03 8 ArchOrd(I) Add 4-bits EPFL 2002 25.08.03
Programme VHDL structurel
Additionneur 4-bits (Ripple Adder) de ladditionneur 4-bits (I)
ENTITY Add4_FA IS
PORT( A, B : IN std_logic_vector (3 DOWNTO 0) ;
C0 : IN std_logic ;
C4 : OUT std_logic ;
S : OUT std_logic_vector (3 DOWNTO 0));
C3 = 1 C2 = 0 C1 = 0 C0 = 0 END Add4_FA ;
A(3) = 0 A(2) = 1 A(1) = 1 A(0) = 0
B(3) = 0 B(2) = 1 B(1) = 0 B(0) = 0
S(3) = 1 S(2) = 0 S(1) = 1 S(0) = 0
C4 = 0 C3 = 1 C2 = 0 C1 = 0
9 ArchOrd(I) Add 4-bits EPFL 2002 25.08.03 10 ArchOrd(I) Add 4-bits EPFL 2002 25.08.03
11 ArchOrd(I) Add 4-bits EPFL 2002 25.08.03 12 ArchOrd(I) Add 4-bits EPFL 2002 25.08.03
Additionneur 4-bits Simulation
Question 2:
Ecrire les programmes VHDL prcdents dans 2 fichiers spars:
FA.vhd et Add4_FA.vhd
Ecrire un script de simulation pour tester les oprations rsolues
la main prcdemment.
Utiliser le document Guide dutilisation des outils de conception
et effectuer les diffrentes tapes de la dmarche:
Simulation
Synthse (Type de FPGA: Altera APEX EP20K200EFC484-2X)
Les transparents suivants prsentent les rsultats que vous
devriez obtenir:
13 ArchOrd(I) Add 4-bits EPFL 2002 25.08.03 14 ArchOrd(I) Add 4-bits EPFL 2002 25.08.03
Rappel:
Chemin critique (Critical Path) Synthse: chemin critique
15 ArchOrd(I) Add 4-bits EPFL 2002 25.08.03 16 ArchOrd(I) Add 4-bits EPFL 2002 25.08.03
Synthse: schma logique
Loprateur arithmtique +
des bibliothques IEEE
Affichage obtenu par loption Show hierarchie du menu contextuel li au schma RTL
17 ArchOrd(I) Add 4-bits EPFL 2002 25.08.03 18 ArchOrd(I) Add 4-bits EPFL 2002 25.08.03
Optimisation avec
loprateur arithmtique + Programme VHDL
LIBRARY ieee ;
La construction dun additionneur base dadditionneurs USE ieee.std_logic_1164.all;
complets (Full Adders) permet de comprendre le principe USE ieee.std_logic_arith.all;
USE ieee.std_logic_unsigned.all;
de fonctionnement.
ENTITY add4_op IS
PORT( A, B : IN std_logic_vector (3 DOWNTO 0);
Cependant, lorsquon programme en VHDL, on utilise de Cin : IN std_logic;
prfrence loprateur + des bibliothques IEEE. La Cout : OUT std_logic;
S : OUT std_logic_vector (3 DOWNTO 0));
bibliothque std_logic_arith autorise les oprations avec END add4_op ;
des oprandes de type std_logic_vector. ARCHITECTURE synth OF add4_op IS
signal S_int : std_logic_vector (4 DOWNTO 0);
Limplmentation de ladditionneur est ainsi optimise en BEGIN
fonction du type de FPGA. S_int <= ('0' & A) + ('0' & B) + ("0000" & CIn);
S <= S_int(3 DOWNTO 0);
COut <= S_int(4);
END synth;
19 ArchOrd(I) Add 4-bits EPFL 2002 25.08.03 20 ArchOrd(I) Add 4-bits EPFL 2002 25.08.03
Simulation et synthse Synthse: Schma gnr
Question 3:
Ecrire le programme VHDL prcdent dans un fichier Leonardo a reconnu dans le code VHDL un module
Add4_op.vhd. additionneur, plutt quun schma structurel.
Lancer une simulation et vrifier que le comportement est
identique la solution des additionneurs complets en cascade en
analysant notamment leffet de Cin et la valeur de Cout.
Lancer une synthse. Observer le schma gnr et la fentre
Information qui donne la valeur du chemin critique.
Les transparents suivants prsentent le rsultat que vous
devriez obtenir.
21 ArchOrd(I) Add 4-bits EPFL 2002 25.08.03 22 ArchOrd(I) Add 4-bits EPFL 2002 25.08.03
utilisation
du FPGA:
=> 6 LCs
Chemin
critique:
7,08 ns