91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Xilinx FPGA平臺DDR3設(shè)計保姆式教程(三)

C29F_xilinx_inc ? 來源:賽靈思 ? 作者:賽靈思 ? 2022-02-21 18:15 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

干貨來了,用DDR搬磚,只需要會用IP就好,Xilinx官方Y(jié)YDS!

一、MIG IP核配置

工具 :VIVADO 2018.3

FPGA : XC7K325FFG900-2

DDR3 : MT41J256M16XX-125

配置時鐘部分,建議詳看第二篇《DDR各時鐘頻率分析》

(1)選中“MIG”進(jìn)入配置界面

Xilinx FPGA平臺DDR3設(shè)計保姆式教程(三)

(2)選擇Create Design來創(chuàng)建設(shè)計

Xilinx FPGA平臺DDR3設(shè)計保姆式教程(三)

①選擇Create Design來創(chuàng)建設(shè)計

②自定義名字

③選擇1個控制器就好

④是否使用AXI4接口,為了簡化理解,不勾選

(3)是否選擇兼容其他器件(不需要,直接NEXT)

Xilinx FPGA平臺DDR3設(shè)計保姆式教程(三)

(4)存儲器選擇,還用說嗎,DDR3走起

Xilinx FPGA平臺DDR3設(shè)計保姆式教程(三)

(5)重點來了,時鐘配置、DDR選型

Xilinx FPGA平臺DDR3設(shè)計保姆式教程(三)

①Clock Period,即DDR芯片物理側(cè)的IO時鐘頻率,稱之為核心頻率

②物理側(cè)到控制器時鐘的比例,可選4:1或2:1;決定了ui_clk的頻率;

如圖配置的話,ui_clk = 800M /4 =200Mhz

③選擇DDR3的類型,Components指的是DDR3的型號是元件類,筆記本那種的插條類是SODIMMs。

④選擇DDR3的型號

⑤數(shù)據(jù)位寬,由DDR型號決定,但是當(dāng)FPGA掛了多片DDR時,位寬相應(yīng)增加;

(6)配置系統(tǒng)時鐘

系統(tǒng)時鐘輸入,建議200M,后面參考時鐘可以直接使用系統(tǒng)時鐘。

Xilinx FPGA平臺DDR3設(shè)計保姆式教程(三)

(7)參考時鐘、復(fù)位

Xilinx FPGA平臺DDR3設(shè)計保姆式教程(三)

Xilinx FPGA平臺DDR3設(shè)計保姆式教程(三)

①系統(tǒng)時鐘選擇NO BUFFER,因為系統(tǒng)時鐘為200M,所以參考時鐘直接使用系統(tǒng)時鐘就好。 參考時鐘必須是200Mhz!

②復(fù)位是高電平有效還是低電平有效,筆者第一次玩DDR,仿真的時候初始化一直不成功,就是復(fù)位信號搞反了 = =||

③是否使用XADC,會輸出器件的溫度,如果其他模塊要用XADC,那么這里就不使能。

(8)下一頁,50歐電阻,根據(jù)硬件而定,不用管,直接NEXT

(9)新設(shè)計 or 管腳已固定?

如果硬件已經(jīng)定了,那么就選下面管腳已固定,然后讀取約束文件,設(shè)置管腳就好。

Xilinx FPGA平臺DDR3設(shè)計保姆式教程(三)

Xilinx FPGA平臺DDR3設(shè)計保姆式教程(三)

①管腳讀取配置好了,點②確定再next進(jìn)入下一頁。

但是,我們這里只是為了講解DDR應(yīng)用,沒有硬件,選第一種新設(shè)計模式。

(10)后面依次NEXT就好了,最后生成。

(11)IP核生成完畢,打開veo文件查看例化文件。

Xilinx FPGA平臺DDR3設(shè)計保姆式教程(三)

(12)所有不會使用的IP,我們都打開Example Design來了解使用。

Xilinx FPGA平臺DDR3設(shè)計保姆式教程(三)

IP核配置完成,讀寫測試下篇再講,下面重點講解各端口信號。

二、端口信號定義

對于mig與DDR3的讀寫原理我們不需要了解太多,交給mig就可以了。我們需要做的是控制好用戶接口,寫出正確的用戶邏輯,控制好讀寫時序。想要寫好User logic,我們就必須清楚每一個用戶控制接口的含義:

Xilinx FPGA平臺DDR3設(shè)計保姆式教程(三)

2.1全部端口的注釋詳解

Xilinx FPGA平臺DDR3設(shè)計保姆式教程(三)

Xilinx FPGA平臺DDR3設(shè)計保姆式教程(三)

2.2端口信號分類

2.2.1使用DDR只需要設(shè)計這幾個信號

app_cmd (你總要先確認(rèn)你想要寫還是想要讀吧)

操作命令,其實你只需要用到3'b000(寫入)和3'b001(讀出)

要和操作地址同時出現(xiàn)才有效。

2. app_addr (往哪兒寫,從哪兒讀?)

操作地址,按照結(jié)構(gòu)從高位到低位是 rank + bank + row + column

3. app_en (確認(rèn)地址線上的地址有效,不能初始值都一直有效吧)

操作地址app_addr的使能,只有它拉高的時候,對應(yīng)的app_addr才是有效的

4. app_wdf_data (要寫的話,你得有料不是)

寫入的數(shù)據(jù)接口

5. app_wdf_wren (那也不能什么料都往里倒不是)

寫入的數(shù)據(jù)接口app_wdf_data的使能,

只有它拉高的時候,對應(yīng)的app_wdf_data才是有效的

6. app_wdf_end (要你作甚,一句app_wdf_end = app_wdf_wren 搞定)

理論上應(yīng)該有點用,但是實際你只要讓它跟app_wdf_wren一樣就行了

emm...大神這段解釋很傳神,我直接copy過來了

2.2.2 IP核的輸出信號

app_rdy (想要DDR幫你干活,也得讓人家準(zhǔn)備好了不是?)

app_rdy表示UI已經(jīng)準(zhǔn)備好接收命令了,意思就是說必須要等app_rdy信號拉高了之后,app_en和app_cmd等才能開工干活= =

而且,這個不受你控制。等著吧

2. app_wdf_rdy (想要往DDR寫數(shù)據(jù)?不好意思,等我準(zhǔn)備好了再說)

app_wdy_rdy信號表示寫數(shù)據(jù)FIFO已經(jīng)準(zhǔn)備好接收數(shù)據(jù)了,數(shù)據(jù)在app_wdf_rdy = 1’b1且 app_wdf_wren = 1’b1時被寫入。

同理,這個rdy不也受你控制。等著吧

3. init_calib_complete(DDR讀寫不對?先檢查初始化成功了沒好吧)

init_calib_complete拉高表明DDR已經(jīng)校準(zhǔn)成功初始化完成了!

拿去搬磚吧!

4. ui_clk(看好了,邏輯使用的時鐘擱這輸出呢)

在第二篇《DDR的時鐘分析》里我們也講過,ui_clk就是邏輯使用的時鐘;由配置界面“Clock Period”與“4:1 / 2:1模式”確定的;如:核心頻率為400M;選擇了4:1模式,那么ui_clk = 400 / 4 =100 M;

記住,你的邏輯代碼工作在ui_clk這個時鐘域!

2.2.3 DDR讀數(shù)據(jù)信號歸類

再來對DDR的信號規(guī)個類吧,哎,這寫的真是羅里吧嗦

app_rdy

app_en

app_cmd

app_addr

在app_rdy為高 且 app_en 為高時,讓app_cmd = 3’b001,同時我們給出讀數(shù)據(jù)的地址app_addr,那么等段時間延遲后,我們就能讀出想要的數(shù)據(jù)了:(結(jié)合后文時序圖更容易理解)

app_rd_data

app_rd_data_valid

這就是我們讀出的數(shù)據(jù)了。

2.2.4 DDR寫數(shù)據(jù)信號歸類

①前提條件

app_rdy

app_wdf_rdy

app_en

②地址和命令

app_cmd

app_addr

③寫數(shù)據(jù)

app_wdf_wren

app_wdf_data

app_wdf_end

app_wdf_mask :一般不用,直接置0

想要寫數(shù)據(jù)到DDR?必須在①前提條件全部為高時,給出②地址和命令(app_cmd = 3’b000),然后給出③寫數(shù)據(jù)的信號,就成功寫入數(shù)據(jù)到DDR了;

注意:①②時序嚴(yán)格對齊!③相對①②可以提前1拍,或最多延遲2拍,但是最好跟①②對齊,不容易出錯。(結(jié)合后文時序圖更容易理解)

三、時序圖

玩接口嘛,大部分根據(jù)時序圖來就是了,挺簡單的

3.1 UI控制時序圖

Xilinx FPGA平臺DDR3設(shè)計保姆式教程(三)

如圖所示:

必須要app_rdy拉高時,你所給的(使能app_en、命令app_cmd、地址app_addr)才會被接受。

★app_rdy :前提條件,不管是讀還是寫,都必須在app_rdy為高的時候進(jìn)行操作。

3.2寫操作時序圖

Xilinx FPGA平臺DDR3設(shè)計保姆式教程(三)

正如前文信號歸類所說:

寫入DDR必須在前提條件(app_rdy & app_wdf_rdy)全部為高時,給出地址和命令(app_cmd = 3’b000),然后給出寫數(shù)據(jù)的信號(使能與數(shù)據(jù)),就成功寫入數(shù)據(jù)到DDR了;

注意:地址和命令必須時序嚴(yán)格對齊!寫數(shù)據(jù)信號相對來說有三種情況:①嚴(yán)格對齊;②可以提前1拍;③最多延遲2拍;但是最好全部時序?qū)R,不容易出錯。

3.3讀操作時序圖

Xilinx FPGA平臺DDR3設(shè)計保姆式教程(三)

讀操作就簡單了,在前提條件app_rdy為高時,給出命令(app_cmd = 3’b001)與地址(app_addr),等段時間延遲,數(shù)據(jù)就讀出來了,以valid信號表示數(shù)據(jù)有效。

下一篇我們就開始用DDR來搬磚了,測試下讀寫,初步掌握使用~

四、參考資料

《UG586》 官方文檔不多說,YYDS!

《Xilinx平臺DDR3設(shè)計教程之仿真篇》 一系列文章,筆者就是看過后才初步熟悉了DDR3的使用,推薦給大家。

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • DDR3
    +關(guān)注

    關(guān)注

    2

    文章

    288

    瀏覽量

    44183
  • IP核
    +關(guān)注

    關(guān)注

    4

    文章

    344

    瀏覽量

    51979
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    MAX17000:DDR2和DDR3內(nèi)存電源管理解決方案的卓越之選

    MAX17000:DDR2和DDR3內(nèi)存電源管理解決方案的卓越之選 一、引言 在當(dāng)今的電子設(shè)備中,內(nèi)存電源管理至關(guān)重要。對于筆記本電腦等設(shè)備中的DDRDDR2和
    的頭像 發(fā)表于 03-12 15:35 ?108次閱讀

    MAX17000A:DDR2和DDR3內(nèi)存電源管理的理想之選

    MAX17000A:DDR2和DDR3內(nèi)存電源管理的理想之選 產(chǎn)品概述 在筆記本電腦DDR、DDR2和DDR3內(nèi)存的電源管理領(lǐng)域,Maxim
    的頭像 發(fā)表于 03-12 15:30 ?118次閱讀

    TI SN74SSQEA32882:DDR3/DDR3L注冊DIMM的理想時鐘驅(qū)動器

    TI SN74SSQEA32882:DDR3/DDR3L注冊DIMM的理想時鐘驅(qū)動器 在DDR3DDR3L注冊
    的頭像 發(fā)表于 02-09 14:20 ?281次閱讀

    探索SN74SSQEB32882:DDR3內(nèi)存的高效時鐘驅(qū)動解決方案

    輸出和1對4時鐘對輸出,能夠很好地支持堆疊DDR3 RDIMMs。同時,它還擁有CKE掉電模式,這一特性可以有效優(yōu)化系統(tǒng)的功耗,對于追
    的頭像 發(fā)表于 02-09 11:35 ?248次閱讀

    Texas Instruments TS3DDR3812:DDR3應(yīng)用的理想12通道開關(guān)解決方案

    Texas Instruments TS3DDR3812:DDR3應(yīng)用的理想12通道開關(guān)解決方案 在DDR3應(yīng)用的領(lǐng)域中,一款性能出色的開關(guān)能夠顯著提升系統(tǒng)的效率和穩(wěn)定性。Texas
    的頭像 發(fā)表于 01-14 11:30 ?388次閱讀

    HummingBird EV Kit - DDR3 引腳不匹配是怎么回事?

    下面是HummingBird EV Kit給的版圖,其中DDR3_D0對應(yīng)的應(yīng)該是板子上的FPGA的C2引腳:? 不過我在配置MIG的時候,通過讀入ucf文件的方式配置DDR3 SDRAM的引腳
    發(fā)表于 11-06 07:57

    DDR3 SDRAM參考設(shè)計手冊

    電子發(fā)燒友網(wǎng)站提供《DDR3 SDRAM參考設(shè)計手冊.pdf》資料免費下載
    發(fā)表于 11-05 17:04 ?9次下載

    基于FPGADDR控制器設(shè)計

    Dynamic Random Access Memory)是DDR SDRAM的第代產(chǎn)品,相較于DDR2,DDR3具有更高的運行性能與更低的電壓。
    發(fā)表于 10-21 14:30

    FPGA搭建DDR控制模塊

    Access Memory)是DDR SDRAM的第代產(chǎn)品,相較于DDR2,DDR3具有更高的運行性能與更低的電壓。DDR SDRAM是
    發(fā)表于 10-21 10:40

    FPGA實現(xiàn)DDR控制模塊介紹

    Random Access Memory)是DDR SDRAM的第代產(chǎn)品,相較于DDR2,DDR3具有更高的運行性能與更低的電壓。DDR
    發(fā)表于 10-21 08:43

    AD設(shè)計DDR3時等長設(shè)計技巧

    本文緊接著前一個文檔《AD設(shè)計DDR3時等長設(shè)計技巧-數(shù)據(jù)線等長 》。本文著重講解DDR地址線、控制信號線等長設(shè)計,因為地址線、控制信號線有分支,SOC有可能帶有2片DDR或者更多,我們叫做T型分支
    發(fā)表于 07-29 16:14 ?3次下載

    AD設(shè)計DDR3時等長設(shè)計技巧

    的講解數(shù)據(jù)線等長設(shè)計。? ? ? 在另一個文件《AD設(shè)計DDR3時等長設(shè)計技巧-地址線T型等長》中著重講解使用AD設(shè)計DDR地址線走線T型走線等長處理的方法和技巧。
    發(fā)表于 07-28 16:33 ?5次下載

    在Vivado調(diào)用MIG產(chǎn)生DDR3的問題解析

    下面是調(diào)用的DDR3模塊的,模塊的倒數(shù)第二行是,模塊的時鐘輸入,時鐘源來自PLL產(chǎn)生的系統(tǒng)時鐘的倍頻。
    的頭像 發(fā)表于 05-03 10:21 ?1585次閱讀
    在Vivado調(diào)用MIG產(chǎn)生<b class='flag-5'>DDR3</b>的問題解析

    DDR3 SDRAM配置教程

    DDR3 SDRAM(Double-Data-Rate ThreeSynchronous Dynamic Random Access Memory)是DDR SDRAM的第代產(chǎn)品,相較于DD
    的頭像 發(fā)表于 04-10 09:42 ?4218次閱讀
    <b class='flag-5'>DDR3</b> SDRAM配置教程

    燦芯半導(dǎo)體推出DDR3/4和LPDDR3/4 Combo IP

    燦芯半導(dǎo)體(上海)股份有限公司(燦芯股份,688691)宣布推出基于28HKD 0.9V/2.5V 平臺DDR3/4, LPDDR3/4 Combo IP。該IP具備廣泛的協(xié)議兼容性,支持D
    的頭像 發(fā)表于 03-21 16:20 ?1221次閱讀