Circuito Somador e Subtrator - Pedroni

De MediaWiki do Campus São José
Revisão de 14h37min de 7 de dezembro de 2015 por Kamila.r (discussão | contribs)
Ir para navegação Ir para pesquisar

Estrutura

  • Realiza a soma e subtração através de operadores lógicos.
  • Primeiro converte para sinal, realiza a soma e subtração e depois converte para std_logic_vector.

Código VHDL

--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 := 8);
	
	port(
		a,b: in std_logic_vector (n-1 downto 0);
		sum, sub: out std_logic_vector (n-1 downto 0));
end entity;

architecture add_sub of add_sub is
	signal sum_sig, sub_sig : signed (n-1 downto 0);

	begin
		sum_sig <= signed(a) + signed(b);
		sub_sig <= signed(a) - signed(b);

		sum <= std_logic_vector (sum_sig);
		sub <= std_logic_vector (sub_sig);

end architecture;

Testbench

  • Código
  • Resultado (print)

Simulações

Nº Bits ALMs Delay Potência (mW)
8 16 x 133.13
16 32 x 156.04
32 64 x 162.81
128 256 x 280.09