Unified RAM memory content signals
This commit is contained in:
@@ -48,19 +48,19 @@ end dpram_1w1r2c_ra;
|
||||
architecture Behavioral of dpram_1w1r2c_ra is
|
||||
|
||||
constant depth : integer := 2**addr_width;
|
||||
type RAMtype is array (0 to depth-1) of unsigned (data_width-1 downto 0);
|
||||
signal RAM : RAMtype;
|
||||
type memory_type is array (0 to depth-1) of unsigned (data_width-1 downto 0);
|
||||
signal memory_content : memory_type;
|
||||
signal addr_b_r : unsigned (addr_width-1 downto 0);
|
||||
|
||||
begin
|
||||
|
||||
dout_b <= RAM(to_integer(addr_b_r));
|
||||
dout_b <= memory_content(to_integer(addr_b_r));
|
||||
|
||||
process (clk_a)
|
||||
begin
|
||||
if clk_a'event and clk_a = '1' then
|
||||
if we_a = '1' then
|
||||
RAM(to_integer(addr_a)) <= din_a;
|
||||
memory_content(to_integer(addr_a)) <= din_a;
|
||||
end if;
|
||||
end if;
|
||||
end process;
|
||||
|
||||
@@ -50,8 +50,8 @@ end dpram_1w1r2c_ro;
|
||||
architecture Behavioral of dpram_1w1r2c_ro is
|
||||
|
||||
constant depth : integer := 2**addr_width;
|
||||
type RAMtype is array (0 to depth-1) of unsigned (data_width-1 downto 0);
|
||||
signal RAM : RAMtype;
|
||||
type memory_type is array (0 to depth-1) of unsigned (data_width-1 downto 0);
|
||||
signal memory_content : memory_type;
|
||||
|
||||
begin
|
||||
|
||||
@@ -59,7 +59,7 @@ process (clk_a)
|
||||
begin
|
||||
if clk_a'event and clk_a = '1' then
|
||||
if we_a = '1' then
|
||||
RAM(to_integer(addr_a)) <= din_a;
|
||||
memory_content(to_integer(addr_a)) <= din_a;
|
||||
end if;
|
||||
end if;
|
||||
end process;
|
||||
@@ -68,7 +68,7 @@ process (clk_b)
|
||||
begin
|
||||
if clk_b'event and clk_b = '1' then
|
||||
if re_b = '1' then
|
||||
dout_b <= RAM(to_integer(addr_b));
|
||||
dout_b <= memory_content(to_integer(addr_b));
|
||||
end if;
|
||||
end if;
|
||||
end process;
|
||||
|
||||
@@ -56,19 +56,19 @@ architecture Behavioral of dpram_2w2r2c_ra is
|
||||
constant depth : integer := 2**addr_width;
|
||||
signal addr_a_r : unsigned (addr_width-1 downto 0);
|
||||
signal addr_b_r : unsigned (addr_width-1 downto 0);
|
||||
type RAMtype is array (0 to depth-1) of unsigned (data_width-1 downto 0);
|
||||
shared variable RAM : RAMtype;
|
||||
type memory_type is array (0 to depth-1) of unsigned (data_width-1 downto 0);
|
||||
shared variable memory_content : memory_type;
|
||||
|
||||
begin
|
||||
|
||||
dout_a <= RAM(to_integer(addr_a_r));
|
||||
dout_b <= RAM(to_integer(addr_b_r));
|
||||
dout_a <= memory_content(to_integer(addr_a_r));
|
||||
dout_b <= memory_content(to_integer(addr_b_r));
|
||||
|
||||
process (clk_a)
|
||||
begin
|
||||
if clk_a'event and clk_a = '1' then
|
||||
if we_a = '1' then
|
||||
RAM(to_integer(addr_a)) := din_a;
|
||||
memory_content(to_integer(addr_a)) := din_a;
|
||||
end if;
|
||||
-- if re_a = '1' then
|
||||
addr_a_r <= addr_a;
|
||||
@@ -81,7 +81,7 @@ process (clk_b)
|
||||
begin
|
||||
if clk_b'event and clk_b = '1' then
|
||||
if we_b = '1' then
|
||||
RAM(to_integer(addr_b)) := din_b;
|
||||
memory_content(to_integer(addr_b)) := din_b;
|
||||
end if;
|
||||
-- if re_b = '1' then
|
||||
addr_b_r <= addr_b;
|
||||
|
||||
@@ -54,8 +54,8 @@ end dpram_2w2r2c_ro;
|
||||
architecture Behavioral of dpram_2w2r2c_ro is
|
||||
|
||||
constant depth : integer := 2**addr_width;
|
||||
type RAMtype is array (0 to depth-1) of unsigned (data_width-1 downto 0);
|
||||
shared variable RAM : RAMtype;
|
||||
type memory_type is array (0 to depth-1) of unsigned (data_width-1 downto 0);
|
||||
shared variable memory_content : memory_type;
|
||||
|
||||
begin
|
||||
|
||||
@@ -63,10 +63,10 @@ process (clk_a)
|
||||
begin
|
||||
if clk_a'event and clk_a = '1' then
|
||||
if we_a = '1' then
|
||||
RAM(to_integer(addr_a)) := din_a;
|
||||
memory_content(to_integer(addr_a)) := din_a;
|
||||
end if;
|
||||
if re_a = '1' then
|
||||
dout_a <= RAM(to_integer(addr_a));
|
||||
dout_a <= memory_content(to_integer(addr_a));
|
||||
end if;
|
||||
end if;
|
||||
end process;
|
||||
@@ -75,10 +75,10 @@ process (clk_b)
|
||||
begin
|
||||
if clk_b'event and clk_b = '1' then
|
||||
if we_b = '1' then
|
||||
RAM(to_integer(addr_b)) := din_b;
|
||||
memory_content(to_integer(addr_b)) := din_b;
|
||||
end if;
|
||||
if re_b = '1' then
|
||||
dout_b <= RAM(to_integer(addr_b));
|
||||
dout_b <= memory_content(to_integer(addr_b));
|
||||
end if;
|
||||
end if;
|
||||
end process;
|
||||
|
||||
Reference in New Issue
Block a user