Mudanças entre as edições de "Circuito Somador e Subtrator - Pedroni"

De MediaWiki do Campus São José
Ir para navegação Ir para pesquisar
Linha 51: Linha 51:
 
| 4 || 34 || 142.03 ||3.035 dout[0]-internal[3] || 3.267 dout[0]-internal[3]
 
| 4 || 34 || 142.03 ||3.035 dout[0]-internal[3] || 3.267 dout[0]-internal[3]
 
|-
 
|-
| 32 || 234 || 185.14 || 5.481 0|dout[0] -internal[31] || x
+
| 32 || 234 || 185.14 || 5.481 dout0[0]-internal[31] || x
 
|-
 
|-
 
| 128 || x || x || x || x
 
| 128 || x || x || x || x
 
|-
 
|-
 
|}
 
|}

Edição das 22h16min de 10 de abril de 2016

Estrutura

  • Realiza a soma simples através do operador '+'.

VHDL

Código
--Book: Pedroni/491
--8 bits
library ieee;
use ieee.std_logic_1164.all;
use ieee.numeric_std.all;

entity add_sub is
	
	generic (n: natural := 4);
	
	port(
		a,b: in std_logic_vector (n-1 downto 0);
		--sub : out std_logic_vector (n-1 downto 0));
		sum : out std_logic_vector (n-1 downto 0));
end entity;

architecture add_sub of add_sub is
	signal sum_sig : signed (n-1 downto 0);
	--signal sub_sig : signed (n-1 downto 0);
 
	begin
		--Convert to signed and add_sub
		sum_sig <= signed(a) + signed(b);
		--sub_sig <= signed(a) - signed(b);
		--Return to std_logic_vector
		sum <= std_logic_vector (sum_sig);
		--sub <= std_logic_vector (sub_sig);

end architecture;
  • Chip planner:

Somador chip.png

Simulações

Nº Bits ALMs Potência (mW) Report Path Report Timing
4 34 142.03 3.035 dout[0]-internal[3] 3.267 dout[0]-internal[3]
32 234 185.14 5.481 dout0[0]-internal[31] x
128 x x x x