1. DDR概述
如今,存儲器件在計算機、汽車與消費電子產品上可謂無所不在。其中DDR SDRAM(雙數(shù)據(jù)率同步動態(tài)隨機存取存儲器)是最常用的存儲器設計技術之一,而隨著該技術的發(fā)展,其傳輸速率在日益加快,功耗在日益降低。
傳輸速度加快使得此類存儲器的驗證難度呈指數(shù)上升。存儲系統(tǒng)要準確工作,其信號完整性必須滿足某種最低要求。因為信號完整性對系統(tǒng)互通性而言非常關鍵,或者說只有保持信號完整性才能保證不同廠商生產的器件在一起使用時能夠很好地結合。信號完整性問題會引發(fā)包括時序沖突、協(xié)議背離、時鐘抖動以及由其他總線引發(fā)的錯誤等其它問題。本文介紹了DDR信號的測量方法,DDR信號驗證中面臨的挑戰(zhàn),并針對其調試方法給出了相關建議。文中提到的方法適用于DDR、DDR2、 DDR3 和 SDRAM這一類全緩沖的DIMM系統(tǒng)調試。為簡單起見,這些內存技術在下文中統(tǒng)稱為DDR。
2.測量方法
JEDEC規(guī)范定義了DRAM的引腳或球必須滿足的電氣與定時方面的要求。一些較新的DDR DRAM采用了精細球柵陣列(FBGA)封裝,此封裝下的焊接球很難接觸。因此,我們建議測量時,探頭應盡可能接近DRAM的球狀焊點。通常,我們可以在與焊接球相連的過孔上或與其相連的電阻靠近DRAM一側的焊盤上測量。
目前最高級的差分有源電壓探頭能在探頭頂端容性負載低于0.22pF的情況下達到高達13GHz的測量帶寬。此類工具對DDR信號(通常為單端信號)的影響非常小,很適合DDR測量,強烈建議大家使用。由于DDR信號對噪聲非常敏感,因此建議在測量此類信號時采用帶寬足夠大的示波器,以避免示波器的噪聲影響測量。有些示波器具備帶寬壓縮功能,能調節(jié)至恰好適合測量的帶寬,以實現(xiàn)最精確和可重復的測量。圖1所示為13 GHz差分有源探頭連接到DDR2 DIMM的過孔上的情形。
3.信號驗證所面臨的挑戰(zhàn)
同一根數(shù)據(jù)總線上的DDR數(shù)據(jù)傳輸是雙向的。這使DDR信號驗證變得非常困難,因為我們首先必須分離數(shù)據(jù)總線上復雜的數(shù)據(jù)流才能對其進行信號完整性測量。而要想獨立分析(由存儲控制器和DDR芯片驅動的)信號完整性和定時關系,也必須分離數(shù)據(jù)流。
在探頭和數(shù)據(jù)總線上存在三種狀態(tài),讀操作(輸出信號)、寫操作(輸入信號)和高阻(空閑狀態(tài))。8條數(shù)據(jù)總線構成一個數(shù)據(jù)群,這個數(shù)據(jù)群與一個選通信號實現(xiàn)源同步。讀信號與寫信號之間有一個重要差異:寫信號與選通信號的邊沿有90度相差,而讀信號與選通信號的邊沿是對齊的。
由于DDR信令比較復雜,因此為了能快速測試、調試和解決信號上的問題,我們希望能簡單地分離讀/寫比特。此時,最常用的是通過眼圖分析來幫助檢查DDR信號是否滿足電壓、定時和抖動方面的要求。
圖1:13 GHz差分有源電壓探頭連接到DDR2 DIMM的過孔上。
3.1 利用前導寬度觸發(fā)器分離讀/寫信號
我們可以利用讀/寫前導的寬度來觸發(fā)示波器,實現(xiàn)讀/寫信號分離。根據(jù)JEDEC規(guī)范,讀前導的寬度為0.9到1.1個時鐘周期,而寫前導的寬度規(guī)定為大于0.35個時鐘周期,沒有上限。于是,我們在設置觸發(fā)條件之前,首先要確定讀/寫前導的寬度。由于讀前導和寫前導各自有不同的寬度,因此可利用這一點分離讀出的數(shù)據(jù)和寫入的數(shù)據(jù)。
但這種方法在使用過程中也存在問題。首先,JEDEC規(guī)范中對前導寬度的定義比較松散,而且不同ASIC/DRAM廠商在這方面的定義也不盡相同。此外,由于寫前導的上限沒有定義,因此它也有可能與讀前導寬度相同,而如果二者的值過于接近,那么要想分離讀信號與寫信號就十分困難了。
第二,如果寫前導的寬度為0.5個時鐘周期,與一個數(shù)據(jù)比特的寬度相當,那么硬件觸發(fā)器就無法區(qū)分寫前導比特與正常數(shù)據(jù)比特。
第三,隨著DDR數(shù)據(jù)率變高,時鐘周期將變得越來越窄。而隨著時鐘周期變窄,寫信號的前導寬度也會大幅縮小。以DDR3-1600為例,其最小前導寬度只有大約200ps。示波器的硬件觸發(fā)器有可能無法被如此窄的脈寬觸發(fā)。
3.2 利用更大的信號幅度觸發(fā)方法分離讀/寫信號
通常,讀/寫信號的信號幅度是不同的,因此我們可以通過在更大的信號幅度上觸發(fā)示波器來實現(xiàn)兩者的分離。然而,幅度更大的信號并不一定是讀信號或是寫信號,因此,我們雖然可以區(qū)分幅度更大的信號,但卻無法控制所分析的是讀信號還是寫信號。當讀/寫信號幅度接近時則會發(fā)生類似的問題。
圖2:利用DQS信號的前導位觸發(fā)來分離讀/寫信號。
圖3:利用MSO實現(xiàn)控制信號觸發(fā)并分離讀/寫信號。
圖4:解碼表。總線1為指令,總線2為控制總線和信號總線上傳送的數(shù)據(jù)。
3.3 有限的示波器通道問題
在進行DDR測量時至少需要5到6個示波器通道,因此示波器通道有限這一事實會大大降低測量效率。至少需要3個通道才能保證控制信號能在讀操作或寫操作時被觸發(fā),而時鐘信號、選通信號和數(shù)據(jù)信號又另外需要3個通道。時鐘信號、選通信號和數(shù)據(jù)信號之間的定時關系在JEDEC規(guī)范中十分重要,必須用3個探頭同時測量這三個信號才能檢查它們之間的定時關系是否符合規(guī)范。
4. 克服DDR信號驗證挑戰(zhàn)的建議
新型示波器為我們解決當前DDR信號驗證方法中存在的問題提供了新的方法。
4.1 利用混合信號示波器(MSO)分離讀/寫周期并進行協(xié)議解碼
DDR信號由一系列控制信號線組成,將這些控制信號連接到MSO的數(shù)字輸入口,就可以讓示波器在不同的工作狀態(tài)(讀、寫等)下觸發(fā)。每種狀態(tài)下不同控制信號線都有各自的標識。因此,將示波器設置為在讀操作或寫操作上觸發(fā)后,我們就可以觀察此時連接到示波器模擬輸入通道的選通信號和數(shù)據(jù)信號。
MSO示波器還有一個功能,就是幫助進行協(xié)議解碼和分析定時沖突。MSO往往具備用戶可配置的總線解碼功能,因此可以輸入某種操作的解碼,這種解碼就代表了執(zhí)行該操作時總線上的數(shù)據(jù)。通過將控制信號集中到一條總線上,MSO還可以在信號傳輸過程中解碼DDR操作,因此無需再對操作進行人工解碼。
MSO還允許將數(shù)字信號集中到4條不同的總線上,然后從解碼表中讀取總線信息。解碼表上顯示了每條總線上的數(shù)據(jù),如果在配置表中定義了解碼規(guī)則,解碼表上還會顯示解碼后的信息。利用這一功能,我們可以將控制信號和數(shù)據(jù)信號集中到2條總線上,控制總線顯示目前進行的DDR操作,數(shù)據(jù)總線則顯示正在傳輸?shù)臄?shù)據(jù)。當我們需要對每種操作狀態(tài)下的DDR協(xié)議沖突或定時沖突進行調試時,這一功能非常有用。
總的來說,MSO對DDR信號驗證和調試而言是十分完美的一種解決方案。但由于MSO的模擬帶寬往往較低,因此只適合DDR1或較慢的DDR2信號測量。
4.2 區(qū)域觸發(fā)功能使DDR驗證變得更輕松
區(qū)域觸發(fā)允許我們在示波器屏幕上選定并繪制一個區(qū)域以直觀地確定觸發(fā)事件的識別條件。利用區(qū)域觸發(fā)功能,我們可以根據(jù)信號波形是否與選定的區(qū)域有交叉來跟蹤我們感興趣的信號。
圖5:寫信號成功地從復雜的讀/寫波形中分離出來。
圖5中所示為示波器在無限保持模式下測量得到的一個獨特的讀/寫信號波形。$的是DQS信號,綠色的是DQ信號。當示波器設置為在DQS信號上觸發(fā)時,DQ波形顯示,讀/寫信號波形相互重疊。因此,如果能夠在有特點的波形上設置恰當?shù)挠|發(fā)區(qū)域,我們就能利用區(qū)域觸發(fā)功能輕松地分離讀/寫波形。至于如何使用區(qū)域觸發(fā)方法來分離讀/寫信號,并沒有確切的規(guī)定,而應根據(jù)信號特點決定。
有了這種區(qū)域觸發(fā)功能,驗證DDR信號是否符合JEDEC規(guī)范就不再需要超過4個示波器通道了。
5. 本文小結
隨著DDR存儲技術的不斷發(fā)展,DDR信號的完整性問題也日益突出。要想在測量中得到最佳結果,必須采用恰當?shù)臏y量方法。本文所建議的利用MSO分離讀/寫周期并進行協(xié)議解碼,以及利用區(qū)域觸發(fā)功能分離讀/寫信號的方法在解決DDR信號完整性測量中的問題時,一定會給大家?guī)砗艽髱椭?br />