SI-list中國DDR4測試
力科的DDR-Debug Toolkit是一個針對DDR信號測試和調試的通用工具,通過這個工具我們可以簡單地對DDR信號進行信號質量測試與評估,本文主要講解如何使用DDR-Debug Toolkit對DDR4信號進行測試,因為DDR的測試原理和方法都比較相近,所以裡面大部分的知識點對於其他的DDR信號也適用。
文中提到「DDR4」說明僅對於DDR4適用,如果提到的是「DDR」說明對所有DDR信號都適用。
測試需求:
測量DDR4信號有如下需求:
一台13GHz及以上帶寬示波器,滿足要求的有帶寬在13GHz以上的WaveMaster 8ZI以及LabMaster10ZI示波器。
3個以上13GHz帶寬的差分探頭,滿足要求的是LeCroy的WaveLink+D1330+焊接探頭前端,探頭及前端顏色為藍綠色
DDR4 Debug Toolkit 軟體選件,在Support->About菜單下查看儀器是否包含這個選件。
3個以上L2.92A-PLINK適配器(僅用於LabMaster,WaveMaster不需要)
測試準備
在測試之前,首先需要對通道進行校正
示波器在連接探頭之後,會出現通道基線不在0V的情況,如下圖所示的C3,我們需要選擇C3通道,點擊「D1330」按鈕,進入探頭設置界面。
點擊「AutoZero」按鈕,這時候基線會消失,示波器右下方會出現「Auto Zero」或者「Cablibration」之類的字樣,估計耗時10秒左右
校準完之後,基線恢復正常,並且處於0電平位置
測試之前需要保證各個通道的基線處於0V狀態
DDR測試也需要保證各個探頭之間沒有Skew,不同種類的探頭的電延時也不相同,會產生Skew,如果有Skew需要對探頭的延時進行校準,由於DDR4測試能夠使用到的探頭只有D1330這一種,同種探頭的延時可以忽略不計,所以在做DDR4測試的時候一般不太需要做探頭的De-Skew。
校正通道之後,將探頭連接到被測件上
如下圖所示,將差分探頭連接到被測設備上,C1接CLK,C2接DQS,C3接DQ,CLK和DQS都是差分信號,直接使用探頭的正負兩端連接信號的正負兩端,DQ信號是單端信號,C3正端接DQ,負端在DQ附近找一個GND。
有的晶元有多組CLK,DQS以及DQ 信號,需要連接同一組信號。例如DQS0對應的DQ0~DQ7,DQS1對應到DQ8~DQ15,在連接C3如果連接的是DQ0,則C2應該連接到DQS0。
現在很多DDR RAM都是使用BGA封裝,走線也有很多不是在表層,這種情況下建議使用RAM下面加入一個Interposer,將信號引出來,方便測試。
採集信號
做好測試準備之後,可以開始採集信號了,採集信號的時候需要注意以下幾點:
在採集波形的時候盡量讓波形佔據儀器量程的75%以上
CLK和DQS是差分信號,信號幅值一般是在2.4V左右的,可以將C1和C2垂直Scale設置為300~500mV/div,垂直Offset設置在0V
DQ是單端信垂直Scale號,信號的幅值在1.2V左右,可以將C3設置為150~250mV/div,垂直Offset設置為-600~-800mV
在測試的時候可以將C2(DQS)作為觸發源,觸發電平為0V,或者使用C3(DQ)作為觸發源,觸發電平設置為0.6~0.8V
測試的時候最好讓被測設備有大量的讀寫數據
下圖是捕獲到的DDR4的信號,有些時候焊接容易將探頭的正負兩端焊反,我們可以根據信號的情況來做一些判斷。
所有DDR的信號符合以下的特點,如果量測到的信號有差別請看一下探頭正負極是否接反了,另外需要注意的是測試點需要選取在要在距離晶元走線長度相同的位置,對於一般的FR4 PCB板來說,信號在板內的速率大概在5inch/ns左右,焊接點每10個mil的偏差會導致2ps的信號Skew,如果需要以過孔作為焊接點時一定需要注意。
CLK信號和DQS信號相位相同
在RAM附近測量,讀信號幅值比寫信號高
在CPU附近測量,讀信號幅值比寫信號低
讀信號,DQS和DQ信號是邊沿對齊
寫信號,DQS和DQ信號是中心對齊
讀信號,DQS前導信號是向下的
寫信號,DQS前導信號是向上的
按照上述的規則,我們可以看出下圖中捕獲的是一個DDR4的讀信號,而且CLK信號的極性是反向的,我們需要選擇C1,在右下角勾選Invert選項,對CLK信號進行反向。在測試點偏差太大的情況下,我們也可以通過Deskew來調節通道的延時,保證軟體能夠進行正常的讀寫分離,但是這個時候測量到的tDH/tDS等時序參數是沒有參考價值的,主要用來測電平。
DDR分析的時候需要有足量的讀寫信號,在測試DDR4的時候,建議使用40GS/s的採樣率捕獲4Mpts的波形,如果讀寫信號不是很充足的情況下,建議反覆使用「Single」,直到捕獲到合適的信號。
捕獲到信號之後,建議先測一下CLK的頻率,時鐘頻率×2就是DDR的速率,下圖所示的是一個DDR4-1600信號
測量分析
選擇Analysis→DDR Debug,進入DDR Debug設置菜單,DDR-Debug共有6頁菜單,其中第1頁是對通道和測測試信號的基本配置,第2頁是眼圖測試設置,第3頁是抖動測試設置,第4頁是DDR相關的參數測量的設置,第5頁是定量分析的設置,第6頁是Vref電平的配置。下面分別介紹DDR-Debug中各個選項的功能。
在「Protocol」處選則協議類型,在「Speed Grade」處選擇信號速率,默認設置是「DDR4」和「1600」,如果被測信號正好是DDR4-1600的話,請將「Speed Grade」先改成其他值,再設置成1600,否則無法進行讀寫分離;如果不是標準速率,也可以選擇「Custom」,在「Cumstom Speed」中輸入DDR的信號速率。
右側是對連接方式的定義,我們在一開始建議C1-CLK,C2-DQS,C3-DQ就是按照這個默認設置,如果連接方式不同我們也可以按照自己的連接方式來設置,信號的來源可以是通道、縮放、存儲的波形以及經過運算的波形。
在DDR的測試中,主要包括時序和電平,時序中比較重要的是DQS-DQ以及CLK-DSQ這兩組,其中DQS-DQ尤為重要,所以我們一般以DQ的讀寫信號作為第一個眼圖,以DQS作為第二個眼圖,以DQS作為參考,如果要測CLK-DQS這組信號的話,以DQS作為一個眼圖,CLK作為第二個眼圖,CLK作為參考。
DDR4在測試的時候需要設置Vref等電平,一般可以使用「Auto Calc Vref」來自動計算,也可以手動輸入,具體的值在第6頁「Custom Threshold」中設置。
勾選「Enable Eye Meas.」、「Show Eye」和「Show 2nd Eye」顯示眼圖,如下圖所示,綠色的就是我們選擇的第一個眼圖,黃色的是我們選擇的第二個眼圖,如果需要顯示眼圖模板,選擇「Show Mask」。
DDR Debug能夠同時進行4組測試,一般我們使用兩組,一組用於讀,一組用於寫,選擇Copy按鈕可以複製設置。
將View2的"Analysis Type"設置成「DQ-Read」,如下圖所示,View1測的是寫信號,View2測的是讀信號。
勾選「Enable Jitter Meas.」顯示抖動測試結果,可以看一下信號的抖動情況,需要注意的是,必須要有足夠多的讀寫波形才能進行抖動測試
DDR Debug Toolkit能同時測量12組測試數據
支持共15種測量參數類型
DDR4-Debug有些測量參數可以指定信號來源,如VL、VH等和電平相關的參數,可以CLK、DQS或者是DQ,有些參數信號來源是固定的,如tDS,這個參數是DQ相對DQS的Setup time,來源是固定的DQ和DQS。
測量可以顯示參數的最大值、最小值、平均值以及數目。
在Measurement Zoom區域選擇「Enable」可以對具體測試項的具體的測試信號進行放大
如圖中View1是指的我們前面所說的寫信號,如要對讀信號放大可以選擇View2;Measure選7是指的對第7個測試項放大,對應我們下圖所示的tDH;「Zoom to」可以選擇Max、Min、First和Last,分別找到當前測試項所對應的波形位置,如下圖所示的例子,tDH最大值所對應在第7906個測量波形
有時候在測DDR的時候會有一些不可抗拒因素產生的干擾,例如在SRAM附近測到的讀信號或多或少會有反射,這個基本上很難消除,讀信號眼圖如下。
下圖中黃圈所在的位置很有可能就是信號反射造成的結果,眼圖中間的橫線就是類似這樣的反射會造成的。
如果我們勾選了「include only first 8 bit」之後,眼圖質量有所好轉,至少橫在正中間的那個信號已經不在了。
"選擇 Ignore first 3bit"之後,眼圖質量以及很不錯了,這時候我們再去測量信號的時序,如tDS、tDH,就不會受到反射信號的干擾了。
當然,測量DDR的時候,最好是找到合適的測試點(靠近SRAM測試寫,靠近主控測試讀),這樣一般就不會出現反射的情況,這時候也用不到這個功能,如果實在是信號中有比較多的反射的話,就使用這個設置來濾除一些「差」的干擾信號吧。
測試點選取原則
最後再講一下DDR測試點選取的一般原則,即:測讀信號盡量靠近CPU,測量寫信號盡量靠近RAM。
一方面,考慮到走線對信號的衰減,我們一般希望在靠近晶元的接收側對信號進行量測,這樣,我們「看」到的信號和晶元「看」到的信號會更加接近。
另一方面,這樣也會減小反射。
探頭的接入或多或少會導致接入點的阻抗產生變化,原本100Ω左右的差分對走線在探頭連接處變成其他的值(例如50Ω),這樣信號會在這個點產生反射。
一般DDR的接收端阻抗的連續性沒有發送端好,所以信號在接收端也會產生反射。如果信號前進過程中兩個反射點離得比較遠,距離(單位為inch)>信號的上升時間(單位為ns),會對信號產生比較明顯的影響,如果量測到的信號在上升沿有回溝或者在信號高低電平中間有凹陷,這些都是多次反射造成的。建議探頭的連接點在DDR信號的接收端,能減少這樣多次反射帶來的影響。
SI-list【中國】微信群
限硬體高速設計,先加群主,需註明單位
SI-list【中國】公眾號
信號完整性與電源完整性研究
關於DesignCon
SI-list【中國】微信群及公眾號,專註於高速鏈路設計、信號完整性/電源完整性模擬、測試及驗證相關技術交流,經驗分享,由迪賽康科技(深圳)有限公司承建及管理。業務聯絡請掃描如下二維碼。
▼點這,詳細了解DesignCon