Quartus定制FPGA的Memory IP

前言

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


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

Quartus定制FPGA的Memory IP_第1张图片


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

  Quartus定制FPGA的Memory IP_第2张图片


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

Quartus定制FPGA的Memory IP_第3张图片


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

Quartus定制FPGA的Memory IP_第4张图片


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

Quartus定制FPGA的Memory IP_第5张图片


6、点击下一步

Quartus定制FPGA的Memory IP_第6张图片


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

Quartus定制FPGA的Memory IP_第7张图片


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

你可能感兴趣的:(FPGA)