Académique Documents
Professionnel Documents
Culture Documents
VHDL tp0
VHDL tp0
Etude dadditionneur
P. Bakowski
bako@ieee.org
Additionneur binaire
Modliser et simuler l'additionneur binaire complet
(full adder).
a
cout
cin
a, b entres
s sortie
cin retenue dentre
cout retenue de sortie
s
P. Bakowski
cout
cin
s
P. Bakowski
a
0
0
0
0
1
1
1
1
b
0
0
1
1
0
0
1
1
cin
0
1
0
1
0
1
0
1
s
0
1
1
0
1
0
0
1
cout
0
0
0
1
0
1
1
1
3
interface de ladditionneur
P. Bakowski
cout
cin
dlais daffectation
s
P. Bakowski
cout
cin
s
P. Bakowski
cout
cin
s
P. Bakowski
Additionneur 4-bits
a(3) b(3)
cout
s(3)
a(2) b(2)
c(2)
s(2)
a(1) b(1)
c(1)
s(1)
a(0) b(0)
c(0)
cin
s(0)
entity adder4 is
port (a,b: in bit_vector(3 downto 0); cin: in bit;
s: out bit_vector(3 downto 0); cout: out bit);
end adder4;
P. Bakowski
P. Bakowski
10
a(i) b(i)
s(i)
11
a(i) b(i)
s(i)
12
13
14
Architecture structurelle
Une architecture structurelle est construite partir
des composants components.
Mots cls a tudier:
signal,
component,
port map,
generate, ..
15
Architecture structurelle 1
architecture structurelle of adder4 is
signal c: bit_vector(3 downto 0);
component adder
port (...);
-- ici il faut copier le port de l'entity
end component;
begin
add1: adder port map(...);
add2: ...
...
end structurelle;
P. Bakowski
instances cbls
16
Architecture structurelle 2
Dans la deuxime version de l'architecture
structurelle doit utiliser le mcanisme de
gnration des instanciations:
generate
tudier:
boucle principale de gnration
for ..
conditions de gnration (instanciation)
if ..
P. Bakowski
17
Architecture structurelle 2
architecture structurelle of addern is
signal c: bit_vector(taille-1 downto 0);
component adder
..
begin
ADD: for i in 0 to taille-1 generate
INADD: if i=0 adder port map ()
end generate INADD;
ADDX : if i>0 adder port map ()
end generate ADDX;
end generate ADD;
...
end structurelle;
P. Bakowski
18