entity memory is
generic
(
G_WIDTH : unsigned ( 31 downto 0 ) := to_unsigned ( 8 , 32 ) ; -- width of each memory cell
G_DEPTH : unsigned ( 31 downto 0 ) := to_unsigned ( 4 , 32 ) -- number of memory cells
) ;
port
(
I_CLOCK : in std_logic ; -- global clock
I_RESET_GLOBAL : in std_logic ; -- global reset
I_RESET_LOCAL : in std_logic ; -- local reset
I_WRITE : in std_logic ; -- write request
I_DATA : in unsigned ( ( to_integer ( G_WIDTH ) * to_integer ( G_DEPTH ) ) - 1 downto 0 ) -- input data
) ;
end entity memory ;