Mudanças entre as edições de "Circuito Somador e Subtrator - Pedroni"
Ir para navegação
Ir para pesquisar
(Criou página com '__NOTOC__ ==Estrutura== * * ==Código VHDL== <syntaxhighlight lang=vhdl> --Book: Pedroni/491 --8 bits library ieee; use ieee.std_logic_1164.all; use ieee.numeric_std.all; entity add_sub is ...') |
|||
Linha 1: | Linha 1: | ||
__NOTOC__ | __NOTOC__ | ||
==Estrutura== | ==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== | ==Código VHDL== | ||
Linha 26: | Linha 26: | ||
begin | begin | ||
− | |||
sum_sig <= signed(a) + signed(b); | sum_sig <= signed(a) + signed(b); | ||
sub_sig <= signed(a) - signed(b); | sub_sig <= signed(a) - signed(b); | ||
− | + | ||
sum <= std_logic_vector (sum_sig); | sum <= std_logic_vector (sum_sig); | ||
sub <= std_logic_vector (sub_sig); | sub <= std_logic_vector (sub_sig); | ||
Linha 47: | Linha 46: | ||
! colspan="1" style="background: #efefef;" | Potência (mW) | ! colspan="1" style="background: #efefef;" | Potência (mW) | ||
|- | |- | ||
− | | | + | | 8 || 16 || x || 133.13 |
|- | |- | ||
− | | | + | | 16 || 32 || x || 156.04 |
|- | |- | ||
− | | | + | | 32 || 64 || x || 162.81 |
|- | |- | ||
− | | | + | | 128 || 256 || x || 280.09 |
|- | |- | ||
|} | |} |
Edição das 14h37min de 7 de dezembro de 2015
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 |