|
例說FPGA連載40:DDR控制器集成與讀寫測試之DDR2控制器IP配置 特權(quán)同學(xué),版權(quán)所有 配套例程和更多資料下載鏈接: http://pan.baidu.com/s/1c0nf6Qc
DDR2 IP核配置 ① 在新建的工程中,點擊菜單“ToolsàMegaWizard Plug-In Manager”。 ② 在彈出的選項卡中選擇“Creat a new custom megafunction variation”,然后點擊“Next”。 ③ 接著接著選擇我們所需要的IP核,如圖4.9所示進(jìn)行設(shè)置。 ● 在“Select a megafunction from the list below”下面選擇IP核為“Interface à External Memory àDDR2 SDRAMàDDR2 SDRAM Controller with ALTMEMPHY v13.1”。 ● 在“What device family will you be using”后面的下拉欄中選擇我們所使用的器件系列為“Cyclone IV E”。 ● 在“What type of output file do you want to create?”下面選擇語言為“Verilog”。 ● 在“What name do you want for the output file?”下面輸入工程所在的路徑,并且在最后面加上一個名稱,這個名稱是我們現(xiàn)在正在例化的DDR2 Controller IP核的名稱,這里我們可以給他起名叫ddr2_controller,然后點擊Next進(jìn)入下一個頁面。
圖4.9 DDR2 IP核創(chuàng)建向?qū)?/font> ④ 進(jìn)入配置頁面后,首先是“Parameter Settings àMemory Settings”選項卡,如圖4.10進(jìn)行設(shè)置。
圖4.10 DDR2存儲器參數(shù)配置 ● “Device family”后面的下拉框中選擇工程所使用的器件系列,本實例工程選擇“Cyclone IV E”。 ● “Speed grade”后面的下拉框中選擇工程所使用器件的速度等級,根據(jù)實際器件的情況,我們選擇“8”。 ● “PLL reference clock frequency”后面設(shè)置輸入到該IP核的PLL模塊的時鐘頻率,本實例工程輸入時鐘頻率為“100MHz”。 ● “Memory clock frequency”后面輸入DDR2實際操作的差分時鐘頻率,我們設(shè)置為“167MHz”。 ● “Controller data rate”為該IP核與FPGA內(nèi)部邏輯接口之間的頻率,我們設(shè)定為“Half”,表示這個頻率為DDR2時鐘頻率167MHz的一半。 ● “Memory Presets”下面有很多可選的DDR2型號,我們根據(jù)實際使用型號選擇“Micron MT47H32M16CC-3”。 關(guān)于“Memory Presets”部分,如果我們找不到自己使用的DDR2芯片信號,那么可以現(xiàn)在“Presets”中先選擇一個和實際使用型號參數(shù)相近的型號,然后點擊“Modify parameters…”按鈕對一些具體的參數(shù)進(jìn)行修改,以匹配實際使用的DDR2型號。如圖4.11所示,打開的“Preset Editor”中幾乎可以更改所有的DDR2相關(guān)參數(shù)。這些參數(shù)的具體含義可以參考Altera官方文檔“ug_altmemphy.pdf”。
圖4.11 DDR2自定義參數(shù)設(shè)置 ● “Preset Editor”選項卡中需要更改一個設(shè)置,即Parameter為“Memory burst length”行對應(yīng)的“Value”更改為“8”。這是由于我們使用了Half模式的Controller data rate,若不更改此burst值,則IP核生成時將會報錯。 ⑤ “Parameter Settings àPHY Settings”選項卡、 “Parameter Settings àBoard Settings”選項卡以及“Parameter Settings àController Settings”選項卡,通常都不需要額外設(shè)置,使用默認(rèn)設(shè)置就可以。 ⑦ “Summary”選項卡可以選擇是否生成一些IP核相關(guān)的文件,點擊“Finish”就可以生成IP核。如圖4.12所示,至此IP核以及生成完畢。
圖4.12 DDR2 IP核生成 |