講解xilinx FPGA 使用mig IP對(duì)DDR3的讀寫(xiě)控制,旨在讓大家更快的學(xué)習(xí)和應(yīng)用DDR3。
本實(shí)驗(yàn)和工程基于Digilent的Arty Artix-35T FPGA開(kāi)發(fā)板完成。
軟件使用Vivado 2018.1
第二篇:mig IP的創(chuàng)建
1 DDR3
Digilent的Arty Artix-35T FPGA開(kāi)發(fā)板板載MT41K128M16JT-125 DDR3基本信息如下表所示。
2 mig IP的創(chuàng)建
1>點(diǎn)擊IP Catalog ->搜索mig->雙擊Memory Interface Generator(MIG 7 Series)
2>打開(kāi)后可以看到一些基本信息
3> Enter a component name in the Component Name field ->Next
Component name(組件名稱(chēng)):ddr3_ip
4>這里我們不做兼容性選擇,直接下一步
6>①Clock Period:(此功能表示所有控制器的工作頻率,頻率模塊受所選FPGA和器件速度等級(jí)等因素的限制。) 3000ps(333.33MHZ)。
②PHY to Controller Clock Ratio :(此功能確定物理層(存儲(chǔ)器)時(shí)鐘頻率與控制器和用戶(hù)界面時(shí)鐘頻率的比率。 由于FPGA邏輯時(shí)序限制,2:1比率會(huì)降低最大存儲(chǔ)器接口頻率。 2:1比率的用戶(hù)界面數(shù)據(jù)總線寬度是物理存儲(chǔ)器接口寬度寬度的四倍,而4:1比率的總線寬度是物理存儲(chǔ)器接口寬度的八倍。 2:1比率具有較低的延遲。 4:1的比率是最高數(shù)據(jù)速率所必需的)4:1。
③Memory Type:此功能選擇設(shè)計(jì)中使用的內(nèi)存部件類(lèi)型。
④Memory Part :此選項(xiàng)為設(shè)計(jì)選擇內(nèi)存部件。 選擇可以從列表中創(chuàng)建或者可以創(chuàng)建新部件。MT41K128M16XX-15E。
⑤Memory Voltage:根據(jù)設(shè)計(jì)原理圖1.35V。
⑥D(zhuǎn)ata Width:(可以根據(jù)之前選擇的存儲(chǔ)器類(lèi)型在此處選擇數(shù)據(jù)寬度值。 該列表顯示所選部件的所有支持的數(shù)據(jù)寬度。 可以選擇其中一個(gè)數(shù)據(jù)寬度。 這些值通常是各個(gè)器件數(shù)據(jù)寬度的倍數(shù)。 在某些情況下,寬度可能不是精確倍數(shù)。 例如,16位是x16組件的默認(rèn)數(shù)據(jù)寬度,但8位也是有效值。)16。
⑦Data Mask:(選擇時(shí),此選項(xiàng)會(huì)分配數(shù)據(jù)屏蔽引腳。 應(yīng)取消選擇此選項(xiàng)以釋放數(shù)據(jù)屏蔽引腳并提高引腳效率。 此外,對(duì)于不支持?jǐn)?shù)據(jù)掩碼的內(nèi)存部分禁用此功能。)勾選。
NXET。
7>①I(mǎi)nput clock Period:6000ps(166.667MHZ)。
②Read Burst Type and Length:Sequential。
③Output Driver Impedance Control:RZQ/6。
其他默認(rèn),NEXT。
8>①System Clock :(此選項(xiàng)為sys_clk信號(hào)對(duì)選擇時(shí)鐘類(lèi)型(單端,差分或無(wú)緩沖)。 選擇No Buffer選項(xiàng)時(shí),IBUF原語(yǔ)不會(huì)在RTL代碼中實(shí)例化,并且不會(huì)為系統(tǒng)時(shí)鐘分配引腳。 )No Buffer。
②Reference Clock :(此選項(xiàng)為clk_ref信號(hào)對(duì)選擇時(shí)鐘類(lèi)型(單端,差分,無(wú)緩沖或使用系統(tǒng)時(shí)鐘)。 當(dāng)輸入頻率介于199和201 MHz之間時(shí)(即輸入時(shí)鐘周期介于5,025 ps(199 MHz)和4,975 ps(201 MHz)之間),將顯示Use System Clock(使用系統(tǒng)時(shí)鐘)選項(xiàng)。參考時(shí)鐘頻率基于數(shù)據(jù)速率 并注意添加MMCM以創(chuàng)建高于1,333 Mb / s的適當(dāng)ref_clk頻率。當(dāng)選擇No Buffer選項(xiàng)時(shí),IBUF原語(yǔ)不會(huì)在RTL代碼中實(shí)例化,并且引腳不會(huì)分配給參考時(shí)鐘。)No Buffer。
③System Reset Polarity:(可以選擇系統(tǒng)復(fù)位(sys_rst)的極性。 如果選項(xiàng)選擇為低電平有效,則參數(shù)RST_ACT_LOW設(shè)置為1,如果設(shè)置為高電平 - 高,則參數(shù)RST_ACT_LOW設(shè)置為0。)ACTIVE LOW。
④Debug Signals Control:選擇此選項(xiàng)可以將校準(zhǔn)狀態(tài)和用戶(hù)端口信號(hào)端口映射到example_top模塊中的ILA和VIO。 這有助于使用Vivado Design Suite調(diào)試功能監(jiān)控用戶(hù)界面端口上的流量。 取消選擇Debug Signals Control選項(xiàng)會(huì)使example_top模塊中的調(diào)試信號(hào)保持未連接狀態(tài),并且IP目錄不會(huì)生成ILA / VIO模塊。 此外,始終禁用調(diào)試端口以進(jìn)行功能仿真。OFF。
⑤Sample Data Depth:此選項(xiàng)選擇Vivado調(diào)試邏輯中使用的ILA模塊的樣本數(shù)據(jù)深度。 當(dāng)“內(nèi)存控制器的調(diào)試信號(hào)”選項(xiàng)為“開(kāi)”時(shí),可以選擇此選項(xiàng)。
⑥Internal Verf:(內(nèi)部VREF可用于數(shù)據(jù)組字節(jié),以允許使用VREF引腳進(jìn)行正常的I / O使用。 內(nèi)部VREF僅應(yīng)用于800 Mb / s或更低的數(shù)據(jù)速率。)勾選。
其他默認(rèn),NEXT。
9>默認(rèn),NEXT。
10>選擇Fixed Pin Out。我們的原理圖管腳已經(jīng)確定無(wú)需從新設(shè)計(jì)。
11>點(diǎn)擊Read XDC/UCF,這里DDR3管腳支持兩種約束文件。
12>點(diǎn)擊Validate驗(yàn)證管腳約束是否有錯(cuò)誤。驗(yàn)證通過(guò)NEXT。
13>默認(rèn),NEXT。
14>Next。
15>Accept,Next。
16>Generate
17>Generate
18>至此我們的mig IP創(chuàng)建完成。
編輯:hfy
-
FPGA
+關(guān)注
關(guān)注
1624文章
21538瀏覽量
600478 -
開(kāi)發(fā)板
+關(guān)注
關(guān)注
25文章
4834瀏覽量
96838
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論