projeto de somador com e sem sinal descrição comportamental
DESCRIPTION
Projeto de Somador com e sem Sinal Descrição Comportamental. Somador Estrutural de 4 Bits (Entidade). B 3. A 3. B 2. A 2. B 1. A 1. B 0. A 0. Somador de 4 Bits. Cout. S 3. S 2. S 1. S 0. entity Adder is port ( A, B: in std_logic_vector(3 downto 0); - PowerPoint PPT PresentationTRANSCRIPT
ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I
prof. Dr. César Augusto M. Marconprof. Dr. Edson Ifarraguirre Moreno
Projeto de Somador com e sem Sinal
Descrição Comportamental
2 / 6
entity Adder isport(
A, B: in std_logic_vector(3 downto 0);cout: out std_logic;S : out std_logic_vector(3 downto 0)
);end Adder;
Somador Estrutural de 4 Bits (Entidade)
A0B0
S0
A1B1
S1
A2B2
S2
A3B3
S3
Somador de 4 BitsCout
3 / 6
library IEEE;use IEEE.std_logic_1164.all;
architecture Somador of Adder is signal c: std_logic_vector(3 downto 0);begin
A0: entity Add port map(cin=>’0’, A=>A(0),B=>B(0),cout=>c(0),s=>S(0));A1: entity Add port map(cin=>c(0),A=>A(1),B=>B(1),cout=>c(1),s=>S(1));A2: entity Add port map(cin=>c(1),A=>A(2),B=>B(2),cout=>c(2),s=>S(2));A3: entity Add port map(cin=>c(2),A=>A(3),B=>B(3),cout=>c(3),s=>S(3));Cout <= c(3);end Somador;
A0
Add0
B0
0Cout0
S0
A1
Add1
B1
Cin1
Cout1
S1
A2
Add2
B2
Cin2
Cout2
S2
A3
Add3
B3
Cin3
Cout3
S3
Cout
Somador Estrutural de 4 Bits (Arquitetura)
4 / 6
entity Adder isport(
A, B: in std_logic_vector(3 downto 0);cout: out std_logic;S : out std_logic_vector(3 downto 0)
);end Adder;
Somador Comportamental de 4 Bits (Entidade)
A0B0
S0
A1B1
S1
A2B2
S2
A3B3
S3
Somador de 4 BitsCout
• A mesma entidade do somador comportamental. Porque?• Portas de entrada e saída são iguais
5 / 6
library IEEE;use IEEE.std_logic_1164.all;use IEEE.std_logic_unsigned.all;
entity Adder is ...end Adder;
architecture SomaComp of Adder is signal iA, iB, SOMA: std_logic_vector(4 downto 0);begin iA <= '0' & A; iB <= '0' & B; SOMA <= iA + iB; S <= SOMA(3 downto 0); carry <= SOMA(4);end SomaComp;
Somador Comportamental de 4 Bits (Arquitetura)
Nova biblioteca para implementar somas
Soma de 5 bits
Apenas 4 bits são atribuídos para a saída
Vetores de 5 bits para implementar o carry
Último bit da soma é o carry
Concatena bit mais significativo com 0
6 / 6
1. Descrevendo o qualificador de overflow de forma comportamental...
V <= '1' when(iA(3) xnor iB(3))='1' and (SOMA(3) xor i(3))='1' else
'0';
• A descrição está completa? Teste as possibilidades• Faça os demais qualificadores (Negativo e Zero), de forma
comportamental
2. Faça um test-bench e teste todas a possibilidades e verifique que a implementação acima atende o desejado
3. Faça agora um subtrator, utilizando a descrição estrutural. DICA: use o carry de entrada do circuito. Note que, em complemento de 2, -Y = NOT(Y) + 1
4. Faça agora um subtrator e veja se o resultado obtido com overflow é o esperado. Caso não seja, o que deve ser feito para recalcular o overflow?
Exercícios