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文件。

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