Forum Discussion
Hi @efe373 ,
Check this link https://community.intel.com/t5/Intel-Quartus-Prime-Software/VHDL-How-to-initialize-RAM-from-file/m-p/30348
RAM initialization from files through textio library functions is only supported by ModelSim and other simulators, but not by Quartus. For synthesis, you can only use *.hex or *.mif files
Easiest way is to use .mif file check this link https://www.intel.com/content/www/us/en/programmable/quartushelp/13.0/mergedProjects/hdl/vhdl/vhdl_file_dir_ram_init.htm
type mem_t is array(0 to 255) of unsigned(7 downto 0);
signal ram : mem_t;
attribute ram_init_file : string;
attribute ram_init_file of ram :
signal is "my_init_file.mif";
As for In-System Memory Content Editor check this link
You can open the In-System Memory Content Editor after instantiating in the design one or more altsyncram megafunctions with the Allow In-System Memory Content Editor to capture and update content independently of the system clock option turned on (image).
The In-System Memory Content Editor works by turning single‑port RAM blocks into dual-port RAM blocks. One port is connected to your clock domain and data signals, and the other port is connected to the JTAG clock and data signals for editing or viewing.
Noted: Only single-port memorys can therefore be used with ISME, because if you use a dual-port RAM the second port is already in use by your design and is therefore not available to ISME.
https://www.intel.com/content/www/us/en/docs/programmable/683819/22-1/ip-cores-supporting-ismce.html
you can use the ISMCE in RAM: 1 PORT and the ROM: 1 PORT IP Cores.
Related video: https://www.youtube.com/watch?v=YI34AoA74_c&t=5s
Thanks,
Best Regards,
Sheng
p/s: If any answer from the community or Intel Support are helpful, please feel free to give best answer or rate 4/5 survey.
Hi Sheng,
Thanks for your answer. For the In-System Memory Content Editor, I was curious about enabling the feature for the RAMs inferred in HDL, not by a megafunction wizard. I assume it is not possible from your answer but I am not sure. Also, as you have mentioned this feature is for single-port RAMs, does it mean that there is no way I can enable this feature for dual-port RAMs?
Thanks,
Efe