DDR與DDR-II深刻理解_第1頁
DDR與DDR-II深刻理解_第2頁
DDR與DDR-II深刻理解_第3頁
DDR與DDR-II深刻理解_第4頁
DDR與DDR-II深刻理解_第5頁
已閱讀5頁,還剩16頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、DDR 與 DDR-IIDDR SDRAMDDR SDRAM全稱為Double Data Rate SDRAM,中文名為“雙倍數(shù)據(jù)流SDRAM”。DDR SDRAM在原有的SDRAM的基礎(chǔ)上改進(jìn)而來。圖1一、 DDR 的基本原理以MICRON的MT46V64M16(16 Meg x 16 x 4 Banks)為例,其時序圖如下所示:圖2 DDR讀操作時序圖從中可以發(fā)現(xiàn)它多了兩個信號: CK#與DQS,CK#與正常CK時鐘相位相反,形成差分時鐘信號。而數(shù)據(jù)的傳輸在CK與CK#的交叉點進(jìn)行,可見在CK的上升沿與下降沿都有數(shù)據(jù)被觸發(fā),從而實現(xiàn)DDR。在此,我們可以說通過差分信號達(dá)到了DDR的目的,甚

2、至講CK#幫助了第二個數(shù)據(jù)的觸發(fā),但這只是對表面現(xiàn)象的簡單描述,從嚴(yán)格的定義上講并不能這么說。之所以能實現(xiàn)DDR,還要從其內(nèi)部的改進(jìn)說起。圖3 DDR內(nèi)部結(jié)構(gòu)圖從圖中可以看出,其前半部分與SDRAM的結(jié)構(gòu)基本相同,紅色框圖部分即為比SDRAM多出的部分。首先不同之處就是內(nèi)部的Bank control logic規(guī)格。SDRAM中Bank control logic存儲單元的容量與芯片位寬相同,但在DDR中Bank control logic存儲單元的容量是芯片位寬的一倍。也因此,真正的行、列地址數(shù)量也與同規(guī)格SDRAM不一樣了。以本芯片為例,在讀取時,Bank control logic在內(nèi)部

3、時鐘信號的觸發(fā)下一次傳送32bit的數(shù)據(jù)給讀取鎖存器,再分成2路16bit 數(shù)據(jù)傳給復(fù)用器,由后者將它們合并為一路16bit數(shù)據(jù)流,然后由發(fā)送器在DQS的控制下在外部時鐘上升沿與下降沿分兩次傳輸16bit的數(shù)據(jù)給北橋。這樣,如果時鐘頻率為100MHz,那么在I/O端口處,由于是上下沿觸發(fā),那么就是傳輸頻率就是200MHz。這種內(nèi)部存儲單元容量(也可以稱為芯片內(nèi)部總線位寬)=2×芯片位寬(也可稱為芯片I/O 總線位寬)的設(shè)計,就是所謂的兩位預(yù)取(2-bit Prefetch),有的公司則貼切的稱之為2-n Prefetch(n代表芯片位寬)。二、 DDR新增管腳及功能1. 差分時鐘差分

4、時鐘是DDR的一個必要設(shè)計,但CK#的作用,并不能理解為第二個觸發(fā)時鐘,而是起到觸發(fā)時鐘校準(zhǔn)的作用。由于數(shù)據(jù)是在CK的上下沿觸發(fā),造成傳輸周期縮短了一半,因此必須要保證傳輸周期的穩(wěn)定,以確保數(shù)據(jù)的正確傳輸,這就要求CK的上下沿間距要有精確的控制。但因為溫度、電阻性能的改變等原因,CK上下沿間距可能發(fā)生變化,此時與其反相的CK#就起到糾正的作用(CK 上升快下降慢,CK#則是上升慢下降快),參見圖3。而由于上下沿觸發(fā)的原因,也使CL=1.5 和2.5成為可能,并容易實現(xiàn)。圖4 差分時鐘2. 數(shù)據(jù)選通脈沖DQSDQS是DDR中的重要功能,主要用來在一個時鐘周期內(nèi)準(zhǔn)確的區(qū)分出每個傳輸周期,并便于接收

5、方準(zhǔn)確接收數(shù)據(jù)。DQS是雙向信號,在寫入時用來傳送由北橋發(fā)來的DQS信號,讀取時,則由芯片生成DQS向北橋發(fā)送。可以說,它就是數(shù)據(jù)的同步信號。在讀取時,DQS與數(shù)據(jù)信號同時生成(也是在CK與CK#的交叉點)。而DDR內(nèi)存中的CL也就是從CAS 發(fā)出到DQS生成的間隔,數(shù)據(jù)真正出現(xiàn)在數(shù)據(jù)I/O總線上相對于DQS觸發(fā)的時間間隔被稱為tAC。注意,這與SDRAM中的tAC的不同。實際上,DQS生成時,芯片內(nèi)部的預(yù)取已經(jīng)完畢了,tAC是指上文結(jié)構(gòu)圖中紅色框圖部分的數(shù)據(jù)輸出時間,由于預(yù)取的原因,實際的數(shù)據(jù)傳出可能會提前于DQS發(fā)生(數(shù)據(jù)提前于DQS傳出)。由于是并行傳輸,DDR內(nèi)存對tAC也有一定的要求

6、,以本芯片為例,若采用DDR266,tAC的允許范圍是±0.75ns;若采用DDR333,則是±0.7ns,有關(guān)它們的時序圖示見前文,其中CL里包含了一段DQS的導(dǎo)入期。DQS是了保證接收方的選擇數(shù)據(jù), DQS在讀取時與數(shù)據(jù)同步傳輸。但由于芯片有預(yù)取的操作,所以輸出時的同步很難控制,只能限制在一定的時間范圍內(nèi),數(shù)據(jù)在各I/O端口的出現(xiàn)時間可能有快有慢,會與DQS有一定的間隔,這也就是要有一個tAC規(guī)定的原因。而在接收方,一切必須保證同步接收,不能有tAC之類的偏差。這樣在寫入時,芯片不再自己生成DQS,而以發(fā)送方傳來的DQS為基準(zhǔn),并相應(yīng)延后一定的時間,在DQS的中部為數(shù)據(jù)

7、周期的選取分割點(在讀取時分割點就是上下沿),從這里分隔開兩個傳輸周期。這樣做的好處是,由于各數(shù)據(jù)信號都會有一個邏輯電平保持周期,即使發(fā)送時不同步,在DQS上下沿時都處于保持周期中,此時數(shù)據(jù)接收觸發(fā)的準(zhǔn)確性無疑是最高的。在寫入時,以DQS的高/低電平期中部為數(shù)據(jù)周期分割點,而不是上/下沿,如圖5所示;但數(shù)據(jù)的讀取觸發(fā)仍為DQS的上/下沿,如圖6所示。圖5 數(shù)據(jù)寫入時序圖圖6 數(shù)據(jù)讀取時序圖3. 寫入延時在上面的DQS寫入時序圖(圖5)中可以發(fā)現(xiàn),在發(fā)出寫入命令后,DQS與寫入數(shù)據(jù)要等一段時間才會送達(dá)。這個周期被稱為DQS相對于寫入命令的延遲時間(tDQSS)。tDQSS是DDR內(nèi)存寫入操作的一

8、個重要參數(shù),太短的話恐怕接受有誤,太長則會造成總線空閑。tDQSS 最短不能小于0.75個時鐘周期,最長不能超過1.25個時鐘周期。正常情況下,tDQSS是一個時鐘周期,但寫入時接受方的時鐘只用來控制命令信號的同步,而數(shù)據(jù)的接受則完全依靠DQS進(jìn)行同步,所以DQS與時鐘不同步也無所謂。4. 突發(fā)長度與寫入掩碼在DDR SDRAM中,突發(fā)長度只有2、4、8三種選擇,沒有了隨機(jī)存取的操作(突發(fā)長度為1)和全頁式突發(fā)。因為L-Bank一次就存取兩倍于芯片位寬的數(shù)據(jù),所以芯片至少也要進(jìn)行兩次傳輸。但是,突發(fā)長度的定義也與SDRAM的不一樣了(見圖1),它不再指所連續(xù)尋址的存儲單元數(shù)量,而是指連續(xù)的傳輸

9、周期數(shù),每次是一個芯片位寬的數(shù)據(jù)。對于突發(fā)寫入,如果其中有不想存入的數(shù)據(jù),仍可以運用DM信號進(jìn)行屏蔽。DM信號和數(shù)據(jù)信號同時發(fā)出,接收方在DQS的上升與下降沿來判斷DM的狀態(tài),如果DM為高電平,那么之前從DQS中部選取的數(shù)據(jù)就被屏蔽了。5. 延遲鎖定回路(DLL)DDR SDRAM對時鐘的精確性有著很高的要求,而DDR SDRAM有兩個時鐘,一個是外部的總線時鐘,一個是內(nèi)部的工作時鐘,在理論上DDR SDRAM這兩個時鐘應(yīng)該是同步的,但由于種種原因,如溫度、電壓波動而產(chǎn)生延遲使兩者很難同步,更何況時鐘頻率本身也有不穩(wěn)定的情況(SDRAM 也內(nèi)部時鐘,不過因為它的工作/傳輸頻率較低,所以內(nèi)外同步

10、問題并不突出)。DDR SDRAM的tAC (data-out transition skew to CK)就是因為內(nèi)部時鐘與外部時鐘有偏差而引起的,它很可能造成因數(shù)據(jù)不同步而產(chǎn)生錯誤的惡果。實際上,不同步就是一種正/負(fù)延遲,如果延遲不可避免,那么若是設(shè)定一個延遲值,如一個時鐘周期,那么內(nèi)外時鐘的上升與下降沿還是同步的。鑒于外部時鐘周期也不會絕對統(tǒng)一,所以需要根據(jù)外部時鐘動態(tài)修正內(nèi)部時鐘的延遲來實現(xiàn)與外部時鐘的同步,這就是DLL的任務(wù)。DLL不同于主板上的PLL,它不涉及頻率與電壓轉(zhuǎn)換,而是生成一個延遲量給內(nèi)部時鐘。目前DLL有兩種實現(xiàn)方法,一個是時鐘頻率測量法(CFM,Clock Frequ

11、encyMeasurement),一個是時鐘比較法(CC,Clock Comparator)。CFM是測量外部時鐘的頻率周期,然后以此周期為延遲值控制內(nèi)部時鐘,這樣內(nèi)外時鐘正好就相差了一個時鐘周期,從而實現(xiàn)同步。DLL就這樣反復(fù)測量反復(fù)控制延遲值,使內(nèi)部時鐘與外部時鐘保持同步。CC的方法則是比較內(nèi)外部時鐘的長短,如果內(nèi)部時鐘周期短了,就將所少的延遲加到下一個內(nèi)部時鐘周期里,然后再與外部時鐘做比較,若是內(nèi)部時鐘周期長了,就將多出的延遲從下一個內(nèi)部時鐘中刨除,如此往復(fù),最終使內(nèi)外時鐘同步。圖7DDR-II SDRAMDDR-相對于DDR 的主要改進(jìn)如下: DDR SDAMRDDR II SDRAM

12、時鐘頻率100/133/166/200MHz200/266/333MHz數(shù)據(jù)傳輸率200/266/333/400MBPS400/533/667MBPS工作電壓2.5V1.8V/1.5V/1.35V預(yù)取設(shè)計2Bit4Bit突發(fā)長度2/4/84/8L-BANK數(shù)量最多4個最多8個CL值1.5、2.5、3.5、3311AL值無0CL-1接口標(biāo)準(zhǔn)SSTL_2SSTL_18系統(tǒng)最高P-BANK數(shù)量84新增特性  COD、ODT、POSTED CAS一、 DDR-內(nèi)存結(jié)構(gòu)DDR-II SDRAM內(nèi)存結(jié)構(gòu)圖如下所示:圖8 DDR-II SDRAM內(nèi)存結(jié)構(gòu)圖SDRAM有兩個時鐘,一個是內(nèi)部時鐘,一個

13、是外部時鐘。在SDRAM與DDR時代,這兩個時鐘頻率是相同的,而在DDR-II中,核心頻率和時鐘頻率已經(jīng)不一樣了,由于DDR-II采用了4bit Prefetch技術(shù)。Prefetch可以意譯為"數(shù)據(jù)預(yù)取"技術(shù),可以認(rèn)為是端口數(shù)據(jù)傳輸率和內(nèi)存Cell之間數(shù)據(jù)讀/寫之間的倍率,如DDR為2bit Prefetch,因此DDR的數(shù)據(jù)傳輸率是核心Cell工作頻率的2倍。DDR-II采用了4bit Prefetch架構(gòu),也就是它的數(shù)據(jù)傳輸率是核心工作頻率的4倍。實際上數(shù)據(jù)先輸入到I/O緩沖寄存器,再從I/O寄存器輸出。DDR-II400的核心頻率/時鐘頻率/數(shù)據(jù)傳輸率分別是100M

14、Hz/200MHz/400Mbps。DDR-II 400的核心頻率和DDR 200是一樣的,但是DDR-II 400的數(shù)據(jù)傳輸率是DDR 200的2倍。因此,DDR-雖然實現(xiàn)了4-bit預(yù)取,但在實際效能上,與DDR是一樣的。因此在相同的核心頻率下,DDR-達(dá)到了2倍于DDR的的帶寬的水平有一個前提條件,那就是DDR-的外部時鐘頻率也是DDR的2倍。圖9 時鐘頻率示意圖如前文所述,DDR在寫入數(shù)據(jù)時,以DQS的高/低電平期中部為數(shù)據(jù)周期分割點;但在數(shù)據(jù)的讀取觸發(fā)仍為DQS的上/下沿。為保證DQS信號的準(zhǔn)確,在DDR-II中,增加了差分DQS信號。圖10 CK與CK#、DQS與DQS#二、 DD

15、R-的新操作與新時序設(shè)計1. OCD(Off-Chip Driver,片外驅(qū)動調(diào)校)DDR-II加入了可選的OCD功能,OCD的主要用意在于調(diào)整I/O接口端的電壓,來補償上拉與下拉電阻值,從而可以提高信號的完整性。調(diào)校期間,分別測試DQS高電平和DQ高電平,以及DQS低電平和DQ高電平的同步情況。如果不滿足要求,則通過設(shè)定突發(fā)長度的地址線來傳送上拉/下拉電阻等級,從而減少DQ、DQS的傾斜來提高信號的完整性及控制電壓來提高信號品質(zhì)。不過,由于在一般情況下對應(yīng)用環(huán)境穩(wěn)定程度要求并不太高,只要存在差分DQS時就基本可以保證同步的準(zhǔn)確性,因此OCD功能在普通臺式機(jī)上并沒有什么作用,其優(yōu)點主要體現(xiàn)在服

16、務(wù)器領(lǐng)域。圖11 OCD2. ODT(On-Die Termination,片內(nèi)終結(jié))所謂的終結(jié),就是讓信號被電路的終端被吸收掉,而不會在電路上形成反射,造成對后面信號的影響。在進(jìn)入DDR時代,DDR內(nèi)存對工作環(huán)境提出更高的要求,如果先前發(fā)出的信號不能被電路終端完全吸收掉而在電路上形成反射現(xiàn)象,就會對后面信號的影響從而造成運算出錯。因此目前支持DDR主板都是通過采用終結(jié)電阻來解決這個問題。由于每根數(shù)據(jù)線至少需要一個終結(jié)電阻,這意味著每塊DDR主板需要大量的終結(jié)電阻,這也無形中增加了主板的生產(chǎn)成本,而且由于不同的內(nèi)存模組對終結(jié)電阻的要求不可能完全一樣,也造成了所謂的“內(nèi)存兼容性問題”。而在DDR

17、-II中加入了ODT功能,即是將終結(jié)電阻設(shè)于內(nèi)存芯片內(nèi)(參見圖8紅色方框部分),當(dāng)在DRAM模組工作時把終結(jié)電阻器關(guān)掉,而對于不工作的DRAM模組則進(jìn)行終結(jié)操作,起到減少信號反射的作用(注:ODT的功能與禁止由北橋芯片控制,在開機(jī)進(jìn)行EMRS時進(jìn)行設(shè)置,ODT所終結(jié)的信號包括DQS、DQS#、DQ等等。),這樣可以產(chǎn)生更干凈的信號品質(zhì),從而產(chǎn)生更高的內(nèi)存時鐘頻率速度。而將終結(jié)電阻設(shè)計在內(nèi)存芯片之上還可以簡化了主板的設(shè)計,降低了主板的成本,而且終結(jié)電阻器可以和內(nèi)存顆粒的“特性”相符,從而減少內(nèi)存與主板的兼容問題的出現(xiàn)。圖12 ODT3. Posted CAS、附加潛伏期與寫入潛伏期前置CAS(P

18、osted CAS)是為了解決DDR內(nèi)存中指令沖突,提高DDR-II內(nèi)存的利用效率而設(shè)計的功能。它允許CAS信號緊隨RAS發(fā)送,相對于以往的DDR等于將CAS前置了。這樣,地址線可以立刻空出來,便于后面的行有效命令發(fā)出,避免造成命令沖突而被迫延后的情況發(fā)生,但讀/寫操作并沒有因此而提前,仍有要保證有足夠的延遲/潛伏期,為被定義為讀取潛伏期(RL,Read Latency),見圖13。相應(yīng)的,DDR-還對寫入潛伏期(WL,Write Latency)制定了標(biāo)準(zhǔn),WL是指從寫入命令發(fā)出到第一筆數(shù)據(jù)輸入的潛伏期,見圖14。圖13 RL示意圖圖14 WL示意圖圖14在沒有前置CAS功能時,對其他L-B

19、ank的尋址操作可能會因當(dāng)前行的CAS命令占用地址線而延后,并使數(shù)據(jù)I/O總線出現(xiàn)空閑,當(dāng)使用前置CAS后,消除了命令沖突并使數(shù)據(jù)I/O總線的利率提高。設(shè)置Posted CAS后,必須附加潛伏期以保證應(yīng)有延遲,此時讀取潛伏期(RL)就等于AL+CL。DDR-中CL最低值為3,最高為11,并且不再有x.5的設(shè)計,而AL值則為0,CL-1,CL-2。當(dāng)AL設(shè)為0時,前置CAS無效,即為傳統(tǒng)DDR模式的操作。Posted CAS其本質(zhì)就是將CAS信號的使能時間段(即RD AP命令)直接插入到緊跟RAS信號的使能時間段(即ACT命令)之后,雖然讀和寫操作并沒有得到提前,總的延遲時間也沒有發(fā)生改變,但引

20、入這種技術(shù)后,可以避免在多Bank操作中的一個Bank的CAS信號和其他Bank的RAS信號發(fā)生沖突,從而提高了存儲芯片的使用效率。二、DDR的測試EDEC(電子工程設(shè)計發(fā)展聯(lián)合協(xié)會)已經(jīng)明確規(guī)定存儲設(shè)備詳細(xì)測試要求,需要對抖動、定時和電氣信號質(zhì)量進(jìn)行驗證。測試參數(shù):如時鐘抖動、建立和保持時間、信號的過沖、信號的下沖、過渡電壓等列入了JEDEC為存儲器技術(shù)制定的測試規(guī)范。三、DDR DQS信號的處理    摘要  現(xiàn)在不論做主板設(shè)計或測試的工程師,還是做內(nèi)存或DDR芯片設(shè)計或測試的工程師都會面臨這樣一個問題:如何能夠分離出“

21、讀”和“寫”眼圖以發(fā)現(xiàn)有無信號品質(zhì)問題?因為簡單測試一段波形很難確定你的設(shè)計或產(chǎn)品是否滿足規(guī)范要求。而因為DDR的數(shù)據(jù)總線信號存在三態(tài),“讀”時序和“寫”時序不同的情況,我們很難直接用示波器把“讀”眼圖和“寫”眼圖分離出來。本文根據(jù)自己設(shè)計的DDR“讀”“寫”分離軟件,介紹一種把“讀”眼圖和“寫”眼圖分離開的方法,并創(chuàng)新地引入模板測試的方法。   DDR 1&2&3總線概覽   DDR全名為Double Data Rate SDRAM ,簡稱為DDR?,F(xiàn)在DDR技術(shù)已經(jīng)

22、發(fā)展到了DDR 3,理論上速度可以支持到1600MT/s。DDR總線走線數(shù)量多,速度快,操作復(fù)雜,探測困難,給測試和分析帶來了巨大的挑戰(zhàn)。   DDR本質(zhì)上不需要提高時鐘頻率就能加倍提高SDRAM的速度,它允許在時鐘的上升沿和下降沿讀出數(shù)據(jù),因而其速度是標(biāo)準(zhǔn)SDRAM的兩倍。至于地址與控制信號則與傳統(tǒng)SDRAM相同,仍在時鐘上升沿進(jìn)行數(shù)據(jù)判斷。   目前,許多計算機(jī)使用時鐘頻率為533MHz的DDR2內(nèi)存,更先進(jìn)的DDR2內(nèi)存正在日益普及,它的時鐘頻率在400 MHz-800 MHz之間,新的DDR3內(nèi)存

23、的時鐘頻率則可以工作在800MHz-16OOMHz之間。DDR3內(nèi)存芯片還有另外一個長處:更低的能耗,它的運行電壓是1.5伏,低于DDR2內(nèi)存芯片的1.8伏和DDR1內(nèi)存芯片的2.5伏。在使用電池的設(shè)備中能夠延長電池續(xù)航時間,因為能耗低,產(chǎn)生的熱量也就少,從而對冷卻的要求也就低一些。   DDR 2&3幾個新增特性的含義是:ODT( On Die Termination),DDR1 匹配放在主板上,DDR2&3把匹配直接設(shè)計到DRAM芯片內(nèi)部,用來改善信號品質(zhì)。OCD(Off Chip&#

24、160;Driver)是加強(qiáng)上下拉驅(qū)動的控制功能,通過減小DQS與/DQS(DQS是數(shù)據(jù)Strobe,源同步時鐘,數(shù)據(jù)的1和0由DQS作為時鐘來判斷) Skew(時滯)來增加信號的時序容限(Timing Margin)。Posted CAS是提高總線利用率的一種方法。AL(Additive Latency)技術(shù)是相對于外部CAS,內(nèi)部CAS執(zhí)行一定的延時。圖1是DDR總線的體系結(jié)構(gòu)。其中DQS是源同步時鐘,在接收端使用DQS來讀出相應(yīng)的數(shù)據(jù)DQ,上升沿和下降沿都有效。DDR1總線,DQS是單端信號,而DDR2&3, DQS則是差分信號。

25、DQS和DQ都是三態(tài)信號,在PCB走線上雙向傳輸,讀操作時,DQS信號的邊沿在時序上與DQ的信號邊沿處對齊,而寫操作時,DQS信號的邊沿在時序上與DQ信號的中心處對齊,參考圖2,這就給測試驗證帶來了巨大的挑戰(zhàn):把“讀”信號與“寫”信號分開是非常困難的!   圖2中,Addr/Cmd Bus意思是地址/命令總線,都是時鐘的上升沿有效,其中命令由:/CS(片選),/RAS, /CAS,/WE(寫使能)決定,比如:“讀”命令為:LHLH,“寫”命令為:LHLL等。操作命令很多,主要是NOP(空超作),Active(激活),Write,Read,Pre

26、charge (Bank關(guān)閉),Auto Refresh或Self Refresh(自動刷新或自刷新)等(細(xì)節(jié)請參考:Jedec規(guī)范JESD79)。Data Bus是數(shù)據(jù)總線,由DQS的上升沿和下降沿判斷數(shù)據(jù)DQ的0與1。   DDR 1&2&3總線的信號完整性測試   DDR總線PCB走線多,速度快,操作時序復(fù)雜,很容易出現(xiàn)失效問題,為此我們經(jīng)常用示波器進(jìn)行DDR總線的信號完整性測試和分析,通常的測試內(nèi)容包括: 1, 命令信號的波形和時序參數(shù):需要測試/RA

27、S,/CAS,/WE,/CS的信號品質(zhì),如Vmax(最大電壓值),Vmin(最小電壓值),Slew Rate(斜率),Ringback(回溝)等;還需要測試相對于時鐘邊沿的Setup Time(建立時間)和Hold Time(保持時間)。測試相對于時鐘邊沿的建立時間和保持時間時,需要注意參考電平的位置和最差情況波形的捕獲。如圖3的/CS建立時間和保持時間的測試就沒有測試出最差的建立時間和保持時間值,為此,我們需要用眼圖累積的方式設(shè)法找到最差情況下的建立時間和保持時間。   2, 地址信號的波形和時序參數(shù):測試內(nèi)容和測試方質(zhì)和相對于時鐘

28、邊沿的建立時間和保持時間的測試。 3,時鐘信號的波形和抖動參數(shù):測試建議用差分探頭。波形參數(shù)包括overshoot(過沖),undershoot(下沖),Slew Rate(斜率)或Rise Time(上升時間)和Fall Time(下降時間),高低時間和Duty Cycle(占空比失真)等。時鐘抖動一般只是測試Cycle-Cycle Jitter(周期到周期抖動),但是當(dāng)速率超過533MT/s的DDR2&3時,則測試內(nèi)容相當(dāng)多,不可忽略,下表1是DDR2 667的規(guī)范參數(shù)。這些抖動參數(shù)的測試需要用專用軟件實現(xiàn),比如

29、Agilent的N5413A DDR2時鐘表征工具。 4,速據(jù)信號的波形和時序參數(shù):DQS(源同步時鐘)和DQ(數(shù)據(jù))波形參數(shù)與命令地址測試類似,測試起來比較簡單,但是探測卻比較復(fù)雜和困難。DDR1,DQS是單端信號,可以用單端探頭測試,DDR2&3 DQS則是差分信號,建議用差分探頭測試,減小探測難度。DQS和DQ的時序關(guān)系,即相對的在不同操作條件下的建立時間和保持時間關(guān)系則非常復(fù)雜,分析比較困難,圖4是實際捕獲的DDR2 533 DQS和DQ的波形。從圖中可以看出DQS和DQ的三態(tài)(Tri-state)特征,讀數(shù)據(jù)(Read

30、0;Burst)和寫數(shù)據(jù)(Write Burst)的DQS和DQ的相對時序特征。在我們測試時,只是捕獲了這樣的波形,然后測試出在“讀”“寫”操作時的建立時間和保持時間參數(shù)是不夠的,因為數(shù)據(jù)碼型是變化的,猝發(fā)長度也是變化的,只測了幾個時序參數(shù)很難覆蓋各種情況,更難測出最差情況。很多工程師花了一周去測試DDR,仍然測不出問題的關(guān)鍵點就在此處。因此我們應(yīng)該用眼圖的方式去測試DDR的讀寫時序,確保反映整體時序情況和捕獲最差情況下的波形,最好能夠套用串行數(shù)據(jù)的分析方法,調(diào)用模板幫助判斷。      DDR 1&2&a

31、mp;3 “讀”“寫”眼圖測試   基于DDR“讀”“寫”信號相位不同的特征,本人設(shè)計了一個軟件進(jìn)行“讀”“寫”眼圖的測試分析,軟件使用VEE Pro 7.5設(shè)計界面,使用VEE Pro內(nèi)嵌的Matlab腳本分析數(shù)據(jù),基于規(guī)范的AC參數(shù)設(shè)計模板,幫助工程師進(jìn)行DDR信號完整性測試分析的最復(fù)雜部分即“讀” “寫”數(shù)據(jù)眼圖的測試分析。  圖5是軟件界面和分析結(jié)果的一個示例,上面兩福圖形是用戶界面。左邊的是離線分析軟件,用示波器同時采集DQS和DQ信號,并且存為*.CSV文件。采集時,采樣率設(shè)置為20

32、GSa/s,存儲深度設(shè)置為200k以上,確保捕獲足夠的數(shù)據(jù),同時被測系統(tǒng)運行大型的軟件或MemoryTest.exe工具(此內(nèi)存測試軟件能夠進(jìn)行內(nèi)存總線的加壓測試,一般做系統(tǒng)設(shè)計的或內(nèi)存設(shè)計的都有),以讓總線上有足夠多的數(shù)據(jù),來增加捕獲各種碼型和最差情況的可能性。離線軟件調(diào)用采集的波形,自動去掉三態(tài)數(shù)據(jù),把“讀”數(shù)據(jù)放在一起,把“寫”數(shù)據(jù)放在一起,基于DQS的有效邊沿(去掉預(yù)調(diào)整和后調(diào)整后的上升邊沿和下降邊沿),累積在一起形成眼圖,調(diào)用模板判斷信號的優(yōu)劣和是否滿足規(guī)范要求。   圖5右上圖是基于Agilent的DSO80000和54850系列示波器的在線實時分析軟

33、件界面。需要把軟件安裝在示波器內(nèi)部,或安裝在外部電腦上用LAN或GPIB到USB適配器(82357A)連接到示波器。示波器的通道1探測DQS,通道3探測DQ,被測系統(tǒng)上運行大型的軟件或MemoryTest.exe工具。在在線軟件上輸入想重復(fù)捕獲波形的次數(shù),然后按“starting”進(jìn)行實時數(shù)據(jù)的捕獲和實時眼圖的分析,軟件會控制示波器捕獲波形,然后分析數(shù)據(jù),形成眼圖,調(diào)用模板判斷信號是否滿足規(guī)范要求,然后重復(fù)下一次捕獲和分析,同時把新捕獲的波形累積到前面捕獲的波形上面。在線軟件執(zhí)行的算法與離線軟件類似,只是可以自動控制示波器,進(jìn)行波形的多次捕獲和分析,并同時把實時捕獲的波形的分析結(jié)果連同以前的結(jié)

34、果一同顯示出來。    圖5下面的兩個波形是實際的分析結(jié)果示例,分析的是DDR2 667,測試點是在DIMM內(nèi)存條上。對我們比較有意義的是左邊的“寫”眼圖,它反映的是信號從北橋發(fā)出,通過主板較長距離傳輸?shù)竭_(dá)DRAM接收芯片的波形,這是我們做系統(tǒng)設(shè)計和測試時需要得到的眼圖。右圖則是直接從DRAM芯片發(fā)出的信號的波形,因為測試點是在DIMM上,所以對我們只有參考價值:當(dāng)在北橋測試出時序問題時,通過此波形的觀察確定是主板設(shè)計的問題,還是DIMM或DRAM芯片本身的問題。如果測試點在北橋,則我們需要關(guān)注“讀”眼圖,而此時“寫”眼圖一般只有參考價值。&#

35、160;  這個DDR“讀”“寫”眼圖分析軟件的算法是什么呢?其實很簡單,如圖6所示,如果直接用DQS觸發(fā)DQ,則會形成比較亂的眼圖,但是中間又包括需要的信息,如圖中的紅色圓圈周圍的是“寫”眼圖信息,途中的黃色圓圈周圍則是“讀”眼圖信息。而眼圖之所以亂,是因為同時包括“三態(tài)”信號和“讀”“寫”信號,而“讀” 和“寫”信號的時序是矛盾的。使用 軟件進(jìn)行分離的處理比較容易:首先,扔掉三態(tài)信號,保留有用信息,軟件設(shè)計時,檢測DQS有效邊沿,離DQS有效邊沿較遠(yuǎn)的信號就是三態(tài)信號,扔掉它;然后,根據(jù)建立時間和保持時間的關(guān)系把“讀”信號和“寫”信號分成兩個數(shù)據(jù)庫;

36、最后,把“讀”信號數(shù)據(jù)庫按DQS有效邊沿放在一起形成眼圖,把“寫”信號數(shù)據(jù)庫按DQS有效邊沿放在一起形成眼圖,分別調(diào)用模板產(chǎn)生測試結(jié)果。    DDR 1&2&3 模板定義   DDR規(guī)范沒有定義模板,這給用眼圖方式分析信號時判斷信號是否滿足規(guī)范要求帶來挑戰(zhàn)。為了更容易判斷是否滿足規(guī)范的要求,像分析一般串行信號一樣分析“讀”“寫”眼圖,本人根據(jù)Jedec規(guī)范設(shè)計了“讀”“寫”模板。下面以定義“寫”眼圖模板為例,介紹一下模板的設(shè)計方法。   圖7是Jedec規(guī)范

37、上的時序和波形參數(shù),tDS是相對于DQS有效邊沿的建立時間,tDH是相對于DQS有效邊沿的保持時間,tDS相對于DQ的AC參數(shù),tDH則相對于DQ的DC參數(shù),不過為了測試方面的方便性,我們都可以用AC參數(shù)來定義tDS和tDH。tDS和tDH參數(shù)的測試是DDR的核心測試參數(shù)。    在Jedec規(guī)范上,我們可以查到各種速率的tDS和tDH 的規(guī)范值,比如DDR2 533,tDS 是100ps,tDH 是225ps。我們也可以查到各種速率的AC參數(shù)值,比如DDR2 533:   

38、 其中,VIH(ac)min是VIH(ac)規(guī)范的最小值,VIL(ac)max是VIL(ac)規(guī)范的最大值,Vref是參考電壓,對DDR1來說是1.25V,DDR2來說是0.9V,DDR3來說是0.75V。   基于tDS和tDH 和VIH(ac)min和VIL(ac)max參數(shù),我們可以得出DDR2 533“寫”眼圖的模板如圖8示。中間的紅色區(qū)域就是模板,Setup time是tDS建立時間,Hold time是tDH 保持時間,VIH(AC)是VIH(ac)min值,VIL(AC)是VIL(ac)ma

39、x值。中間的黃色線是DQS的有效邊沿即有效的上升沿或下降沿。四、 本小節(jié)以Micron 512 MDDR SDRAM MT46V32M16-75Z為例介紹DDR SDRAM訪問方式。 DDR SDRAM全稱Double Data Rate Synchronous Dynamic Random Access Memory,DDR SDRAM是一種同步DRAM,因此需要用戶提供時鐘信號,DDR SDRAM(以下簡稱DDR)需要用戶

40、提供一對差分的時鐘信號,其頻率范圍會在數(shù)據(jù)手冊中給出,MT46V32M16-75Z的時鐘頻率范圍為75133MHz,可接收的時鐘on占空比范圍為45%55%。DDR內(nèi)部架構(gòu)由bank、行、列構(gòu)成,MT46V32M16-75Z是一個容量為512M bit的DDR SDRAM,該芯片有4個bank,每個bank有8K行,每行有1K列,每一列有16個bit。DDR的對外用戶接口有時鐘及其使能信號、命令信號、地址信號和數(shù)據(jù)信號四類。表1后半以DDR為前綴的部分列出了DDR用戶接口信號及其簡要解釋。  DDR_CKE FPGA輸出 DDR

41、60;SDRAM clk enable signal, CKE HIGH activates and CKE LOW deactivates the DDR internal clock DDR_CK,  DDR_CK_N FPGA輸出 differential clock outputs for DDR SDRAM DDR_CS_N F

42、PGA輸出 Chip select signal for DDR SDRAM DDR_RAS_N  DDR_CAS_N   DDR_WE_N FPGA輸出 DDR_RAS_N , DDR_CAS_N , DDR_WE_N (along with DDR_CS_N) define the command being entered 

43、;to DDR SDRAM DDR_BA1:0  FPGA輸出 Bank address inputs for DDR SDRAM DDR_ADDR12:0 FPGA輸出 row or column address inputs for DDR SDRAM DDR_DQ15:0 雙向信號 Data input/output of 

44、;DDRSDRAM DDR_DQS1:0 雙向信號  Data strobe of DDR SDRAM DDR_DM1:0 FPGA輸出 output data mask of DDR SDRAM      MT46V32M16-75Z有四個bank,因此其bank地址總線BA為2位,每個bank有8K行,每行有1K列,因此其地址總線ADDR為13位(213=8K),又由于每列

45、有16bit,因此其數(shù)據(jù)DQ總線為16位,相應(yīng)的,數(shù)據(jù)同步信號DQS為2位(每一位DQS負(fù)責(zé)8位數(shù)據(jù)線)。這些信號都是以時鐘為參考信號,DDR會在差分時鐘輸入的正時鐘上升沿和負(fù)時鐘下降沿交點 處寄存所有的控制和地址輸入信號,而數(shù)據(jù)輸出(DQ、DQS)也是參考此交點輸出的。此外,CS為片選信號,與RAS_N、CAS_N、WE_N一起構(gòu)成DDR命令總線,根據(jù)命令總線狀態(tài)分辨DDR命令如表二所示。 表二:DDR命令 Name (Function)  CS_N  RAS_N  CAS_N WE_N

46、60; Address  不選擇DDR (NOP)  H  X  X  X  X  無操作 (NOP)  L  H  H  H  X  ACTIVE(打開行,ADDR提供行地址BA提供bank地址)  L  L  H  H

47、0; Bank/row  READ ( 讀 ADDR提供列地址BA提供bank地址) L  H  L  H  Bank/col  WRITE (寫 ADDR提供列地址BA提供bank地址) L  H  L  L  Bank/col  BURST TERMINATE(突發(fā)終止) L

48、  H  H  L  X  PRECHARGE (關(guān)閉bank)  L  L  H  L  Code  AUTO REFRESH or SELF REFRESH(自動刷新或自刷新) L  L  L  H  X  LOAD

49、 MODE REGISTER (寫模式寄存器) L  L  L  L  Op-code    DDR在讀寫某一個指定地址之前,需要“打開”相應(yīng)的行,而且每個bank同時只能有一個行打開。形象的說,一個4bank DDR 就像一個有著四個獨立單元的樓房一樣,樓房中有多個房間,而每個房間內(nèi)依次存放著多列的物品。每個單元相當(dāng)于一個bank,每個房間相當(dāng)于一個DDR行,這個樓房的每個單元只有一把鑰匙,這把鑰匙只能在所有房門都

50、關(guān)閉時打開任意一個房間的門,如果已經(jīng)有打開的房間了,在打開下一個房間時,必須先關(guān)閉已打開者,然后才能打開新的房間。  也就是說,如果我們想在第i單元的第j房間的第k列存放或者拿出物品,就必須先“打開”第i單元的第j房間,然后再到第k列存放或者拿出物品;而且,在打開時,需要保證第i單元沒有其他房間被打開,否則,需要先“關(guān)閉”其他已打開房間,再打開第j房間。這個“打開”就是DDR的ACTIVE命令,在ACTIVE命令的同時,需要由BA給出bank地址,并由ADDR給出行地址,而且需要保證打開的那個bank處于空閑狀態(tài)(就是說所有的行都關(guān)閉)。一個ACTIVE命令如圖4.1所示。

51、而“拿出”或“存放”物品則對應(yīng)DDR命令的“讀”、“寫”命令,這兩個命令都只能對已打開行,在進(jìn)行“讀”、“寫”時,由BA給出bank地址、由ADDR給出列地址,而在表2中可以看出,讀和寫由WE_N區(qū)別,圖4.2 、4.3分別給出了讀、寫命令時序。讀寫完畢后,如果不再需要操作該行時,需要“關(guān)閉”該bank,就是運行“PRECHARGE”命令,該命令時序見圖4.4,PRECHARGE命令實施時,如果地址總線的第十一位ADDR10為0,則表示關(guān)閉BA指定的bank,否則表示關(guān)閉所有bank。        圖4.1  ACTIVE命令       圖4.2 READ命令    圖4.3  WRITE命令       圖4.4 PRECHARGE命令  除了讀寫相關(guān)的命令之外,還有AUTO REFRESH(或SELF REFRESH)命令,這

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論