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 39: Linha 39:
  
 
*Chip planner:
 
*Chip planner:
[[Arquivo: somador_chip.png | 200px]]
+
[[Arquivo: somador_chip.png | 300px]]
  
 
==Simulações==
 
==Simulações==
Linha 49: Linha 49:
 
! colspan="1" style="background: #efefef;" | Report Timing
 
! colspan="1" style="background: #efefef;" | Report Timing
 
|-
 
|-
| 4 || x || x || x || x
+
| 4 || 34 || 142.03 ||3.035 dout[0]-internal[3] || 3.267 dout[0]-internal[3]
 
|-
 
|-
| 32 || x || x ||x || x
+
| 32 || 234 || 185.14 || 5.481 0|dout[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 dout[0] -internal[31] x
128 x x x x