本文介紹一個(gè)FPGA開源項(xiàng)目:DDR3讀寫。該工程基于MIG控制器IP核對(duì)FPGA DDR3實(shí)現(xiàn)讀寫操作。
MIG控制器支持兩種接口:(1)簡單用戶控制邏輯接口;(2)AXI接口。該工程采用前者,后面會(huì)整理DDR3的AXI總線訪問方法。
下面簡單介紹一下MIG控制器IP核的使用以及FPGA板上測(cè)試結(jié)果。
01軟硬件平臺(tái)
02IP核參數(shù)配置
MIG(Memory Interface Generator)IP核提供了用戶接口邏輯,以便于實(shí)現(xiàn)對(duì)DDR的訪問。有關(guān)MIG的詳細(xì)描述,可以參考官方文檔:ug586。這里不展開介紹。
接口配置界面,保持默認(rèn)選項(xiàng)。
- Clock Period:配置主時(shí)鐘頻率,這里選擇400M。由于DDR是雙沿工作,所以讀寫速率為400M2Data Width(16bits);
- 主時(shí)鐘頻率和用戶時(shí)鐘頻率比例:4:1,因此生成的用戶時(shí)鐘為100M;
- Memory Part:配置DDR參數(shù),根據(jù)實(shí)際情況選擇;
- Data Mask:如果選用的DDR帶有data mask就選上,并將信號(hào)拉低,表示不屏蔽數(shù)據(jù)接口;
Input Clock Period:輸入時(shí)鐘,這里選擇200M。
- System Clock:No Buffer;
- Reference Clock:使用系統(tǒng)時(shí)鐘;
- 系統(tǒng)復(fù)位信號(hào):低電平有效;
讀取XDC文件管腳配置,并點(diǎn)擊validate,進(jìn)行校驗(yàn)。
系統(tǒng)信號(hào)選擇不用配置,保持默認(rèn)選項(xiàng)即可。
03用戶接口 & 讀寫時(shí)序
MIG IP產(chǎn)生的用戶接口信號(hào)是以app_*格式命名:
input [127:0] app_rd_data; //讀數(shù)據(jù)
input app_rd_data_end; //讀數(shù)據(jù)結(jié)束
input app_rd_data_valid;//讀數(shù)據(jù)有效
input app_rdy; //MIG控制器準(zhǔn)備好讀寫
input app_wdf_rdy; //MIG控制器準(zhǔn)備好寫
output [27:0] app_addr; //讀寫地址
output [2:0] app_cmd; //讀寫命令
output app_en; //控制命令使能
output [127:0] app_wdf_data; //寫數(shù)據(jù)
output app_wdf_end; //寫數(shù)據(jù)結(jié)束
output app_wdf_wren; //寫數(shù)據(jù)使能
DDR寫時(shí)序如下圖所示。邏輯比較簡單,將所有信號(hào)嚴(yán)格對(duì)齊即可。但有一個(gè)需要注意的地方,就是當(dāng) app_rdy 和 app_wdf_rdy 都為高的時(shí)候,才能同時(shí)拉高 app_en ,這時(shí)寫入的數(shù)據(jù)才有效。
DDR讀時(shí)序如下圖所示。app_cmd、app_addr、app_en、app_rdy信號(hào)嚴(yán)格對(duì)齊即可,但是同樣需要在 app_rdy 拉高的情況下,才能拉高 app_en 。另外,數(shù)據(jù)讀出會(huì)略有延遲。
04Vivado工程源碼結(jié)構(gòu)
本工程源碼結(jié)構(gòu)如下圖所示。
- ddr_ctrl:ddr用戶接口讀寫控制模塊;
- clk_wiz_0:產(chǎn)生200M時(shí)鐘供MIG IP使用;
- time_ref:系統(tǒng)時(shí)間基準(zhǔn)模塊,以1s為周期計(jì)數(shù);
05實(shí)現(xiàn)功能 & 測(cè)試結(jié)果
該Vivado工程主要用于FPGA DDR3讀寫功能測(cè)試?;谟脩艨刂七壿嫿涌?,以1s為周期,每周期內(nèi)完成1次讀寫操作。板上測(cè)試1次讀寫操作的結(jié)果如下圖所示。
-
FPGA
+關(guān)注
關(guān)注
1629文章
21736瀏覽量
603385 -
控制器
+關(guān)注
關(guān)注
112文章
16361瀏覽量
178050 -
DDR3
+關(guān)注
關(guān)注
2文章
276瀏覽量
42270 -
接口
+關(guān)注
關(guān)注
33文章
8598瀏覽量
151157 -
AXI
+關(guān)注
關(guān)注
1文章
127瀏覽量
16631
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論