chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

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

Xilinx FPGA平臺(tái)DDR3設(shè)計(jì)保姆式教程(一)

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

掃碼添加小助手

加入工程師交流群

一、DDR3簡(jiǎn)介

DDR3全稱double-data-rate 3 synchronous dynamic RAM,即第三代雙倍速率同步動(dòng)態(tài)隨機(jī)存儲(chǔ)器。所謂同步,是指DDR3數(shù)據(jù)的讀取寫入是按時(shí)鐘同步的;所謂動(dòng)態(tài),是指DDR3中的數(shù)據(jù)掉電無法保存,且需要周期性的刷新,才能保持?jǐn)?shù)據(jù);所謂隨機(jī)存取,即可以隨機(jī)操作任一地址的數(shù)據(jù);所謂double-data-rate,即時(shí)鐘的上升沿和下降沿都發(fā)生數(shù)據(jù)傳輸。

Xilinx FPGA平臺(tái)DDR3設(shè)計(jì)保姆式教程(一)

圖1. DDR3結(jié)構(gòu)

二、地址的概念及容量計(jì)算

2.1地址的概念

DDR3的內(nèi)部是一個(gè)存儲(chǔ)陣列,將數(shù)據(jù)“填”進(jìn)去,你可以它想象成一張表格。和表格的檢索原理一樣,先指定一個(gè)行(Row),再指定一個(gè)列(Column),我們就可以準(zhǔn)確地找到所需要的單元格,這就是內(nèi)存芯片尋址的基本原理。對(duì)于內(nèi)存,這個(gè)單元格可稱為存儲(chǔ)單元,那么這個(gè)表格(存儲(chǔ)陣列)就是邏輯 Bank(Logical Bank,下面簡(jiǎn)稱Bank)。

DDR3內(nèi)部Bank示意圖,這是一個(gè)MXN的陣列,B代表Bank地址編號(hào),C代表列地址編號(hào),R代表行地址編號(hào)。如果尋址命令是B1、R3、C4,就能確定地址是圖中紅格的位置目前DDR3內(nèi)存芯片基本上都是8個(gè)Bank設(shè)計(jì),也就是說一共有8個(gè)這樣的“表格”。尋址的流程也就是先指定Bank地址,再指定行地址,然后指列地址最終的確尋址單元。

Xilinx FPGA平臺(tái)DDR3設(shè)計(jì)保姆式教程(一)

圖2. DDR3地址

目前DDR3系統(tǒng)而言,還存在物理Bank的概念,這是對(duì)內(nèi)存子系統(tǒng)的一個(gè)相關(guān)術(shù)語,并不針對(duì)內(nèi)存芯片。內(nèi)存為了保證CPU正常工作,必須一次傳輸完CPU 在一個(gè)傳輸周期內(nèi)所需要的數(shù)據(jù)。而CPU在一個(gè)傳輸周期能接受的數(shù)據(jù)容量就是CPU數(shù)據(jù)總線的位寬,單位是bit(位)??刂苾?nèi)存與CPU之間數(shù)據(jù)交換的北橋芯片也因此將內(nèi)存總線的數(shù)據(jù)位寬等同于CPU數(shù)據(jù)總線的位寬,這個(gè)位寬就稱為物理Bank(Physical Bank,有的資料稱之為Rank)的位寬。目前這個(gè)位寬基本為64bit。

2.2 DDR3容量計(jì)算

上一節(jié)我們已經(jīng)說過bank、row、column的概念,容量就要據(jù)此來計(jì)算:

假設(shè):

bank地址線位寬為3,及bank數(shù)目為 2^3=8;

行地址線位寬位13,及A0…A12;

列地址線位寬為10,及A0…A9;

有 2^3 * 2^13 * 2^10 = 2^26 =67108864b= 64Mb

再加上數(shù)據(jù)線,則容量為 64Mb x 16 = 128M Byte = =1G bit

三、重要給概念理解

3.1 行選通周期

在實(shí)際工作中,Bank地址與相應(yīng)的行地址是同時(shí)發(fā)出的,此時(shí)這個(gè)命令稱之為“行激活”(Row Active)。在此之后,將發(fā)送列地址尋址命令與具體的操作命令(是讀還是寫),這兩個(gè)命令也是同時(shí)發(fā)出的,所以一般都會(huì)以“讀/寫命令”來表示列尋址。根據(jù)相關(guān)的標(biāo)準(zhǔn),從行有效到讀/寫命令發(fā)出之間的間隔被定義為tRCD,即RAS to CAS Delay(RAS至CAS延遲,RAS就是行地址選通脈沖,CAS就是列地址選通脈沖),我們可以理解為行選通周期。tRCD是DDR的一個(gè)重要時(shí)序參數(shù),廣義的tRCD以時(shí)鐘周期(tCK,Clock Time)數(shù)為單位,比如tRCD=3,就代表延遲周期為兩個(gè)時(shí)鐘周期,具體到確切的時(shí)間,則要根據(jù)時(shí)鐘頻率而定,時(shí)鐘頻率100M,tRCD=3,代表30ns的延遲。

Xilinx FPGA平臺(tái)DDR3設(shè)計(jì)保姆式教程(一)

圖3. 行選通周期tRCD

3.2 列地址脈沖選通潛伏期

相關(guān)的列地址被選中之后,將會(huì)觸發(fā)數(shù)據(jù)傳輸,但從存儲(chǔ)單元中輸出到真正出現(xiàn)在內(nèi)存芯片的 I/O 接口之間還需要一定的時(shí)間(數(shù)據(jù)觸發(fā)本身就有延遲,而且還需要進(jìn)行信號(hào)放大),這段時(shí)間就是非常著名的 CL(CAS Latency,列地址脈沖選通潛伏期)。CL 的數(shù)值與 tRCD 一樣,以時(shí)鐘周期數(shù)表示。如 DDR3-800,時(shí)鐘頻率為 100MHz,時(shí)鐘周期為 10ns,如果 CL=2 就意味著 20ns 的潛伏期。

注:CL只是針對(duì)讀取操作。

Xilinx FPGA平臺(tái)DDR3設(shè)計(jì)保姆式教程(一)

圖4. CL的概念(CL=2,tAC=1)

注意:delay與Latency雖然都有“延遲”的意思,但本質(zhì)上是不同的

Delay :事情要在這個(gè)時(shí)間之后開始

Latency:事情已經(jīng)發(fā)生,但是還不夠穩(wěn)定需要一個(gè)穩(wěn)定時(shí)間

3.3 突發(fā)傳輸?shù)母拍?/p>

目前內(nèi)存的讀寫基本都是連續(xù)的,因?yàn)榕cCPU交換的數(shù)據(jù)量以一個(gè)Cache Line(即CPU內(nèi)Cache的存儲(chǔ)單位)的容量為準(zhǔn),一般為64字節(jié)。而現(xiàn)有的Rank位寬為8字節(jié)(64bit),那么就要一次連續(xù)傳輸8次,這就涉及到我們也經(jīng)常能遇到的突發(fā)傳輸?shù)母拍?。突發(fā)(Burst)是指在同一行中相鄰的存儲(chǔ)單元連續(xù)進(jìn)行數(shù)據(jù)傳輸?shù)姆绞剑B續(xù)傳輸?shù)闹芷跀?shù)就是突發(fā)長(zhǎng)度(Burst Lengths,簡(jiǎn)稱BL)。

在進(jìn)行突發(fā)傳輸時(shí),只要指定起始列地址與突發(fā)長(zhǎng)度,內(nèi)存就會(huì)依次地自動(dòng)對(duì)后面相應(yīng)數(shù)量的存儲(chǔ)單元進(jìn)行讀/寫操作而不再需要控制器連續(xù)地提供列地址。這樣,除了第一筆數(shù)據(jù)的傳輸需要若干個(gè)周期(主要是之前的延遲,一般的是tRCD+CL)外,其后每個(gè)數(shù)據(jù)只需一個(gè)周期的即可獲得。

連續(xù)讀取模式:只要指定起始列地址與突發(fā)長(zhǎng)度,后續(xù)的尋址與數(shù)據(jù)的讀取自動(dòng)進(jìn)行,而只要控制好兩段突發(fā)讀取命令的間隔周期(與BL相同)即可做到連續(xù)的突發(fā)傳輸。

在 DDR SDRAM 中,突發(fā)長(zhǎng)度只有 2、4、8 三種選擇,沒有了隨機(jī)存取的操作(突發(fā)長(zhǎng)度為 1)和全頁式突發(fā)。這是為什么呢?因?yàn)?L-Bank一次就存取兩倍于芯片 位寬的數(shù)據(jù),所以芯片至少也要進(jìn)行兩次傳輸才可以,否則內(nèi)部多出來的數(shù)據(jù)怎么處理?但是,突發(fā)長(zhǎng)度的定義也與 SDRAM 的不一樣了,它不再指所連續(xù)尋址的存儲(chǔ)單元數(shù)量,而是指連續(xù)的傳輸周期數(shù),每次是一個(gè)芯片位寬的數(shù)據(jù)。

上面是別人的解釋,筆者結(jié)合自己的理解和代碼實(shí)現(xiàn)中再解釋一下:

突發(fā)傳輸是為了提高傳輸效率,這涉及到預(yù)取的概念;DDR3突發(fā)長(zhǎng)度BL=8,在t1時(shí)刻我們發(fā)起讀命令,給出地址addr1,那么因?yàn)槭峭话l(fā)傳輸,所以實(shí)際我們將讀出addr1以及它之后地址,總共8個(gè)地址,也就讀出了8個(gè)數(shù)據(jù);那么t2時(shí)刻,我們繼續(xù)讀數(shù),給出的地址addr=addr1+8;結(jié)合下圖更容易理解:

Xilinx FPGA平臺(tái)DDR3設(shè)計(jì)保姆式教程(一)

圖5. 突發(fā)傳輸

注:

t1 ,t2 / t3,t4時(shí)刻不一定連續(xù);要看ddr是否準(zhǔn)備好,具體到代碼就是app_rdy 并不是一直為高;

3.4 掩碼

掩碼簡(jiǎn)單解釋下,就是屏蔽掉我們傳輸不需要的數(shù)據(jù);掩碼每一位bit對(duì)應(yīng)ddr數(shù)據(jù)的1個(gè)字節(jié);當(dāng)掩碼為0,數(shù)據(jù)有效;當(dāng)掩碼為1,數(shù)據(jù)屏蔽;

一般不使用,傳輸數(shù)據(jù)全部有效,掩碼直接置0:(掩碼位寬根據(jù)數(shù)據(jù)位寬而定)

assign app_wdf_mask = 64'b0;

3.5 數(shù)據(jù)選取脈沖(DQS)

DQS 是DDR中的重要功能,它的功能主要用來在一個(gè)時(shí)鐘周期內(nèi)準(zhǔn)確的區(qū)分出每個(gè)傳輸周期,并便于接收方準(zhǔn)確接收數(shù)據(jù)。每一顆芯片都有一個(gè)DQS信號(hào)線,它是雙向的,在寫入時(shí)它用來傳送由北橋發(fā)來的DQS信號(hào),讀取時(shí),則由芯片生成DQS向北橋發(fā)送。完全可以說,它就是數(shù)據(jù)的同步信號(hào)。

在讀取時(shí),DQS與數(shù)據(jù)信號(hào)同時(shí)生成(也是在CK與CK#的交叉點(diǎn))。而DDR內(nèi)存中的CL也就是從CAS發(fā)出到DQS生成的間隔,DQS生成時(shí),芯片內(nèi)部的預(yù)取已經(jīng)完畢了,由于預(yù)取的原因,實(shí)際的數(shù)據(jù)傳出可能會(huì)提前于DQS發(fā)生(數(shù)據(jù)提前于DQS傳出)。由于是并行傳輸,DDR內(nèi)存對(duì)tAC也有一定的要求,對(duì)于DDR266,tAC的允許范圍是±0.75ns,對(duì)于DDR333,則是±0.7ns,有關(guān)它們的時(shí)序圖示見前文,其中CL里包含了一段DQS 的導(dǎo)入期。

DQS 在讀取時(shí)與數(shù)據(jù)同步傳輸,那么接收時(shí)也是以DQS的上下沿為準(zhǔn)嗎?不,如果以DQS的上下沿區(qū)分?jǐn)?shù)據(jù)周期的危險(xiǎn)很大。由于芯片有預(yù)取的操作,所以輸出時(shí)的同步很難控制,只能限制在一定的時(shí)間范圍內(nèi),數(shù)據(jù)在各I/O端口的出現(xiàn)時(shí)間可能有快有慢,會(huì)與DQS有一定的間隔,這也就是為什么要有一個(gè)tAC規(guī)定的原因。而在接收方,一切必須保證同步接收,不能有tAC之類的偏差。這樣在寫入時(shí),芯片不再自己生成DQS,而以發(fā)送方傳來的DQS為基準(zhǔn),并相應(yīng)延后一定的時(shí)間,在DQS的中部為數(shù)據(jù)周期的選取分割點(diǎn)(在讀取時(shí)分割點(diǎn)就是上下沿),從這里分隔開兩個(gè)傳輸周期。這樣做的好處是,由于各數(shù)據(jù)信號(hào)都會(huì)有一個(gè)邏輯電平保持周期,即使發(fā)送時(shí)不同步,在DQS上下沿時(shí)都處于保持周期中,此時(shí)數(shù)據(jù)接收觸發(fā)的準(zhǔn)確性無疑是最高的。

在寫入時(shí),以DQS的高/低電平期中部為數(shù)據(jù)周期分割點(diǎn),而不是上/下沿,但數(shù)據(jù)的接收觸發(fā)仍為DQS的上/下沿。

Xilinx FPGA平臺(tái)DDR3設(shè)計(jì)保姆式教程(一)

四、參考資料

如果我們只是拿來用ddr搬磚,那么它就簡(jiǎn)單,知道IP怎么使用就好,但是要想知其所以然,理論知識(shí)是必備的,這也是我們初學(xué)者所欠缺的東西,慢慢修煉吧!

參考資料①,里面所有信號(hào)都有解釋,感興趣的和想提升的可以仔細(xì)研究:

DDR基礎(chǔ)詳解

參考資料②,超詳細(xì)DDR3底層原理介紹,大佬首選

深入淺出DDR系列(一)--DDR原理篇

審核編輯:湯梓紅

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

    關(guān)注

    1656

    文章

    22298

    瀏覽量

    630477
  • 存儲(chǔ)器
    +關(guān)注

    關(guān)注

    39

    文章

    7715

    瀏覽量

    170885
  • Xilinx
    +關(guān)注

    關(guān)注

    73

    文章

    2192

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

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

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

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

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

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

    SDRAM相比,DDR SDRAM的最大特點(diǎn)是雙邊沿觸發(fā),即在時(shí)鐘的上升沿和下降沿都能進(jìn)行數(shù)據(jù)采集的發(fā)送,同樣的工作時(shí)鐘,DDR SDRAM的讀寫速度可以比傳統(tǒng)的SDRAM快倍。 DDR3
    發(fā)表于 10-21 14:30

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

    由于e203內(nèi)部DTCM空間較小,所以本隊(duì)針對(duì)DDR200T開發(fā)板進(jìn)行針對(duì)e203的DDR3存儲(chǔ)器擴(kuò)展。 論壇中所給出的e203擴(kuò)展DDR的方法大致分為兩種,種是直接將
    發(fā)表于 10-21 12:43

    DDR200T中的DDR3的使用配置

    蜂鳥DDR200T中DDR3的ip配置案列,提供DDR3引腳配置。具體參數(shù)可更具項(xiàng)目實(shí)際更改。 這里選用的axi接口 在賽靈思的IP配置中沒有MT41K28M6JT-125K內(nèi)存的信息,因此選用
    發(fā)表于 10-21 11:19

    FPGA搭建DDR控制模塊

    ,DDR SDRAM的最大特點(diǎn)是雙邊沿觸發(fā),即在時(shí)鐘的上升沿和下降沿都能進(jìn)行數(shù)據(jù)采集的發(fā)送,同樣的工作時(shí)鐘,DDR SDRAM的讀寫速度可以比傳統(tǒng)的SDRAM快倍。 DDR3讀寫控制
    發(fā)表于 10-21 10:40

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

    ,DDR SDRAM的最大特點(diǎn)是雙邊沿觸發(fā),即在時(shí)鐘的上升沿和下降沿都能進(jìn)行數(shù)據(jù)采集的發(fā)送,同樣的工作時(shí)鐘,DDR SDRAM的讀寫速度可以比傳統(tǒng)的SDRAM快倍。 DDR3讀寫控
    發(fā)表于 10-21 08:43

    AD設(shè)計(jì)DDR3時(shí)等長(zhǎng)設(shè)計(jì)技巧

    本文緊接著前個(gè)文檔《AD設(shè)計(jì)DDR3時(shí)等長(zhǎng)設(shè)計(jì)技巧-數(shù)據(jù)線等長(zhǎng) 》。本文著重講解DDR地址線、控制信號(hào)線等長(zhǎng)設(shè)計(jì),因?yàn)榈刂肪€、控制信號(hào)線有分支,SOC有可能帶有2片DDR或者更多,我
    發(fā)表于 07-29 16:14 ?2次下載

    AD設(shè)計(jì)DDR3時(shí)等長(zhǎng)設(shè)計(jì)技巧

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

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

    的總線寬度共為 16bit。DDR3 SDRAM 的最高數(shù)據(jù)速率 1066Mbps。 2.1. DDR3 控制器簡(jiǎn)介 PG2L50H 為用戶提供套完整的 DDR memory 控制
    發(fā)表于 07-10 10:46

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

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

    TPS51116 完整的DDR、DDR2、DDR3、DDR3L、LPDDR3DDR4 電源解決方案同步降壓控制器數(shù)據(jù)手冊(cè)

    TPS51116為 DDR/SSTL-2、DDR2/SSTL-18、DDR3/SSTL-15、DDR3L、LPDDR3
    的頭像 發(fā)表于 04-29 16:38 ?940次閱讀
    TPS51116 完整的<b class='flag-5'>DDR</b>、<b class='flag-5'>DDR</b>2、<b class='flag-5'>DDR3</b>、<b class='flag-5'>DDR3</b>L、LPDDR<b class='flag-5'>3</b> 和 <b class='flag-5'>DDR</b>4 電源解決方案同步降壓控制器數(shù)據(jù)手冊(cè)

    DDR3 SDRAM配置教程

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

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

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

    三大內(nèi)存原廠或?qū)⒂?025年停產(chǎn)DDR3/DDR4

    ,DDR5內(nèi)存已成為市場(chǎng)主流,并逐步取代DDR4內(nèi)存。值得注意的是,消費(fèi)級(jí)平臺(tái)已不再支持DDR4,這使得DDR4內(nèi)存開始加速向
    的頭像 發(fā)表于 02-19 11:11 ?3233次閱讀