TuAtAu
Advanced Member level 4
Ok, this is my most origin code to declare BRAM and it is really synthesized into RAM block!
The problem is now i want to reset~!! means when reset is '0', set all RAM to '0'
so i add a reset code
or
BOTH also become unsynthesizable! The ISE is hanging and showing the process is running and i already wait for an hour.. still running.. seems like hanged. Then I just need to stop the synthesizer..
So is it any way to RESET the BRAM data?
Code:
process (CLK)
begin
if (CLK'event and CLK = '1') then
if (ENABLE = '1') then
if (WRENABLE = '1') then
BRAM(conv_integer(ADDRESS(13 downto 0))) <= DATA_IN;
end if;
DATA_OUT <= BRAM(conv_integer(ADDRESS(13 downto 0))); --if correct, cache out
end if;
end if;
end process;
The problem is now i want to reset~!! means when reset is '0', set all RAM to '0'
so i add a reset code
Code:
process (CLK)
begin
if (CLK'event and CLK = '1') then
if (RESET = '0') then
BRAM <= (others => (others => '0'));
elsif (ENABLE = '1') then
if (WRENABLE = '1') then
BRAM(conv_integer(ADDRESS(13 downto 0))) <= DATA_IN;
end if;
DATA_OUT <= BRAM(conv_integer(ADDRESS(13 downto 0))); --if correct, cache out
end if;
end if;
end process;
or
Code:
process (CLK)
begin
if (RESET = '0') then
BRAM <= (others => (others => '0'));
elsif (CLK'event and CLK = '1') then
if (ENABLE = '1') then
if (WRENABLE = '1') then
BRAM(conv_integer(ADDRESS(13 downto 0))) <= DATA_IN;
end if;
DATA_OUT <= BRAM(conv_integer(ADDRESS(13 downto 0))); --if correct, cache out
end if;
end if;
end process;
BOTH also become unsynthesizable! The ISE is hanging and showing the process is running and i already wait for an hour.. still running.. seems like hanged. Then I just need to stop the synthesizer..
So is it any way to RESET the BRAM data?