1. 程式人生 > >使用ISE時,使用IP核建立簡單雙埠RAM,即Simple Dual Port RAM的方法

使用ISE時,使用IP核建立簡單雙埠RAM,即Simple Dual Port RAM的方法

使用ISE時,使用IP核建立簡單雙埠RAM,即Simple Dual Port RAM的方法。

轉自:https://jingyan.baidu.com/album/6f2f55a1681706b5b83e6c65.html?picindex=4

step1:

在專案上右鍵,新建,在新建介面選擇IP Core(IP核),命名並建立。

然後會自動開啟New Source Wizard,展開Memories & Storage Elements, 展開RAMs & ROMs,可以找到Block Memory Generator。

step2:

開啟這個Generator,來到如圖介面,左邊是當前將要建立的Memory的輸入輸出。稍後的設定會調整這些埠。點選Next.

step3:

在第二步(Page 2 of 6),選擇Simple Dual Port RAM,如果兩個埠時鐘相同也可以勾選Common Clock簡化輸入輸出以及內部設計。

可以看到左邊的埠有了地址埠ADDRA,ADDRB,輸入DINA,輸出DOUTB。還有A口寫使能WEA,以及兩個埠的CLKA和CLKB。

step4:

再下一步,設定Port A Options。包括資料寬度Write Width,和儲存單元個數Write Depth。如圖設定64個儲存單元,對應的地址線6根。Port B只需要自動跟隨A的設定即可(讀埠)。

step5:

在第四步,下面的Memory Initialization設定儲存器的初始化。勾選Load Init File以選擇coe檔案。

step6:

coe檔案實質上是文字檔案。我們使用記事本新建並編輯。

先寫memory_initialization_radix=進位制;

再寫memory_initialization_vector=各單元資料逗號隔開;

編輯好後,儲存並修改後綴為coe.

也可以通過Matlab生成。

step7:

如果匯入成功,則會顯示COE File Contents視窗,且沒有紅色的錯誤提示。

可以上下滾動檢視各個Index的初始值是否符合預期。

step8:

然後點選Generate。需要等待一段時間。完成後,我們就可以在程式碼中使用這個名稱的模組了。

比如我新建的這個是Ram,那麼我就可以 Ram myram(.CLKA(clk)...)去呼叫它了。