測試復雜的多總線SoC器件
使用多個復雜的總線已經成為系統級芯片(SoC)器件的標準,這種總線結構的使用使測試工程師面臨處理多個時鐘域問題的挑戰。早期器件的測試中,工程師可以依賴某些自動化測試設備(ATE)的雙時域能力測試相對簡單的總線結構。
目前測試工程師面臨更復雜的SoC器件,這些器件反應了越來越多使用多個高速總線結構的趨勢。使用有效的技術和下一代測試系統,如Credence(科利登)的Octet,測試工程師能夠成功地管理與復雜SoC器件(如北橋器件)中多總線結構相關的獨立時鐘域。通過掌握ATE的能力,測試開發過程中,測試工程師能夠開發出更有效的解決方案,加速這些復雜器件的面市時間。多總線結構傳統地被認為是最大化系統生產力成本效益的方法,尤其在高度集成的制造工藝被廣泛使用之前的處理器設計中,因為那時無法生產成本效益較高的片上高速緩存。早期的微處理器使用簡單的總線結構,只有兩組總線,每組總線有自己的時鐘域。在這些器件中,兩個時鐘域間有簡單的倍數關系:例如后向高速緩存總線的工作速率是前端總線的兩倍。盡管這些器件可以采用與傳統ATE原理相同的方法測試,工程師發現,實際上時序設置資源將被耗盡,很多向量無法運行在那些測試系統上。對于更復雜的時鐘域應用,測試工程師可以利用流行的技術,使用雙時域ATE系統測試這些器件。
多時鐘域器件
測試這些早期器件充滿了挑戰性。目前,測試工程師必須處理包含多個工作在獨立時鐘域下的高速總線。同時這些器件的應用需求要求總線結構本身必須進行改變。隨著早期的并行總線變得越來越寬,越來越快,設計者面對不斷增加的困難,包括管理越來越多的數據和與并行總線設計中使用的常用系統時鐘相關的時鐘延遲。在這些情況下,不可能進行簡單的通過/失效(pass/fail)功能測試,因為時鐘延遲會引入足夠的變化,使本來固定的測試向量有非確定性。最近出現的源同步串行結構為設計者提供了獲得高速數據傳輸率的替換方法,這種方法不會引入與高速并行總線有關的延遲問題。該方法中,接收器件將發送器件發出的時鐘和數據一同取出。
為了測試這些多時鐘域總線和較新的異步串行總線,工程師需要一種測試系統,這種系統可以盡可能地模擬器件,最終對其進行測試。這叫做原型模式測試(見圖1)。 在原型模式下進行測試,可以改進總的失效覆蓋率和器件診斷,因為可以獨立改變任一總線和保持其它總線的運行速度。具備這個能力還可以改進測試時間,因為時間設置不需要改變,且測試向量/時序較容易開發。
為了滿足快速變化的消費者需求,先進的器件,如用于個人計算機系統的北橋和南橋器件,現在包括兩個以上的時鐘域,更復雜的是還包括數據速率超過400Mb/s的高速串行總線。北橋和南橋是傳統個人計算機結構中的兩個關鍵器件。南橋處理系統I/O功能,北橋負責系統處理器、圖形子系統、存儲器和PCI 夾層總線間的高速通信。
復雜IC(如北橋器件)的特點是能夠完全獨立操作的高速總線,所以測試必須支持獨立的周期長度和有獨立循環和匹配循環功能的時序設置。
例如,圖2中北橋器件有三個獨立的時域,三個時域間速率沒有整數關系。本例中3ns時域產生了問題。通過時序設置切換,這個時鐘域的時序可以被強行轉換為1.875ns時序周期。測試工程師也可以將器件的測試向量拆分為一個3ns時域和一個1.875ns時域,在兩個獨立的時間基礎下同時運行兩個向量。圖2描述了測試中需要支持的多種總線速度關系的一種。這些總線可以在測試過程中改變它們之間的速度關系:某些情況下,一組總線與其它總線速率是非整數關系,另外一些情況下,其它總線又成為問題,增加了多時域器件中的時域。
早期的ATE結構通常只支持單一的高速時序發生,但是下一代測試系統,如Credence的Octet和Quartet,十多年前就可以支持四個或更多的域。使用先進的多時域系統,如Octet提供的工具和特性,測試工程師能夠進行成本效益較高的測試,可以滿足復雜多時域IC,如北橋器件的測試需求。
測試開發
處理這種復雜度的器件,測試開發必須對被測器件有廣泛的了解。通常,復雜器件被送到測試部門而沒有足夠的來自設計部門的器件數據,測試工程師要將器件返還給工程部門,取得所需的數據。過去,測試工程師只需要知道電源引腳和地引腳的位置,I/O引腳的分配則可以任意進行。快速總線器件出現后,工程師發現他們必須對測試系統資源做特殊分配,以管理這些高速總線。將來,PCI高速總線和其它源同步總線(SSB)要分配特殊的測試系統通道資源,達到既可以支持傳統數字測試功能,又能支持新的用于測試SSB的測試功能,如抖動發生/探測,偽隨機位數據流的發生和捕獲,以及時鐘恢復功能。隨著數據速率不斷增加,測試工程師需要更細致的關于被測器件的數據,以設計出合適的測試結構和過程。隨著這些器件的數據速率超過幾百Mb/s,測試設置變得更加關鍵,需要對結構設計更加小心。工程師必須保證差分路徑長度和阻抗的匹配,并盡可能地使用高質量的器件。如果沒有認真地考慮這些問題,工程師會發現,導致測試失效的原因是不合適的負載板設計和信號路徑,而不是器件本身的失效。沒有關于被測器件全面的信息,工程師不能保證可以對來自設計部門的所有測試向量進行測試。一組總線的工作速度可能高于設計速度,這將導致芯片的重加工。而低速設計中,任何ATE的輸入/輸出引腳可以分配給任一DUT輸入/輸出引腳,所以不用考慮這些問題。以前關于被測器件的信息可以在開發測試結構的同時進行了解,而今天理解被測器件則有必要在開發之前進行。如果工程師沒有足夠關于被測器件的信息,不僅會增加負載板重設計加工的風險(通常加工這些負載板需要15000-30000美元),同時也無法滿足客戶緊迫的產品開發進度。所以,進行結構布局之前,測試工程師應該盡可能多地收集有關器件總線功能的信息,包括總線標準和從CAD部門了解器件中使用總線的特性。
通過比較設計部門提供的數據和公開發表的標準,測試工程師能夠對被測器件總體的信息和特定時鐘域的特殊性有更好的了解。有了這些信息,測試工程隊伍能夠掌握器件的關鍵特性,包括獨立時鐘域的數量;每個時鐘域的最高頻率;每個時鐘域的管腳數;最小電壓擺幅;差分信號;端接。
多時鐘域測試方法
如圖2 所示,北橋部分電路的特點是有多種總線,若對這部分進行測試,需要將獨立時鐘域限制在一定的數量。這些總線由內部鎖相環定時,內部鎖相環使用頻率較低的時鐘作為參考時鐘。前端總線(FSB)的時鐘頻率為133MHz,但數據可能以四倍于這個速率的頻率傳輸。這個例子中,AGP的時鐘是66MHz,但內部鎖相環將該時鐘8倍頻后獲得533MHz的頻率。“Quad Pumped”是另一種表達方式,說明數據由一個內部時鐘定時,這個時鐘頻率是主時鐘的三倍。
北橋電路中,盡管多個不同的時鐘可以歸為同一時鐘域,但是DCLKIN引腳(存儲器時鐘)無法與支持其它時鐘的測試周期保持整數倍的關系。為了處理這種不同步的波形,支持時序設置的測試系統能夠提供在連續的向量中進行不同時序沿放置的能力。例如,測試向量發生軟件能夠生成八個時序設置的重復向量,該向量可以在測試系統中進行復制。
在SoC測試系統中,如Octet, 測試工程師可以較容易地支持多個時序設置。而使用早期的ATE,測試工程師發現支持較高頻率方面會受到限制,或者ATE根本不支持任何時序設置。
通常,測試工程師可以從兩個常用的方案中任選一個來處理多時鐘域問題:使用單一測試系統周期或多個測試系統周期。
?單一的測試系統周期。這種方法中,測試向量利用時序設置減少時鐘域關系。這種方法的好處是測試結構布局不依賴具體器件;缺點是所有被鎖定的時鐘頻率必須為某個基本時鐘的倍數,測試工程師不能對每個總線獨立進行頻率參數的shmoo調試。而且這種方法可能會耗盡所用ATE的時序設置/時序沿存儲器資源,一旦這種情況發生,測試向量必須重新仿真生成,才能保證所有的時鐘和數據速率是整數倍關系。
?多個測試系統周期。這種方法中,測試向量被拆分為多個向量,每個向量是以不同的測試周期仿真生成的。這種方法對時序設置資源的要求較低,允許不同時域的獨立編程。而另一方面,這種方法對測試板結構有依賴性,且CAD到測試的過程更復雜,需要合適的ATE軟件支持。
最理想的是同時使用兩種方法,測試工程師可以靈活的進行時域調試,但同時也增加了測試向量的處理工作。
將測試向量轉換為符合測試系統周期標準的過程叫做“周期化”。典型的測試向量發生工具不作特殊定義,會生成有單一時域的向量,但很多較老ATE平臺的時序設置資源有限,這樣生成的向量無法在這種測試系統上運行或必須降低測試頻率。采用多測試系統周期生成向量會更困難,但測試工程師可以在不同測試速度下只對一部分I/O進行處理。測試過程中不同的向量組被加載并獨立地運行。如果對引腳的排列不作特殊設定,則很難分辯用于不同時鐘域的引腳。這種情況下可以使用腳本程序將向量文件中的引腳按不同的總線分組以便于檢驗。不同的ATE在支持時鐘域數量和每個時鐘域可包含引腳數方面有不同的限制。所以,工程師在設計測試結構前理解器件時鐘域的要求非常重要。
測試系統問題
除了了解被測器件的特性,測試工程師要有效地使用多時鐘域測試方法理解所有測試系統的能力同樣重要。除知道測試系統支持的時域數量外,工程師還需要理解時序設置資源和高頻限制。高速測試中的關鍵問題是環路延遲(RTD)。
RTD是信號從測試系統的PE卡驅動電路將信號傳輸到DUT,再從DUT返回PE卡所用的時間。測試過程中,測試系統將信號傳輸到DUT的路徑長度延長了器件有效的引腳間延時。Octet測試系統的特點之一是信號傳輸路徑非常短,但是對多數ATE來說,信號從PE卡傳送到DUT的距離都大于器件實際應用中與系統其它組成器件間的通訊距離。即使從測試接口板到DUT間的距離很短,還要考慮到測試頭內部彈簧針到PE卡驅動器的距離。
盡管ATE的PE卡中對RTD做了補償,但如果測試向量中編程的信號狀態轉換時間小于信號從PE卡傳送到DUT所需的時間,就可能出現問題,因為這時測試系統試圖在器件狀態轉換的同時對器件輸出進行采樣。這種情況下ATE的采用對象是PE驅動器而不是DUT。當器件工作在120Mb/s(周期為8.3ns)速率以上時,對于沒有死態或等待狀態的引腳輸出到輸入狀態的轉換,RTD會引起問題。120Mb/s的數據傳輸速率考慮了可能的數據建立/保持和傳輸延遲因素,如果數據不為零,這些因素會將時鐘和數據關系復雜化。
測試工程師可以使用不同的方法處理RTD問題。一種方法是,仿真的時候為器件引腳從輸出到輸入狀態轉換設定足夠的時間。考慮到RTD因素,這一時間通常需延長2~6ns,具體的時間由不同的ATE特性決定。另一種方法包括當引腳從輸出狀態到輸入狀態轉換時,不對輸出周期進行采樣,但這種方法會減小錯誤覆蓋率。一個更有效的方法是使用“fly-by”端接,這是一種消除RTD的方法。“fly-by”技術使用測試系統兩個引腳:一個用于驅動數據,另一個用于讀取數據。除了消除RTD,這種方法還可以使測試工程師能夠使用被測器件的測試板驗證測試系統的時序精度。
使用測試系統軟件提供的示波器工具,“fly-by”技術還可以提供干凈的波形。
實際上結合shmoo圖等工具,ATE示波器檢驗可以為測試工程師提供驗證測試設置功能的工具。通過仔細檢驗示波器數據,測試工程師可以更好的理解到達DUT的信號。實際上高速測試中,測試工程師有理由懷疑任何沒有經過示波器檢驗的輸入DUT的波形。同時示波器的質量決定測量波形的質量。■
評論