resrcshr.vhd
来自「多个Verilog和vhdl程序例子」· VHDL 代码 · 共 46 行
VHD
46 行
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity add_sub is
port (result : out std_logic_vector (7 downto 0) ;
a, b : in std_logic_vector (7 downto 0) ;
add_sub : in std_logic ) ;
end add_sub ;
-- Without resource sharing you
-- get an 8-bit adder and a 8-bit subtractor feeding a mux
architecture no_resource_sharing of add_sub is
begin
process (a, b, add_sub)
begin
if add_sub = '1' then
result <= a + b;
else
result <= a - b;
end if;
end process;
end no_resource_sharing;
-- With manual resource sharing you
-- get less logic:
-- 8 inverters feeding a mux feeding an 8-bit adder
architecture manual_resource_sharing of add_sub is
begin
process (a, b, add_sub)
variable temp: std_logic_vector (7 downto 0);
begin
if add_sub = '1' then
temp := b;
else
temp := not b;
end if;
result <= a + temp + not add_sub;
end process;
end manual_resource_sharing;
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?