Quartus定制FPGA的Memory IP

前言

    FPGA器件中通常嵌入一些用户可配置的存储块,在编程过程中经常需要一些存储器,如果使用逻辑单元存储的话就会占用大量逻辑资源,于是在内部嵌入了类似M4K,M9K等的存储器,专门给FIFO、RAM、ROM等使用。下面以cycloneIVE器件为例在Quartus中配置ROM的IP,以供模块调用。


1、打开Quartus,选择Tools--MegaWizard Plug-In Manager,点选create...



2、选择单端口ROM,CycloneIVE以及Verilog HDL,选择输出模块文件的目录,输入模块文件的名字(rom)

  


3、memory block type选择M9K,选择的Auto的话,则默认为M9K



4、勾选调‘q’ output port,输出不加触发器



5、选择使用hex或mif文件初始化memory数据,由于modelsim对mif文件中的负数数据只支持二进制的数据格式,故通常使用hex文件,hex文件和mif文件的制作方法见HEX和MIF格式波形文件的制作方法。如果需要生成的是RAM IP可以勾选Allow In-System...,对RAM进行数据存取操作。


6、点击下一步


7、点击完成,生成rom.v模块文件,可以在其他模块中调用该memoryIP核。



仿真说明:在modelsim下对CycloneIVE的memory进行仿真的时,必须调用altera的库文件并去除仿真的优化选项,同时需要将hex或mif文件放在modelsim的工程根目录下,否则无法读取到hex或mif文件。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章