日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

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

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

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

對DDR3/4控制器進(jìn)行探討

FPGA之家 ? 來源:CSDN技術(shù)社區(qū) ? 作者:meper ? 2021-09-22 10:28 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

參考資料

《pg150-ultrascale-memory-ip》

以該手冊的脈絡(luò)為主線,對DDR3/4控制器進(jìn)行探討。

1.IP核結(jié)構(gòu)

69c40eea-15f8-11ec-8fb8-12bb97331649.png

根據(jù)官方提供的資料,IP核主要劃分為三個部分,分別是用戶接口,內(nèi)存控制器以及物理層接口。對于用戶來說,我們需要研究清楚的是用戶接口部分內(nèi)容,其余兩部分只需了解即可,這里就不展開論述。

讀寫效率

69d65938-15f8-11ec-8fb8-12bb97331649.png

X8是表示,該內(nèi)存顆粒的數(shù)據(jù)總線為8bit。常見的還有x4/x16。

2.讀寫時序userinterface操作

整個DDR的IP核應(yīng)用,主要都是圍繞這以下幾個路徑進(jìn)行,開發(fā)者直接打交道的是IP_core的userinterface。其他物理底層的內(nèi)容,由IP自行完成。主要指令路徑包括:Command Path、write_Path、read_Path以及維護(hù)指令(Maintenance Commands)。

Command Path

顧名思義,就是讀寫操作指令寫入的路徑。當(dāng)app_rdy與app_en都有效的時候,新的指令才能寫入命令FIFO里,并被執(zhí)行。

69e3d0ea-15f8-11ec-8fb8-12bb97331649.png

Write Path

數(shù)據(jù)內(nèi)容寫入IP核的路徑。

69ef09ba-15f8-11ec-8fb8-12bb97331649.png

從上述的時序圖看來,與寫入路徑相關(guān)的信號有app_adf_data、app_wdf_wren以及app_wdf_end。雖然說,寫入的數(shù)據(jù)路徑與指令路徑可以不對齊,但實際應(yīng)用過程中,建議還是對齊操作,要不然容易出問題(后續(xù)調(diào)試測試的內(nèi)容有提到)。

6a141cd2-15f8-11ec-8fb8-12bb97331649.png

pp_wdf_end為高,表示該數(shù)據(jù)這次寫入請求的最后一個數(shù)。以上圖為例,4:1mode是指用戶接口時鐘與物理層驅(qū)動DDR的時鐘之比為1:4。比如用戶接口的數(shù)據(jù)總線為64bit,物理層驅(qū)動DDR芯片位寬為8bit ,BL=8, 在4:1mode下,那么正好一個用戶clk可以執(zhí)行完一次突發(fā)傳輸(DDR是在時鐘上升沿和下降沿都傳輸數(shù)據(jù))。所以在執(zhí)行傳輸?shù)倪^程中,app_wdf_end為高。

Read Path

數(shù)據(jù)從IP核中讀出來的路徑。

6a36983e-15f8-11ec-8fb8-12bb97331649.png

Maintenance Commands(維護(hù)指令)

6a4e6b1c-15f8-11ec-8fb8-12bb97331649.png

6a69369a-15f8-11ec-8fb8-12bb97331649.png

這里可以解析為什么讀寫效率不能夠達(dá)到百分百,由于ddr需要刷新等導(dǎo)致。其中啟動刷新有兩種模式,一種是自動刷新,即IP核自己產(chǎn)生滿足時序的刷新請求,另外一種是通過選中“啟用用戶刷新和ZQCS輸入”選項來啟用用戶模式。在此模式下,當(dāng)init_calib_complete有效之后,由用戶負(fù)責(zé)發(fā)出Refresh和ZQCS命令以滿足DRAM組件規(guī)范所要求的速率。ZQCS是用于ZQ 校準(zhǔn),這個與ODT相關(guān)。

擴(kuò)展一下:

ODT(On-Die Termination),是從DDR2 SDRAM時代開始新增的功能。其允許用戶通過讀寫MR1寄存器,來控制DDR3 SDRAM中內(nèi)部的終端電阻的連接或者斷開。

為什么要用ODT?一個DDR通道,通常會掛接多個Rank,這些Rank的數(shù)據(jù)線、地址線等等都是共用;數(shù)據(jù)信號也就依次傳遞到每個Rank,到達(dá)線路末端的時候,波形會有反射,從而影響到原始信號;因此需要加上終端電阻,吸收余波。之前的DDR,終端電阻做在板子上,但是因為種種原因,效果不是太好,到了DDR2,把終端電阻做到了DDR顆粒內(nèi)部,也就稱為On Die Termination,Die上的終端電阻,Die是硅片的意思,這里也就是DDR顆粒。

所以,使用ODT的目的很簡單,是為了讓DQS、RDQS、DQ和DM信號在終結(jié)電阻處消耗完,防止這些信號在電路上形成反射,進(jìn)而增強(qiáng)信號完整性。

3.對IP核進(jìn)行二次封裝

建議對IP核的User_interface再封裝一層,對外只需預(yù)留例如wr_en/wr_data以及rd_en/rd_data等信號,類似于讀寫FIFO的端口,提高模塊的后期復(fù)用。

6a7c62ce-15f8-11ec-8fb8-12bb97331649.png

4.調(diào)試與測試記錄

手冊梳理得差不多了,寫個簡單的程序仿真測試。期間碰到了些問題,分享出來記錄一下。

cmd_path與write_path沒對齊。

6a9364e2-15f8-11ec-8fb8-12bb97331649.png

圖中所示,app_rdy為低,但是wdf_wren仍然為高,短期的話應(yīng)該沒有什么問題,但是如果持續(xù)一段時間,必然會導(dǎo)致IP核中fifo被寫滿,導(dǎo)致異常。

解決辦法:

令指令與數(shù)據(jù)路徑命令對齊。在寫入的時候,當(dāng)app_rdy與app_wdf_rdy都有效的時候,才觸發(fā)相應(yīng)的動作。

數(shù)據(jù)沒有寫入,導(dǎo)致回讀出來的數(shù)據(jù)不對。

6a9fee92-15f8-11ec-8fb8-12bb97331649.png

從時序上來看,寫入沒有問題。但是我當(dāng)初忽略了app_wdf_mask,這個沒有賦值(正常應(yīng)該賦0),導(dǎo)致仿真的時候,該信號一致顯示高阻態(tài)。然后發(fā)現(xiàn)ddr4_dm_dbi_n(雙向信號)信號異常。

6aabe008-15f8-11ec-8fb8-12bb97331649.png

讀出來的數(shù)據(jù)一直是0.

6ab813c8-15f8-11ec-8fb8-12bb97331649.png

修改過來后,問題解決。

6acce384-15f8-11ec-8fb8-12bb97331649.png

讀寫效率測試

6ae0ebfe-15f8-11ec-8fb8-12bb97331649.png

Wr:

6aef68c8-15f8-11ec-8fb8-12bb97331649.png

Rd:

6aff46bc-15f8-11ec-8fb8-12bb97331649.png

MEM_ADDR_ORDER = "ROW_COLUMN_BANK";

Wr:

6b254cea-15f8-11ec-8fb8-12bb97331649.png

Rd:

6b3337f6-15f8-11ec-8fb8-12bb97331649.png

仔細(xì)的話,可以觀察clk與app_rdy之間的關(guān)系,不難發(fā)現(xiàn)為什么兩者的讀寫效率會相差這么大。不同的地址排列,在每次讀寫過程中,IP的效率有很大的關(guān)系,這個與DDR的實現(xiàn)機(jī)制有關(guān)。詳細(xì)情況在PG150里有相關(guān)說明。

編輯:jq

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

    關(guān)注

    114

    文章

    17888

    瀏覽量

    195335
  • DDR3
    +關(guān)注

    關(guān)注

    2

    文章

    290

    瀏覽量

    44286

原文標(biāo)題:DDR3/4_IP核應(yīng)用--vivado

文章出處:【微信號:zhuyandz,微信公眾號:FPGA之家】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

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

掃碼添加小助手

加入工程師交流群

    評論

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

    IDT 4MX0121V:DDR3/DDR4 NVDIMM的理想開關(guān)/多路復(fù)用器

    IDT 4MX0121V:DDR3/DDR4 NVDIMM的理想開關(guān)/多路復(fù)用器 在電子工程領(lǐng)域,DDR3DDR4 NVDIMM(非易失性
    的頭像 發(fā)表于 04-12 09:15 ?447次閱讀

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

    的電源解決方案。Maxim Integrated的MAX17000脈沖寬度調(diào)制(PWM)控制器就是這樣一款出色的產(chǎn)品,它為DDR、DDR2和DDR3內(nèi)存提供了完整的電源解決方案。 文件
    的頭像 發(fā)表于 03-12 15:35 ?262次閱讀

    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 ?250次閱讀

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

    SN74SSQEA32882是一款符合JEDEC SSTE32882標(biāo)準(zhǔn)的28位1:2或26位1:2和4位1:1帶奇偶校驗的時鐘驅(qū)動。它專為工作在1.5V的DDR3注冊式DIMM和1.35V的
    的頭像 發(fā)表于 02-09 14:20 ?514次閱讀

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

    的SN74SSQEB32882芯片,看看它是如何滿足DDR3內(nèi)存應(yīng)用需求的。 文件下載: sn74ssqeb32882.pdf 芯片特性亮點 輸出支持與功耗優(yōu)化 SN74SSQEB32882具備1對2寄存
    的頭像 發(fā)表于 02-09 11:35 ?414次閱讀

    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 ?498次閱讀

    使用AXI4接口IP核進(jìn)行DDR讀寫測試

    本章的實驗任務(wù)是在 PL 端自定義一個 AXI4 接口的 IP 核,通過 AXI_HP 接口對 PS 端 DDR3 進(jìn)行讀寫測試,讀寫的內(nèi)存大小是 4K 字節(jié)。
    的頭像 發(fā)表于 11-24 09:19 ?3949次閱讀
    使用AXI<b class='flag-5'>4</b>接口IP核<b class='flag-5'>進(jìn)行</b><b class='flag-5'>DDR</b>讀寫測試

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

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

    基于FPGA的DDR控制器設(shè)計

    DDR控制協(xié)議 DDR3讀寫控制器主要用于生成片外存儲DDR3 SDRAM
    發(fā)表于 10-21 14:30

    基于DDR200T開發(fā)板的e203進(jìn)行DDR3擴(kuò)展

    IP DDR3控制器 RISC-V 基于DDR200T開發(fā)板原理圖,找到所需要使用的DDR引腳,制成DDR.ucf文件方便在添加管腳約束時
    發(fā)表于 10-21 12:43

    FPGA搭建DDR控制模塊

    DDR3讀寫控制器主要用于生成片外存儲DDR3 SDRAM進(jìn)行讀寫操作所需要的時序,繼而實現(xiàn)對片外存儲
    發(fā)表于 10-21 10:40

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

    DDR3讀寫控制器主要用于生成片外存儲DDR3 SDRAM進(jìn)行讀寫操作所需要的時序,繼而實現(xiàn)對片外存儲
    發(fā)表于 10-21 08:43

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

    本文緊接著前一個文檔《AD設(shè)計DDR3時等長設(shè)計技巧-數(shù)據(jù)線等長 》。本文著重講解DDR地址線、控制信號線等長設(shè)計,因為地址線、控制信號線有分支,SOC有可能帶有2片
    發(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次下載

    【RK3568+PG2L50H開發(fā)板實驗例程】FPGA部分 | DDR3 讀寫實驗例程

    的總線寬度共為 16bit。DDR3 SDRAM 的最高數(shù)據(jù)速率 1066Mbps。 2.1. DDR3 控制器簡介 PG2L50H 為用戶提供一套完整的 DDR memory
    發(fā)表于 07-10 10:46
    新民市| 迁西县| 凌海市| 巴塘县| 探索| 定州市| 通渭县| 安泽县| 高邮市| 上虞市| 苏州市| 昌吉市| 白水县| 靖宇县| 呼玛县| 平定县| 綦江县| 三都| 罗山县| 高邮市| 彝良县| 疏附县| 古浪县| 昌邑市| 资兴市| 乳源| 寿宁县| 榆中县| 靖边县| 珠海市| 澄迈县| 睢宁县| 永定县| 武清区| 定陶县| 姜堰市| 邳州市| 周口市| 铜陵市| 新昌县| 凌云县|