38 lines
768 B
VHDL
38 lines
768 B
VHDL
library IEEE;
|
|
use IEEE.STD_LOGIC_1164.all;
|
|
|
|
entity AccN is
|
|
generic ( N : positive := 8 );
|
|
port (
|
|
dataIn : in std_logic_vector((N-1) downto 0);
|
|
reset, enable, clk : std_logic;
|
|
dataOut : out std_logic_vector((N-1) downto 0)
|
|
);
|
|
end AccN;
|
|
|
|
architecture Behavioral of AccN is
|
|
signal s_adderOut : std_logic_vector((N-1) downto 0);
|
|
signal s_regOut : std_logic_vector((N-1) downto 0);
|
|
begin
|
|
|
|
adder : entity work.AdderN(Behavioral)
|
|
generic map ( N => N )
|
|
port map
|
|
(
|
|
operand1 => dataIn,
|
|
operand2 => s_regOut,
|
|
result => s_adderOut
|
|
);
|
|
|
|
reg : entity work.RegN(Behavioral)
|
|
generic map ( N => N )
|
|
port map
|
|
(
|
|
dataIn => s_adderOut,
|
|
reset => reset, enable => enable, clk => clk,
|
|
dataOut => s_regOut
|
|
);
|
|
|
|
dataOut <= s_regOut;
|
|
|
|
end Behavioral; |