Professional Documents
Culture Documents
Etude dadditionneur
P. Bakowski
bako@ieee.org
Additionneur binaire
Modliser et simuler l'additionneur binaire complet (full adder). a cout b cin a, b entres s sortie cin retenue dentre cout retenue de sortie
s
P. Bakowski
2
P. Bakowski
interface de ladditionneur
P. Bakowski
s
P. Bakowski
5
s
P. Bakowski
6
a cout
b cin
s
P. Bakowski
7
Additionneur 4-bits
a(3) b(3) cout a(2) b(2) a(1) b(1) a(0) b(0) cin
c(2)
c(1)
c(0)
s(3)
s(2)
s(1)
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
8
P. Bakowski
s(i)
La premire version de l'architecture algorithmique utilise une variable interne pour le stockage de la valeur de la retenue entre les tages de l'additionneur; le dlai entre cin est cout est globalis
P. Bakowski
11
s(i)
La deuxime version de l'architecture algorithmique doit utiliser l'instruction wait afin de modliser les dlais locaux (e.g: wait on a,b,cin; wait for carry_del)
P. Bakowski
12
Architecture structurelle
Une architecture structurelle est construite partir des composants components. Mots cls a tudier: signal, component, port map, generate, ..
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