本文開源一個FPGA項目:基于AXI總線的DDR3讀寫。之前的一篇文章介紹了DDR3簡單用戶接口的讀寫方式:《DDR3讀寫測試》,如果在某些項目中,我們需要把DDR掛載到AXI總線上,那就要通過MIG IP核提供的AXI接口來讀寫DDR。
下面圍繞Vivado BD工程的搭建以及各個IP的使用簡單介紹一下該項目。
01軟硬件平臺
- 軟件平臺:Vivado 2017.4;
- 硬件平臺:XC7A35TFTG256-1;
02創(chuàng)建Vivado BD工程
2.1 Clocking Wizard
首先在BD工程中添加Clocking Wizard IP核,用于給MIG IP核提供200M時鐘以及復(fù)位信號。

2.2 MIG IP
添加MIG IP核,接口已經(jīng)默認(rèn)配置成AXI接口。

- Clock Period:這里配置成400Mhz;
- Data Width:采用16bits;

- AXI參數(shù)配置:Data Width 配置成128 bits。DDR3是雙沿工作,并且工作頻率和用戶時鐘頻率為4:1,因此這里AXI總線位寬最大可配置為16bits42=128bits;

- MIG IP核輸入時鐘:200MHz;

- 系統(tǒng)時鐘:No Buffer;
- 參考時鐘:選擇Use System Clock;

配置好MIG IP后,將其與時鐘模塊(Clocking Wizard)進(jìn)行連接。

2.3 FDMA
FDMA 是米聯(lián)客基于AXI4總線協(xié)議設(shè)計的一個DMA控制器,將其掛載到AXI4總線上,可以方便地對PL或者PS端DDR進(jìn)行讀寫。
- FDMA寫時序
FDMA寫時序如下圖所示。將fdma_wready拉高,當(dāng)fdma_wbusy為低的時候表示總線空閑,此時可以拉高fdma_wreq,同時設(shè)置起始地址和數(shù)據(jù)長度。當(dāng)fdma_wvalid為高時,寫入有效數(shù)據(jù)。最后一個數(shù)據(jù)寫完,fdma_wvalid和fdma_wbusy會拉低。

- FDMA讀時序
FDMA讀時序如下圖所示。將fdma_rready拉高,當(dāng)fdma_rbusy為低的時候表示總線空閑,此時可以拉高fdma_rreq,同時設(shè)置起始地址和數(shù)據(jù)長度。當(dāng)fdma_rvalid為高時,輸出有效數(shù)據(jù)。最后一個數(shù)據(jù)讀完,fdma_rvalid和fdma_rbusy會拉低。

對FDMA IP參數(shù)進(jìn)行配置:這里采用32位寬地址線以及64位寬數(shù)據(jù)線進(jìn)行測試。

然后,將FDMA連接到AXI總線上,并通過axi_smc IP進(jìn)行數(shù)據(jù)位寬轉(zhuǎn)換。將需要調(diào)用的接口接出來,得到以下BD工程。

配置起始地址為0x0000_0000,令DDR的讀寫地址從0開始。

最后在頂層文件中添加用戶邏輯,并生成bit文件。
03功能測試
該Vivado工程實現(xiàn)的功能是基于AXI總線對DDR3進(jìn)行連續(xù)讀寫測試,每次突發(fā)讀寫長度為512*64bits,地址范圍為0~100M。FPGA板上測試結(jié)果如下圖所示。

-
FPGA
+關(guān)注
關(guān)注
1656文章
22308瀏覽量
630946 -
DDR3
+關(guān)注
關(guān)注
2文章
287瀏覽量
43961 -
接口
+關(guān)注
關(guān)注
33文章
9453瀏覽量
156288 -
IP核
+關(guān)注
關(guān)注
4文章
339瀏覽量
51744 -
AXI總線
+關(guān)注
關(guān)注
0文章
68瀏覽量
14722
發(fā)布評論請先 登錄
使用AXI4接口IP核進(jìn)行DDR讀寫測試
基于FPGA的DDR3多端口讀寫存儲管理系統(tǒng)設(shè)計
【紫光同創(chuàng)國產(chǎn)FPGA教程】【第十章】DDR3讀寫測試實驗
cyclone V控制DDR3的讀寫,quartusII配置DDR3 ip核后,如何調(diào)用實現(xiàn)DDR3的讀寫呢,謝謝
玩轉(zhuǎn)Zynq連載37——[ex56] 基于Zynq的AXI HP總線讀寫實例
【FPGA DEMO】Lab2:DDR3讀寫實驗
紫光同創(chuàng)FPGA入門指導(dǎo):DDR3 讀寫——紫光盤古系列50K開發(fā)板實驗教程
基于FPGA的DDR3多端口讀寫存儲管理的設(shè)計與實現(xiàn)

基于AXI總線的DDR3讀寫測試
評論