Memory系列之--DDR(內(nèi)存)時(shí)序怎么讀
2019-03-15 by:CAE仿真在線 來源:互聯(lián)網(wǎng)
對(duì)于大部分工程師而言,Memory在設(shè)計(jì)中經(jīng)常會(huì)非常困難,這種困難,來源于數(shù)目繁多的各種信號(hào)線,來源于各種不同的拓?fù)浣Y(jié)構(gòu),更來源于JEDEC Spec中讓人眼花繚亂的時(shí)序圖……然而,這終究是需要邁過去的一道坎
從JEDEC的Specification中可以看到Memory相關(guān)的Timing十分復(fù)雜. 但如果只是分析信號(hào)完整性, 大部分復(fù)雜的時(shí)間參數(shù)都可以忽略, 以下就DDR3-1333 2R*8 Unbuffered Memory為例, 對(duì)只同信號(hào)完整性相關(guān)的一些時(shí)間參數(shù)做一個(gè)回顧。
寫數(shù)據(jù)是從Controller寫入數(shù)據(jù)到DRAM. 參考JEDEC 2R*8 的Topology可以知道, 相同Rank內(nèi)共用同一Clock信號(hào), 一個(gè)Rank共64bit數(shù)據(jù), 每8bit為一組對(duì)應(yīng)自己的DQS信號(hào), 所以在同一Rank內(nèi)共有8個(gè)DQS同Clock在信號(hào)寫入時(shí)邊緣對(duì)齊.由于芯片內(nèi)部差異, 發(fā)送端DQS同Clock時(shí)間差值為tCKDQS (DDR3-1333 Spec: ±100pS).到達(dá)接收端, 即DRAM端時(shí), 由每個(gè)DQS及Clock線長(zhǎng)的不匹配而引起到達(dá)時(shí)間的差異記為tDQSS, 其值在±0.25tCK之間 (DDR3-1333 Spec: ± 375pS). 同時(shí)如果tDQSS>0, 即DQS晚于Clock到達(dá)DRAM, DQS的前一個(gè)下降沿和Clock的上升沿的時(shí)間間隔tDSS>0.2tCK (DDR3-1333 Spec 300pS). 如果tDQSS≤0, 即DQS早于Clock到達(dá)DRAM, 則DQS的下一個(gè)下降沿同Clock上升沿之間的時(shí)間差tDSH>0.2tCK (DDR3-1333 Spec 300pS).
在寫入數(shù)據(jù)時(shí), 每組數(shù)據(jù)內(nèi)DQS的上升沿將觸發(fā)DQ/DM代表的電平寫入DRAM中. 同樣發(fā)送端組內(nèi)DQ/DM相對(duì)于DQS的差異tDQSDQ在-475pS~-275pS之間(DDR3-1333).在到達(dá)DRAM時(shí), DQS的邊緣應(yīng)對(duì)齊于有效DQ/DM時(shí)間范圍的中心. DQ/DM的Setup Time為tDS, Hold Time為tDH.
2讀取數(shù)據(jù)
讀取數(shù)據(jù)是將數(shù)據(jù)從相應(yīng)的DRAM中讀到Controller中. 在DDR信號(hào)中DQS/DQ/DM是可以雙向傳輸?shù)男盘?hào). 而其他Clock/Address/Command/Control信號(hào)都是單向傳輸信號(hào), 只從Controller發(fā)送, DRAM接收. 在數(shù)據(jù)讀取時(shí), Clock的上升沿觸發(fā)DQS/DQ/DM信號(hào)同時(shí)從DRAM端發(fā)出, DQS上升沿相對(duì)于Clock上升沿的Delay為tDQSCK (DDR3-1333 Spec ±255pS以內(nèi)), DQ跳變沿相對(duì)于DQS邊緣的delay為tDQDQS (DDR3-1333 Spec: -180pS ~ 125pS).
信號(hào)從DRAM傳輸?shù)紺ontroller, DQ同DQS間的時(shí)間差記為tDQSQ, DDR3-1333中tDQSQ < 125pS, DQ Hold Time tQH > 0.38tCK (DDR3-1333 Spec: 570pS). Controller內(nèi)部將DQS延時(shí)1/4tCK (90?相位提升) 后作為DQ的觸發(fā)信號(hào), 所以相位提升后的DQS的上升/下降沿對(duì)齊于有效DQ信號(hào)的中心.
3ADD/CMD/CTL寫入時(shí)序
ADD/CMD/CTRL是單向傳輸信號(hào), 只從Controller發(fā)送到DRAM顆粒, 同時(shí)不同于數(shù)據(jù)線的雙倍速率傳輸, 在DDR1/2/3中ADD/CMD/CTRL都是單倍速率傳輸?shù)? 也就是說每一個(gè)Clock的周期內(nèi)最多傳送1位的ADD/CMD/CTRL指令, 比如Clock的頻率為667MHz時(shí), ADD/CMD/CTRL的最大頻率為333MHz. 在發(fā)送端, 即Controller一側(cè), Clock的上升沿對(duì)齊于有效AMD/CMD/CTRL的中心. 但通常ADD/CMD的負(fù)載多, 拓?fù)浣Y(jié)構(gòu)復(fù)雜, 當(dāng)時(shí)鐘頻率越來越高時(shí), 在接收端, 一個(gè)時(shí)鐘周期內(nèi)不能絕對(duì)保證ADD/CMD的建立保持時(shí)間滿足要求. 此時(shí)Controller會(huì)將ADD/CMD的數(shù)據(jù)有效時(shí)間擴(kuò)大到2個(gè)時(shí)鐘周期, 以保證指令的正確傳輸.在發(fā)送端每個(gè)時(shí)鐘周期內(nèi)ADD/CMD/CTRL值都發(fā)生變化的時(shí)序稱為1T Timing, 每2個(gè)時(shí)鐘周期內(nèi)ADD/CMD發(fā)生變化的時(shí)序稱為2T Timing, 2T Timing多見于內(nèi)存時(shí)鐘頻率大于等于800MHz的系統(tǒng)中. 1T Timing中tCKAC/tCKCTRL是ADD/CMD/CTRL有效到第一個(gè)Clock上升沿的時(shí)間差 (DDR3-1333 Spec: -900~-600pS; AMD tADDRskew = tCKAC(max) – tCKAC(min) = 0~100pS), 2T Timing中tCKAC是ADD/CMD/CTRL有效到第一個(gè)Clock上升沿的時(shí)間差 (DDR3-1333 Spec: -2400~-2100pS).
對(duì)于每個(gè)DRAM顆粒, 輸入的Clock信號(hào)應(yīng)與有效的ADD/CMD/CTRL中心對(duì)齊. ADD/CMD/CTRL的建立保持時(shí)間分別為tIS和tIH.
4建立保持時(shí)間的計(jì)算方法
在JEDEC標(biāo)準(zhǔn)中對(duì)了DDR3 DRAM顆粒上接收到的DQ/ADD/CMD/CTRL的建立保持時(shí)間標(biāo)準(zhǔn)有一個(gè)復(fù)雜的定義. 下面通過DQ建立保持時(shí)間的計(jì)算的示例來說明.
For DDR3-1333, tDS(base) = -10ps; tDH(base) = 65ps
IfDQ Setup slew = 2.0V/ns;
DQ Hold slew = 1.5V/ns;
DQS Differential Slew = 2.0V/ns
ThenΔtDS = 88pS; ΔtDH = 34pS;
SoDQ Setup Spec = tDS(base) + ΔtDS = -10pS + 88pS = 78pS;
Hold Spec = tDH(base) + ΔtDH = 65pS + 34pS = 99pS;
The measurement result: tDS ≥ 78pS, tDH ≥ 99pS.
Note:for more Slew calculation details, please refer to the JEDEC79-3A
5問題
以上以DDR3為例說明了DDR時(shí)序相關(guān)的內(nèi)容,那么,DDR4呢?
相關(guān)標(biāo)簽搜索:Memory系列之--DDR(內(nèi)存)時(shí)序怎么讀 HFSS電磁分析培訓(xùn) HFSS培訓(xùn)課程 HFSS技術(shù)教程 HFSS無線電仿真 HFSS電磁場(chǎng)仿真 HFSS學(xué)習(xí) HFSS視頻教程 天線基礎(chǔ)知識(shí) HFSS代做 天線代做 Fluent、CFX流體分析 HFSS電磁分析