Forum Discussion
Altera_Forum
Honored Contributor
8 years agoThe problem is, any build in RAMs in FPGAs are synchronous, so Asynchronous ram will need to be built from logic. Are you really after a fully async ram, or just on the read side?
Have you tried looking at the synthesis templates for inferred rom/ram? What version of quartus are you running? Quartus should allow initialisation of the ROM using any constant or function call, eg:
type rom_t is array(0 to 255) of std_logic_vector(7 downto 0);
function init_rom return rom_t is
variable r : rom_t;
begin
for i in r'range loop
r(i) := std_logic_vector( to_unsigned( i, 8) );
end loop;
return r;
end function
constant rom : rom_t := init_rom;