Xilinx:K7 DDR3 IP核配置教程
本(běn)文(wén)为(wèi)明(míng)德揚原創文(wén)章(zhāng),轉(zhuǎn)载請注明(míng)出(chū)处!作者(zhě):肖肖肖
MIG IP控制器是(shì)Xilinx为(wèi)用(yòng)戶提(tí)供的(de)一(yī)个(gè)用(yòng)于(yú)DDR控制的(de)IP核,方(fāng)便用(yòng)戶在(zài)即使不(bù)了(le)解(jiě)DDR的(de)控制和(hé)读(dú)写时(shí)序的(de)情(qíng)況下(xià),也(yě)能(néng)通(tòng)过(guò)MIG IP控制器读(dú)写DDR存儲器。
一(yī)、新建工程
在(zài)Vivado环(huán)境里(lǐ)新建一(yī)个(gè)項目,可(kě)取(qǔ)名为(wèi) ddr3_test。


这(zhè)里(lǐ)的(de)芯片(piàn)型号(hào)各(gè)位可(kě)以(yǐ)根(gēn)據(jù)需要(yào)選擇,我(wǒ)们(men)選擇的(de)是(shì):xc7k325tffg900-1(如(rú)下(xià)图(tú)所(suǒ)示):
點(diǎn)擊“Finish”結束(shù)工程的(de)建立:
二(èr)、進(jìn)入(rù)IP核配置界面(miàn)
在(zài)Vivado左(zuǒ)邊(biān)界面(miàn)“Project Manager”選項下(xià),點(diǎn)擊“IP Catalog”,進(jìn)入(rù)如(rú)下(xià)图(tú)所(suǒ)示界面(miàn)。
可(kě)以(yǐ)在(zài)搜索欄輸入(rù)“MIG” 快(kuài)速查找(zhǎo), 双(shuāng)擊“Memory Interface Generate (MIG 7 Series)”進(jìn)入(rù)DDR IP核配置界面(miàn)(如(rú)下(xià)图(tú)所(suǒ)示)。
三(sān)、IP核配置
點(diǎn)擊“Next”(如(rú)果(guǒ)想(xiǎng)了(le)解(jiě)更(gèng)多(duō)關(guān)于(yú)MIG的(de)信(xìn)息,可(kě)以(yǐ)點(diǎn)擊左(zuǒ)下(xià)角(jiǎo)的(de)“User Guide”来(lái)打(dǎ)開(kāi)Xilinx的(de)相關(guān)文(wén)檔)。
1. 修改“Component Name”为(wèi)“DDR3”,點(diǎn)擊“Next”(如(rú)下(xià)图(tú)所(suǒ)示)。
2. 这(zhè)里(lǐ)可(kě)以(yǐ)選擇兼容的(de)芯片(piàn),但我(wǒ)们(men)不(bù)需要(yào),直(zhí)接點(diǎn)擊“Next”(如(rú)下(xià)图(tú)所(suǒ)示)。
3. 直(zhí)接選擇默認的(de)“DDR3 SDRAM”,然後(hòu)點(diǎn)擊“Next”(如(rú)下(xià)图(tú)所(suǒ)示)。
4. 在(zài)“Memory Part”選項中(zhōng), 選擇開(kāi)發(fà)板上(shàng)的(de)型号(hào)“MT41J256m16XX-125”,數據(jù)宽(kuān)度(dù)“Data Width”選擇“64”位;最(zuì)後(hòu)“Next”(如(rú)下(xià)图(tú)所(suǒ)示①)。
图(tú)①:DDR3 MT41J256m16XX-125設置
或(huò)者(zhě)在(zài)“Memory Type”選項下(xià), 選擇“SODIMMs”;在(zài)“Memory Part”選項下(xià)鎂光(guāng)內(nèi)存条(tiáo)型号(hào)这(zhè)里(lǐ)可(kě)選为(wèi)“MT8JTF25664HZ-1G6”;在(zài)“Clock Period”設置參數为(wèi)“2500ps”、“400.00MHz”(如(rú)下(xià)图(tú)所(suǒ)示②);最(zuì)後(hòu)“Next”。
图(tú)②:型号(hào)为(wèi) MT8JTF25664HZ-1G6的(de)鎂光(guāng)內(nèi)存条(tiáo)設置
5. 選擇PLL輸入(rù)时(shí)鐘(zhōng)的(de)頻率“Input Clock Period”为(wèi)“200MHz”(这(zhè)个(gè)时(shí)鐘(zhōng)需要(yào)與(yǔ)開(kāi)發(fà)板上(shàng)的(de)时(shí)鐘(zhōng)頻率一(yī)致(zhì));“RTT(nominal)- On Die Termination(ODT)”選項下(xià)的(de) 板载DDR3RTT選擇“RZQ/6”(MT8JTF25664HZ-1G4選擇默認“RZQ/4”);其他(tā)設置輸出(chū)阻抗值和(hé)內(nèi)部(bù)的(de)ODT內(nèi)部(bù)上(shàng)拉電(diàn)阻值来(lái)改善DDR3的(de)信(xìn)号(hào)完整性(xìng),一(yī)般不(bù)需要(yào)修改(如(rú)下(xià)图(tú)③/④所(suǒ)示);最(zuì)後(hòu)點(diǎn)擊“Next”。
图(tú)③:DDR3 MT41J256m16XX-125設置
图(tú)④:型号(hào)为(wèi) MT8JTF25664HZ-1G6的(de)鎂光(guāng)內(nèi)存条(tiáo)設置
6. 在(zài)“System Clock”選項下(xià)選擇差分(fēn)“No Buffer”;在(zài)“Reference Clock”選項中(zhōng),因(yīn)为(wèi)開(kāi)發(fà)板上(shàng)沒(méi)有(yǒu)提(tí)供單独的(de)DDR參考时(shí)鐘(zhōng),所(suǒ)以(yǐ)選擇“Use System Clock”;在(zài)“System Reset Polarity”選項下(xià)選擇“ACTIVE LOW”,其它(tā)選項保留默認配置(如(rú)下(xià)图(tú)所(suǒ)示)。
7. 在(zài)“Internal Termination ImPedance”選項中(zhōng)High Range Banks 的(de)內(nèi)部(bù)端接阻抗,这(zhè)里(lǐ)選擇默認的(de)“50 ohms”;在(zài)“DCI Cascade”選項下(xià)“勾選”(如(rú)果(guǒ)是(shì)鎂光(guāng)內(nèi)存条(tiáo)MT8JTF25664HZ-1G6則不(bù)勾選)(如(rú)下(xià)图(tú)所(suǒ)示)。
8. 點(diǎn)擊選擇第(dì)二(èr)項,設定(dìng)一(yī)下(xià)DDR的(de)管(guǎn)脚,然後(hòu)點(diǎn)擊“Next”(如(rú)下(xià)图(tú)所(suǒ)示)。
9. 在(zài)以(yǐ)下(xià)界面(miàn)設置DDR3的(de)數據(jù)、地(dì)址和(hé)控制信(xìn)号(hào)的(de)FPGA管(guǎn)脚分(fēn)配和(hé)IO電(diàn)平。但这(zhè)个(gè)手(shǒu)工分(fēn)配比較費勁,此(cǐ)时(shí)可(kě)以(yǐ)點(diǎn)擊“Read XDC/UCF”直(zhí)接導入(rù)管(guǎn)脚分(fēn)配文(wén)件(jiàn)(.ucf文(wén)件(jiàn))。(如(rú)下(xià)图(tú)所(suǒ)示)
在(zài)本(běn)例程中(zhōng)我(wǒ)们(men)已經(jīng)为(wèi)大家(jiā)準備好(hǎo)了(le)一(yī)个(gè)ddr3.ucf文(wén)件(jiàn),只(zhī)要(yào)直(zhí)接導入(rù)这(zhè)个(gè).ucf文(wén)件(jiàn)就(jiù)可(kě)以(yǐ)完成(chéng) ddr3 的(de)管(guǎn)脚分(fēn)配(內(nèi)存条(tiáo) MT8JTF25664HZ-1G4,則選擇 dimm.ucf 文(wén)件(jiàn))。
導入(rù)完成(chéng)如(rú)下(xià):
接着再點(diǎn)擊“Validate”验(yàn)證一(yī)下(xià),通(tòng)过(guò)後(hòu)點(diǎn)擊“Next”(如(rú)下(xià)图(tú)所(suǒ)示)。
10. 这(zhè)里(lǐ)保留默認設置,直(zhí)接點(diǎn)擊“Next”。
11. 接下(xià)来(lái)顯示的(de)是(shì)DDR3 IP核配置的(de)整體(tǐ)情(qíng)況,檢查看(kàn)看(kàn)有(yǒu)沒(méi)有(yǒu)什麼(me)問(wèn)題(tí),沒(méi)有(yǒu)問(wèn)題(tí)就(jiù)點(diǎn)擊“Next”(如(rú)下(xià)图(tú)所(suǒ)示)。
12. 選擇“Accept”,點(diǎn)擊“Next”,“Next”。

13. 點(diǎn)擊“Generate”生(shēng)成(chéng)MIG控制器。
四(sì)、生(shēng)成(chéng)文(wén)檔
點(diǎn)擊“Generate”,生(shēng)成(chéng)MIG控制器相關(guān)的(de)設計(jì)文(wén)檔。
以(yǐ)上(shàng)就(jiù)是(shì)基于(yú)Xilinx 的(de)K7 DDR3 IP核的(de)生(shēng)成(chéng)配置过(guò)程,如(rú)有(yǒu)不(bù)明(míng)白的(de)地(dì)方(fāng)可(kě)以(yǐ)加我(wǒ)的(de)QQ:1479512800,共(gòng)同(tóng)讨論,期(qī)待與(yǔ)大家(jiā)一(yī)起探讨進(jìn)步!








