日期: 2006年10月30日
在設計流程中盡早識別潛在DFT問題
隨著晶片設計複雜程度的日益增加,半導體產業已經開始尋求更具成本效益的方式來應對高品質測試挑戰。近年來,
許多公司開始逐步擺脫對維修費用昂貴的內部測試工具的依賴,改用現成的商業自動化測試解決方案來進行測試合成和模式產生。
雖然這些EDA產品減輕了公司的負擔,使他們不必再開發和維護不屬於自身的關鍵核心能力專用功能,但這些產品功能往往
較為普通,以致於需要相當程度的定製改造,才能支援各種設計風格和測試方法。事實證明DFT規則檢查器像黏著劑一樣將
各方面結合在一起。讓我們看看為何會如此。
設計流程中的DFT規則檢查器
測試自動化的目的是為任何一個設計產生高品質的測試模式。為了在合理的運算約束條件下盡可能多地假設設計中
的缺陷,可透過設計分析和演算法應用產生測試模式。這就是所謂的自動測試模式產生(ATPG)。如果不透過各種方法修改
設計提高演算法可行性,ATPG很難取得理想的結果。事實上,為了克服目前ATPG技術本身的侷限性,對可測性設計(DFT)
進行修改是完全有必要的,如在一個設計中插入掃描鏈。從這一角度來看,DFT的設計規則檢查(DRC)的主要任務可說是僅
確保設計符合ATPG工具為保證高品質的結果所‘期望’滿足的最低條件集。
然而,設計團隊往往為滿足他們自己的需求而制訂另外的規則,由此形成的設計規則檢查與上述以ATPG為中心的規
則不同。設計師選擇測試方法,隨後確定設計約束,這樣商用的ATPG工具通常會得到很高的故障覆蓋率。他們可以擴展DRC
的範圍(但不一定必須)來檢查被測設計是否良好。
因此,設計師擴大了測試規則檢查器在整個設計流程中的使用範圍,以確保在設計網表上執行DRC之前滿足所有需
要的約束條件,以擷取ATPG所需的資訊。設計部門可能使用來自不同供應商以及內部的自動測試工具,所以經常會出現在
設計開始階段使用的DFT規則檢查器和簽核確認ATPG工具使用之DFT規則檢查器不一樣的情況。雖然簡單的規則檢查結果往
往與多個工具相關,但隨著壓縮技術、記憶體BIST技術、邏輯BIST技術或其它專門測試功能整合進設計之後,情況變得越來
越複雜。在這種情況下,在設計設立流程的所有階段調用相同的規則檢查器就變得越來越重要。在複雜的DFT實現過程中使
用不同的工具會增加製作測試程式的不可預測性,甚至導致設計過度修正。
DFT規則檢查類型
在一個典型IC製作流程的測試部份中,最花時間和精力的工作恐怕就是除錯DFT規則檢查違規了。可以斷定,一個典型
的EDA自動測試產品包中的任何測試工具的設計師都非常重視規則檢查器。奇怪的是,考慮到它們為設計機構帶來的高投資
回報率,現有的商用DFT規則檢查器從未得到過應有的重視。如今,這些工具通常能檢查數以百計的DFT規則違規,甚至能
自動改正其中許多違規行為。一般來說,DFT設計規則檢查器應做到:
1. 證實設計中存在正確的邏輯結構設計,在有違規時提醒設計者。
2. ATPG工具以後使用的數據構造賦值(例如,在沒有正確控制觸發器的情況下告訴ATPG工具,掃描移位後的觸發器狀
態未知)。
3. 可選的自動糾正某些DFT違規。
DFT規則可分為幾種不同類型:
1.針對測試模式產生的規則。ATPG工具假定組合設計是零延遲的,這會導致需要大量設計約束才能確保可預測的
高品質結果。
2.針對故障覆蓋的規則。這些基本規則需要保證設計所有邏輯部份的可控性和可觀測性。這些規則能夠以最大可能
的故障覆蓋率完成最終IC的測試。
3.針對測試方法的規則。根據測試方法的類型-掃描、邏輯BISTIDDQ測試、邊界掃描測試、壓縮等,需要執行許
多規則檢查以確保測試方法的成功實現或再使用。
4.系統單晶片再使用規則。採用更小模組製作的設計一般要求採用某些非強制性的DFT硬性規則。例如,一個層次
化模組的I/O埠接合可以將嵌入式環境和層次隔離開來,並使測試模式集的成功製作更具可測性。
5.針對測試環境的規則。ATPG工具製作的測試模式最終應用於測試設備(ATE設備)。必須事先考慮測試設備性能的
侷限性以確保測試模式能正常工作。
所有的DFT規則並不是同等重要的。對於IC的製作過程來說某些規則可能比其他規則更為重要,因此每一個規則都有
各自的重要性等級。設計師可以忽略不嚴重的違規,而不必擔心對設計測試作業或功能造成負面影響。
不難發現,為什麼目前在設計流程的大多數階段都採用DFT規則檢查器。事實上,早期的DRC能夠在RTL級發現問題。
這些問題越早解決,其對計劃進度的影響就越小。讓我們看幾個DFT規則檢查的例子。
DFT規則檢查舉例
本節的例子是用於測試的Synopsys公司Galaxy設計平台中DFT規則檢查的代表,它包括RTL和閘級DFT規則檢查和閘級
測試DRC違規的自動修復。該規則檢查器使用與晶片級ATPG簽核確認中相同的TetraMAX ATPG引擎。除了產生報告外,該測
試規則檢查器在Design Vision圖形用戶介面(GUI)中整合了DRC分析功能,如圖1所示。
圖1:Synopsys公司Design Vision DFT GUI可顯示RTL測試DRC違規和原理 
例1:組合反饋迴路
如圖2所示的主動或可敏化反饋迴路會降低ATPG能達到的故障覆蓋率,因為這增加了控制組成迴路的路徑值的難度。例如,
一個振盪迴路會導致ATPG和故障模擬出現嚴重的問題。如果一個設計包括可敏化的反饋迴路,那麼Synopsys公司的DFT規則檢查
器會產生如下的資訊:
消息#:透過源閘U1實現反饋路徑網路X的可敏化
圖2:高亮度顯示組合反饋迴路  圖3:時脈與暫存器輸入交互 
設計師可以透過在設計中加入測試約束來切斷這個迴路,因而從根本上撤消反饋迴路。DFT規則檢查器不應對由於設置約束
而引起的迴路中斷報告違規。如果反饋迴路在設計中被作為鎖存器,那麼設計師就需要利用ASIC供應商的庫把組成迴路的組合元件
轉換成等效的鎖存器。
例2:與暫存器輸入進行交互的時脈
如圖3所示,影響暫存器數據輸入的時脈可能會降低故障覆蓋率,因為一些ATPG工具在同一時刻只啟動一個時脈,其它所有
時脈都保持‘關閉’狀態。即使在此類限制不存在的時候,時序錯誤仍然可能產生,除非設計師能夠正確約束ATPG時脈。如果某個
時脈影響到了暫存器的數據,Synopsys公司的DFT規則檢查器將產生下列警報資訊:
消息#:時脈clk1連接至DFF U2的數據輸入(D)。
如果在帶不同時脈的多個觸發器上產生這種情況,就沒有可行的時序關係允許所有時脈被ATPG當成數據脈衝來擷取。
解決這個問題最安全的方法是正確配置饋入暫存器數據輸入的邏輯,因而消除對其它時脈的依賴性。
例3:饋入鎖存器和觸發器的多工時脈
為了將鎖存器作為掃描鏈的一部份,必須由一個時脈或任一個時脈和從時脈以外的源中獲取的數據進行運算,啟動該鎖存
器。多工時脈和閘控時脈必須經過‘或’運算才能使任意一個時脈都能擷取數據。因為ATPG工具通常在任一時刻只允許一個時脈工
作,因此能夠擷取數據並作為一個以上時脈結果的鎖存器必須能夠在一個時脈有效、其它時脈關閉的情況下擷取數據。
例如:如果某個設計中有個與(AND)閘有一個以上時脈輸入,那麼如果ATPG在任一時刻只啟動一個時脈的話,該與閘的輸出
就永遠也不會產生時脈脈衝。當一個或(OR)閘同時有時脈和數據輸入時,或閘的輸出時脈將包含取決於數據輸入的附加脈衝。這兩
種情況都可能違規,Synopsys公司的DFT規則檢查器會產生如下的警告資訊:
消息#:時脈clk1在其它時脈關閉時不能擷取數據
如果電路包含以下元件,設計師就可以為鎖存器製作有效的時脈閘控邏輯:
1.一個只帶一個時脈輸入和一個以上數據輸入的與閘。
2.一個帶時脈或閘控時脈輸入的或閘。
這些有效的時脈規則的組合如圖4所示。
圖4:有效的鎖存器時脈閘控 
例4:黑盒
如圖5所示,驅動黑盒或被黑盒驅動的邏輯是無法測試的,因為它不可觀測或不可控制。這種違規會大幅降低故障覆蓋率,
因為黑盒周圍的邏輯都是不可觀測或不可控制的。
圖5:黑盒對週邊邏輯的影響 
如果設計中存在任何的黑盒,Synopsys的DFT規則檢查器會發出如下警告:
警告:單元U0(黑盒)是未知的(黑盒),因為輸出接腳Z的功能有問題或不完整。
本文小結
DRC測試檢查的關鍵好處在於能在設計流程中盡早地識別出盡可能多的潛在DFT問題,因而盡量減少這些問題對計劃進度的
影響。測試規則檢查的範圍已經擴展到不僅僅檢查設計中需要符合基本ATPG需求的控制/觀察結構。如今,測試規則檢查包括涵蓋
設計測試所有方面的全面DRC,包括對DFT方法的一致性檢查以確保設計始終能夠獲得可預測的高故障覆蓋率。隨著越來越多的複
雜DFT方法(如晶片上掃描壓縮)的實現,需要在整個IC設計流程中強制執行統一的測試規則檢查.
事實上,由於投入到除錯DRC違規的工程資源比投入到可測性設計過程中任何其它階段中的都要多,目前更多的需求集中在
規則檢查器上。如今,最完善的設計規則檢查器能夠幫助設計者快速隔離並修正那些往往會造成計劃瓶頸的DFT問題的根源。例如
,圖6所示的Synopsys公司Design Vision GUI就包含了一個類比波形觀察器,可以用來幫助設計者更輕鬆地除錯複雜測試協議和初始
化序列。
由於越來越多的設計需要依賴於越來越複雜的測試協議,所以未來
幾年內DFT規則檢查將會繼續得到發展。為了滿足這些需求,自動
測試工具的供應商將更專業化的DFT規則集嵌入設計規則檢查器中
,並為設計師提供互動性和可定製程度更高的工具。
作者:Rohit Kapur,科學家
Chris Allsup,自動測試產品行銷經理
Synopsys公司
6Synopsys公司Design Vision DFT GUI顯示用於
除錯複雜測試協議的類比波形觀察器