DDR=Double Data Rate雙倍速率同步動(dòng)態(tài)隨機(jī)存儲(chǔ)器。嚴(yán)格的說(shuō)DDR應(yīng)該叫DDR SDRAM,人們習(xí)慣稱(chēng)為DDR,其中,SDRAM 是Synchronous Dynamic Random Access Memory的縮寫(xiě),即同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器。本文首先介紹了DDR工作原理及結(jié)構(gòu)圖,其次闡述了DDR DQS信號(hào)的處理,具體的跟隨小編一起來(lái)了解一下。
DDR工作原理及結(jié)構(gòu)圖
DDR的基本原理
有很多文章都在探討DDR的原理,但似乎也不得要領(lǐng),甚至還帶出一些錯(cuò)誤的觀點(diǎn)。首先我們看看一張DDR正規(guī)的時(shí)序圖。
從中可以發(fā)現(xiàn)它多了兩個(gè)信號(hào): CLK#與DQS,CLK#與正常CLK時(shí)鐘相位相反,形成差分時(shí)鐘信號(hào)。而數(shù)據(jù)的傳輸在CLK與CLK#的交叉點(diǎn)進(jìn)行,可見(jiàn)在CLK的上升與下降沿(此時(shí)正好是CLK#的上升沿)都有數(shù)據(jù)被觸發(fā),從而實(shí)現(xiàn)DDR。在此,我們可以說(shuō)通過(guò)差分信號(hào)達(dá)到了DDR的目的,甚至講CLK#幫助了第二個(gè)數(shù)據(jù)的觸發(fā),但這只是對(duì)表面現(xiàn)象的簡(jiǎn)單描述,從嚴(yán)格的定義上講并不能這么說(shuō)。之所以能實(shí)現(xiàn)DDR,還要從其內(nèi)部的改進(jìn)說(shuō)起。
DDR內(nèi)存芯片的內(nèi)部結(jié)構(gòu)圖
這是一顆128Mbit的內(nèi)存芯片,從圖中可以看出來(lái),白色區(qū)域內(nèi)與SDRAM的結(jié)構(gòu)基本相同,但請(qǐng)注意灰色區(qū)域,這是與SDRAM的不同之處。首先就是內(nèi)部的L-Bank規(guī)格。SDRAM中L-Bank 存儲(chǔ)單元的容量與芯片位寬相同,但在DDR SDRAM中并不是這樣,存儲(chǔ)單元的容量是芯片位寬的一倍,所以在此不能再套用講解SDRAM時(shí) “芯片位寬=存儲(chǔ)單元容量” 的公式了。也因此,真正的行、列地址數(shù)量也與同規(guī)格SDRAM不一樣了。
以本芯片為例,在讀取時(shí),L-Bank在內(nèi)部時(shí)鐘信號(hào)的觸發(fā)下一次傳送8bit的數(shù)據(jù)給讀取鎖存器,再分成兩路4bit數(shù)據(jù)傳給復(fù)用器,由后者將它們合并為一路4bit數(shù)據(jù)流,然后由發(fā)送器在DQS的控制下在外部時(shí)鐘上升與下降沿分兩次傳輸4bit的數(shù)據(jù)給北橋。這樣,如果時(shí)鐘頻率為100MHz,那么在I/O端口處,由于是上下沿觸發(fā),那么就是傳輸頻率就是200MHz。
現(xiàn)在大家基本明白DDR SDRAM的工作原理了吧,這種內(nèi)部存儲(chǔ)單元容量(也可以稱(chēng)為芯片內(nèi)部總線(xiàn)位寬)=2×芯片位寬(也可稱(chēng)為芯片I/O總線(xiàn)位寬)的設(shè)計(jì),就是所謂的兩位預(yù)取(2-bit Prefetch),有的公司則貼切的稱(chēng)之為2-n Prefetch(n代表芯片位寬)。
DDR DQS信號(hào)的處理
一、DDR 1&2&3總線(xiàn)概覽
DDR全名為Double Data Rate SDRAM ,簡(jiǎn)稱(chēng)為DDR。現(xiàn)在DDR技術(shù)已經(jīng)發(fā)展到了DDR 3,理論上速度可以支持到1600MT/s。DDR總線(xiàn)走線(xiàn)數(shù)量多,速度快,操作復(fù)雜,探測(cè)困難,給測(cè)試和分析帶來(lái)了巨大的挑戰(zhàn)。
DDR本質(zhì)上不需要提高時(shí)鐘頻率就能加倍提高SDRAM的速度,它允許在時(shí)鐘的上升沿和下降沿讀出數(shù)據(jù),因而其速度是標(biāo)準(zhǔn)SDRAM的兩倍。至于地址與控制信號(hào)則與傳統(tǒng)SDRAM相同,仍在時(shí)鐘上升沿進(jìn)行數(shù)據(jù)判斷。
目前,許多計(jì)算機(jī)使用時(shí)鐘頻率為533MHz的DDR2內(nèi)存,更先進(jìn)的DDR2內(nèi)存正在日益普及,它的時(shí)鐘頻率在400 MHz-800 MHz之間,新的DDR3內(nèi)存的時(shí)鐘頻率則可以工作在800MHz-16OOMHz之間。DDR3內(nèi)存芯片還有另外一個(gè)長(zhǎng)處:更低的能耗,它的運(yùn)行電壓是1.5伏,低于DDR2內(nèi)存芯片的1.8伏和DDR1內(nèi)存芯片的2.5伏。在使用電池的設(shè)備中能夠延長(zhǎng)電池續(xù)航時(shí)間,因?yàn)槟芎牡?,產(chǎn)生的熱量也就少,從而對(duì)冷卻的要求也就低一些。
DDR 2&3幾個(gè)新增特性的含義是:ODT( On Die Termination),DDR1 匹配放在主板上,DDR2&3把匹配直接設(shè)計(jì)到DRAM芯片內(nèi)部,用來(lái)改善信號(hào)品質(zhì)。OCD(Off Chip Driver)是加強(qiáng)上下拉驅(qū)動(dòng)的控制功能,通過(guò)減小DQS與/DQS(DQS是數(shù)據(jù)Strobe,源同步時(shí)鐘,數(shù)據(jù)的1和0由DQS作為時(shí)鐘來(lái)判斷) Skew(時(shí)滯)來(lái)增加信號(hào)的時(shí)序容限(Timing Margin)。Posted CAS是提高總線(xiàn)利用率的一種方法。AL(Additive Latency)技術(shù)是相對(duì)于外部CAS,內(nèi)部CAS執(zhí)行一定的延時(shí)。
圖1是DDR總線(xiàn)的體系結(jié)構(gòu)。其中DQS是源同步時(shí)鐘,在接收端使用DQS來(lái)讀出相應(yīng)的數(shù)據(jù)DQ,上升沿和下降沿都有效。DDR1總線(xiàn),DQS是單端信號(hào),而DDR2&3, DQS則是差分信號(hào)。DQS和DQ都是三態(tài)信號(hào),在PCB走線(xiàn)上雙向傳輸,讀操作時(shí),DQS信號(hào)的邊沿在時(shí)序上與DQ的信號(hào)邊沿處對(duì)齊,而寫(xiě)操作時(shí),DQS信號(hào)的邊沿在時(shí)序上與DQ信號(hào)的中心處對(duì)齊,參考圖2,這就給測(cè)試驗(yàn)證帶來(lái)了巨大的挑戰(zhàn):把“讀”信號(hào)與“寫(xiě)”信號(hào)分開(kāi)是非常困難的!
圖2中,Addr/Cmd Bus意思是地址/命令總線(xiàn),都是時(shí)鐘的上升沿有效,其中命令由:/CS(片選),/RAS, /CAS,/WE(寫(xiě)使能)決定,比如:“讀”命令為:LHLH,“寫(xiě)”命令為:LHLL等。操作命令很多,主要是NOP(空超作),Active(激活),Write,Read,Precharge (Bank關(guān)閉),Auto Refresh或Self Refresh(自動(dòng)刷新或自刷新)等(細(xì)節(jié)請(qǐng)參考:Jedec規(guī)范JESD79)。Data Bus是數(shù)據(jù)總線(xiàn),由DQS的上升沿和下降沿判斷數(shù)據(jù)DQ的0與1。
二、DDR 1&2&3總線(xiàn)的信號(hào)完整性測(cè)試
DDR總線(xiàn)PCB走線(xiàn)多,速度快,操作時(shí)序復(fù)雜,很容易出現(xiàn)失效問(wèn)題,為此我們經(jīng)常用示波器進(jìn)行DDR總線(xiàn)的信號(hào)完整性測(cè)試和分析,通常的測(cè)試內(nèi)容包括:
1,命令信號(hào)的波形和時(shí)序參數(shù):需要測(cè)試/RAS,/CAS,/WE,/CS的信號(hào)品質(zhì),如Vmax(最大電壓值),Vmin(最小電壓值),Slew Rate(斜率),Ringback(回溝)等;還需要測(cè)試相對(duì)于時(shí)鐘邊沿的Setup Time(建立時(shí)間)和Hold Time(保持時(shí)間)。測(cè)試相對(duì)于時(shí)鐘邊沿的建立時(shí)間和保持時(shí)間時(shí),需要注意參考電平的位置和最差情況波形的捕獲。如圖3的/CS建立時(shí)間和保持時(shí)間的測(cè)試就沒(méi)有測(cè)試出最差的建立時(shí)間和保持時(shí)間值,為此,我們需要用眼圖累積的方式設(shè)法找到最差情況下的建立時(shí)間和保持時(shí)間。
2,地址信號(hào)的波形和時(shí)序參數(shù):測(cè)試內(nèi)容和測(cè)試方質(zhì)和相對(duì)于時(shí)鐘邊沿的建立時(shí)間和保持時(shí)間的測(cè)試。
3,時(shí)鐘信號(hào)的波形和抖動(dòng)參數(shù):測(cè)試建議用差分探頭。波形參數(shù)包括overshoot(過(guò)沖),undershoot(下沖),Slew Rate(斜率)或Rise Time(上升時(shí)間)和Fall Time(下降時(shí)間),高低時(shí)間和Duty Cycle(占空比失真)等。時(shí)鐘抖動(dòng)一般只是測(cè)試Cycle-Cycle Jitter(周期到周期抖動(dòng)),但是當(dāng)速率超過(guò)533MT/s的DDR2&3時(shí),則測(cè)試內(nèi)容相當(dāng)多,不可忽略,下表1是DDR2 667的規(guī)范參數(shù)。這些抖動(dòng)參數(shù)的測(cè)試需要用專(zhuān)用軟件實(shí)現(xiàn)。
4,速據(jù)信號(hào)的波形和時(shí)序參數(shù):DQS(源同步時(shí)鐘)和DQ(數(shù)據(jù))波形參數(shù)與命令地址測(cè)試類(lèi)似,測(cè)試起來(lái)比較簡(jiǎn)單,但是探測(cè)卻比較復(fù)雜和困難。DDR1,DQS是單端信號(hào),可以用單端探頭測(cè)試,DDR2&3 DQS則是差分信號(hào),建議用差分探頭測(cè)試,減小探測(cè)難度。DQS和DQ的時(shí)序關(guān)系,即相對(duì)的在不同操作條件下的建立時(shí)間和保持時(shí)間關(guān)系則非常復(fù)雜,分析比較困難,圖4是實(shí)際捕獲的DDR2 533 DQS和DQ的波形。從圖中可以看出DQS和DQ的三態(tài)(Tri-state)特征,讀數(shù)據(jù)(Read Burst)和寫(xiě)數(shù)據(jù)(Write Burst)的DQS和DQ的相對(duì)時(shí)序特征。在我們測(cè)試時(shí),只是捕獲了這樣的波形,然后測(cè)試出在“讀”“寫(xiě)”操作時(shí)的建立時(shí)間和保持時(shí)間參數(shù)是不夠的,因?yàn)閿?shù)據(jù)碼型是變化的,猝發(fā)長(zhǎng)度也是變化的,只測(cè)了幾個(gè)時(shí)序參數(shù)很難覆蓋各種情況,更難測(cè)出最差情況。很多工程師花了一周去測(cè)試DDR,仍然測(cè)不出問(wèn)題的關(guān)鍵點(diǎn)就在此處。因此我們應(yīng)該用眼圖的方式去測(cè)試DDR的讀寫(xiě)時(shí)序,確保反映整體時(shí)序情況和捕獲最差情況下的波形,最好能夠套用串行數(shù)據(jù)的分析方法,調(diào)用模板幫助判斷。
三、DR 1&2&3 “讀”“寫(xiě)”眼圖測(cè)試
基于DDR“讀”“寫(xiě)”信號(hào)相位不同的特征,本人設(shè)計(jì)了一個(gè)軟件進(jìn)行“讀”“寫(xiě)”眼圖的測(cè)試分析,軟件使用VEE Pro 7.5設(shè)計(jì)界面,使用VEE Pro內(nèi)嵌的Matlab腳本分析數(shù)據(jù),基于規(guī)范的AC參數(shù)設(shè)計(jì)模板,幫助工程師進(jìn)行DDR信號(hào)完整性測(cè)試分析的最復(fù)雜部分即“讀” “寫(xiě)”數(shù)據(jù)眼圖的測(cè)試分析。
圖5是軟件界面和分析結(jié)果的一個(gè)示例,上面兩福圖形是用戶(hù)界面。左邊的是離線(xiàn)分析軟件,用示波器同時(shí)采集DQS和DQ信號(hào),并且存為*.CSV文件。采集時(shí),采樣率設(shè)置為20GSa/s,存儲(chǔ)深度設(shè)置為200k以上,確保捕獲足夠的數(shù)據(jù),同時(shí)被測(cè)系統(tǒng)運(yùn)行大型的軟件或MemoryTest.exe工具(此內(nèi)存測(cè)試軟件能夠進(jìn)行內(nèi)存總線(xiàn)的加壓測(cè)試,一般做系統(tǒng)設(shè)計(jì)的或內(nèi)存設(shè)計(jì)的都有),以讓總線(xiàn)上有足夠多的數(shù)據(jù),來(lái)增加捕獲各種碼型和最差情況的可能性。離線(xiàn)軟件調(diào)用采集的波形,自動(dòng)去掉三態(tài)數(shù)據(jù),把“讀”數(shù)據(jù)放在一起,把“寫(xiě)”數(shù)據(jù)放在一起,基于DQS的有效邊沿(去掉預(yù)調(diào)整和后調(diào)整后的上升邊沿和下降邊沿),累積在一起形成眼圖,調(diào)用模板判斷信號(hào)的優(yōu)劣和是否滿(mǎn)足規(guī)范要求。
圖5右上圖是基于Agilent的DSO80000和54850系列示波器的在線(xiàn)實(shí)時(shí)分析軟件界面。需要把軟件安裝在示波器內(nèi)部,或安裝在外部電腦上用LAN或GPIB到USB適配器(82357A)連接到示波器。示波器的通道1探測(cè)DQS,通道3探測(cè)DQ,被測(cè)系統(tǒng)上運(yùn)行大型的軟件或MemoryTest.exe工具。在在線(xiàn)軟件上輸入想重復(fù)捕獲波形的次數(shù),然后按“starting”進(jìn)行實(shí)時(shí)數(shù)據(jù)的捕獲和實(shí)時(shí)眼圖的分析,軟件會(huì)控制示波器捕獲波形,然后分析數(shù)據(jù),形成眼圖,調(diào)用模板判斷信號(hào)是否滿(mǎn)足規(guī)范要求,然后重復(fù)下一次捕獲和分析,同時(shí)把新捕獲的波形累積到前面捕獲的波形上面。在線(xiàn)軟件執(zhí)行的算法與離線(xiàn)軟件類(lèi)似,只是可以自動(dòng)控制示波器,進(jìn)行波形的多次捕獲和分析,并同時(shí)把實(shí)時(shí)捕獲的波形的分析結(jié)果連同以前的結(jié)果一同顯示出來(lái)。
圖5下面的兩個(gè)波形是實(shí)際的分析結(jié)果示例,分析的是DDR2 667,測(cè)試點(diǎn)是在DIMM內(nèi)存條上。對(duì)我們比較有意義的是左邊的“寫(xiě)”眼圖,它反映的是信號(hào)從北橋發(fā)出,通過(guò)主板較長(zhǎng)距離傳輸?shù)竭_(dá)DRAM接收芯片的波形,這是我們做系統(tǒng)設(shè)計(jì)和測(cè)試時(shí)需要得到的眼圖。右圖則是直接從DRAM芯片發(fā)出的信號(hào)的波形,因?yàn)闇y(cè)試點(diǎn)是在DIMM上,所以對(duì)我們只有參考價(jià)值:當(dāng)在北橋測(cè)試出時(shí)序問(wèn)題時(shí),通過(guò)此波形的觀察確定是主板設(shè)計(jì)的問(wèn)題,還是DIMM或DRAM芯片本身的問(wèn)題。如果測(cè)試點(diǎn)在北橋,則我們需要關(guān)注“讀”眼圖,而此時(shí)“寫(xiě)”眼圖一般只有參考價(jià)值。
這個(gè)DDR“讀”“寫(xiě)”眼圖分析軟件的算法是什么呢?其實(shí)很簡(jiǎn)單,如圖6所示,如果直接用DQS觸發(fā)DQ,則會(huì)形成比較亂的眼圖,但是中間又包括需要的信息,如圖中的紅色圓圈周?chē)氖恰皩?xiě)”眼圖信息,途中的黃色圓圈周?chē)鷦t是“讀”眼圖信息。而眼圖之所以亂,是因?yàn)橥瑫r(shí)包括“三態(tài)”信號(hào)和“讀”“寫(xiě)”信號(hào),而“讀” 和“寫(xiě)”信號(hào)的時(shí)序是矛盾的。使用 軟件進(jìn)行分離的處理比較容易:首先,扔掉三態(tài)信號(hào),保留有用信息,軟件設(shè)計(jì)時(shí),檢測(cè)DQS有效邊沿,離DQS有效邊沿較遠(yuǎn)的信號(hào)就是三態(tài)信號(hào),扔掉它;然后,根據(jù)建立時(shí)間和保持時(shí)間的關(guān)系把“讀”信號(hào)和“寫(xiě)”信號(hào)分成兩個(gè)數(shù)據(jù)庫(kù);最后,把“讀”信號(hào)數(shù)據(jù)庫(kù)按DQS有效邊沿放在一起形成眼圖,把“寫(xiě)”信號(hào)數(shù)據(jù)庫(kù)按DQS有效邊沿放在一起形成眼圖,分別調(diào)用模板產(chǎn)生測(cè)試結(jié)果。
四、DDR 1&2&3 模板定義
DDR規(guī)范沒(méi)有定義模板,這給用眼圖方式分析信號(hào)時(shí)判斷信號(hào)是否滿(mǎn)足規(guī)范要求帶來(lái)挑戰(zhàn)。為了更容易判斷是否滿(mǎn)足規(guī)范的要求,像分析一般串行信號(hào)一樣分析“讀”“寫(xiě)”眼圖,本人根據(jù)Jedec規(guī)范設(shè)計(jì)了“讀”“寫(xiě)”模板。下面以定義“寫(xiě)”眼圖模板為例,介紹一下模板的設(shè)計(jì)方法。
圖7是Jedec規(guī)范上的時(shí)序和波形參數(shù),tDS是相對(duì)于DQS有效邊沿的建立時(shí)間,tDH是相對(duì)于DQS有效邊沿的保持時(shí)間,tDS相對(duì)于DQ的AC參數(shù),tDH則相對(duì)于DQ的DC參數(shù),不過(guò)為了測(cè)試方面的方便性,我們都可以用AC參數(shù)來(lái)定義tDS和tDH。tDS和tDH參數(shù)的測(cè)試是DDR的核心測(cè)試參數(shù)。
在Jedec規(guī)范上,我們可以查到各種速率的tDS和tDH 的規(guī)范值,比如DDR2 533,tDS 是100ps,tDH 是225ps。我們也可以查到各種速率的AC參數(shù)值,比如DDR2 533:其中,VIH(ac)min是VIH(ac)規(guī)范的最小值,VIL(ac)max是VIL(ac)規(guī)范的最大值,Vref是參考電壓,對(duì)DDR1來(lái)說(shuō)是1.25V,DDR2來(lái)說(shuō)是0.9V,DDR3來(lái)說(shuō)是0.75V。
基于tDS和tDH 和VIH(ac)min和VIL(ac)max參數(shù),我們可以得出DDR2 533“寫(xiě)”眼圖的模板如圖8示。中間的紅色區(qū)域就是模板,Setup time是tDS建立時(shí)間,Hold time是tDH 保持時(shí)間,VIH(AC)是VIH(ac)min值,VIL(AC)是VIL(ac)max值。中間的黃色線(xiàn)是DQS的有效邊沿即有效的上升沿或下降沿。
嚴(yán)格按規(guī)范的話(huà),中間的模板應(yīng)該定義為橫著的梯形,因?yàn)楸3謺r(shí)間是相對(duì)于DC參數(shù),不過(guò)用長(zhǎng)方形可以定義一個(gè)更嚴(yán)格的參數(shù)要求。
五、小結(jié)
DDR是需要進(jìn)行信號(hào)完整性測(cè)試的總線(xiàn)中最復(fù)雜的總線(xiàn),不僅走線(xiàn)多、探測(cè)困難,而且時(shí) 序復(fù)雜,各種操作交織在一起。本文基于多年的實(shí)踐經(jīng)驗(yàn),提供了一些測(cè)試的參考方法,尤其對(duì) “讀”“寫(xiě)”眼圖的測(cè)試方法和模板的定義提出一種創(chuàng)新的觀點(diǎn),并設(shè)計(jì)軟件實(shí)現(xiàn)了這種方法,希望對(duì)主板,DIMM,DRAM設(shè)計(jì)者和測(cè)試者有參考價(jià)值。
-
DDR
+關(guān)注
關(guān)注
11文章
732瀏覽量
66829 -
dqs
+關(guān)注
關(guān)注
0文章
7瀏覽量
2417
發(fā)布評(píng)論請(qǐng)先 登錄
可制造性案例│DDR內(nèi)存芯片的PCB設(shè)計(jì)!
可制造性案例│DDR內(nèi)存芯片的PCB設(shè)計(jì)
關(guān)于DDR的PCB設(shè)計(jì)
DDR總線(xiàn)的體系結(jié)構(gòu)
映射期間出錯(cuò):DDR2
Interfacing DDR &DDR2 SDRAM wi
DDR工作原理
DDR怎么學(xué)習(xí),從仿真開(kāi)始
DDR和DDR2與DDR3的設(shè)計(jì)資料總結(jié)

DDR SDRAM工作原理簡(jiǎn)介
DDR的工作原理與應(yīng)用

評(píng)論