projeto de somador com e sem sinal descrição comportamental

6
ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I prof. Dr. César Augusto M. Marcon prof. Dr. Edson Ifarraguirre Moreno Projeto de Somador com e sem Sinal Descrição Comportamental

Upload: maitland

Post on 22-Feb-2016

33 views

Category:

Documents


0 download

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 Presentation

TRANSCRIPT

Page 1: Projeto de Somador com e sem Sinal Descrição Comportamental

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

Page 2: 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

Page 3: Projeto de Somador com e sem Sinal Descrição Comportamental

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)

Page 4: Projeto de Somador com e sem Sinal Descrição Comportamental

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

Page 5: Projeto de Somador com e sem Sinal Descrição Comportamental

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

Page 6: Projeto de Somador com e sem Sinal Descrição Comportamental

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