由於邏輯內建自測試(LogicBIST)向量的隨機本質,使得採用LBIST的設計具有非隨機模式,從而導致較低的故障覆蓋範圍。為了解決這一問題,本文在測試點插入非隨機故障分析(RRFA)法。藉由故障模擬,完成LBIST設計的故障檢測能力運算,有助於估計「測試品質」(quality of test)。本文將就此進行更詳細的討論,同時介紹可為LBIST設計提高故障檢測能力的技術。

以LogicBIST定位故障

相較於更具確定性的生產掃描測試,採用LBIST的測試是一種偽隨機測試。在LBIST測試中的掃描向量是由偽隨機圖形產生器(PRPG)所產生的,PRPG主要用於產生偽隨機序列。而在生產掃描測試中,掃描向量由自動測試設備(ATE)確定性地饋送至掃描輸入。

由於LBIST測試的隨機特性,在設計中並沒有任何直接控制的掃描輸入被傳遞,所以並不一定都能測試出特定故障。當將LBIST建置於暫存器之間的高密度組合或大型組合路徑設計時,就會出現問題。這些設計可能成為非隨機圖形測試,在假定的隨機和機率相同的輸入被饋送到這一類設計時,意味著控制某些節點的機率任意為0或1,或在一個掃描暫存器觀察到某些節點的機率會降低。

以圖1中的AND閘為例,計算控制該閘輸出為「1」的機率。下圖顯示每一個節點得到「1」或「0」值的機率。公式為:P(1)/P(0)。

20160604 LBIST TA31P3 圖1:2個輸入和閘的可控制性

圖2表示當組合深度+1時,在不同節點得到「0」或「1」值的機率。在此組合區塊中的輸出得到「1」的機率為1/8。然而,這仍然是一個非常簡單的組合區塊,在實際設計中所看到的區塊更複雜。因此,隨著組合深度的增加,控制節點於特定值的能力隨之減弱。

20160604 LBIST TA31P4 圖2:2級深度組合邏輯的可控制性

當採用LBIST測試時,這樣的設計表現出非隨機圖形模式,並可能導致低故障覆蓋率。為了解決這些問題,經常使用測試點插入以提升設計的可測性。測試點可分為兩類:控制點和觀察點。

控制點增加某一特定節點被控制為「0」或「1」值的機率。圖3和圖4顯示了這兩種控制點:其中AND類型的控制點增加了將節點控制為「0」值的機率;而OR類型的控制點則提高了將節點控制為「1」值的機率。

20160604 LBIST TA31P1 圖3:AND類型的控制點提高「0」值的可控性

20160604 LBIST TA31P2 圖4:OR類型的控制點提高「1」值的可控性

觀察點讓設計中難以觀察的節點易於被某些掃描觸發器觀察到。當要觀察設計中的多個節點時,將這些節點進行互斥或(XOR)處理,並饋送到掃描觸發器。圖5是處理這種觀察點的建置。

20160604 LBIST TA31P5 圖5:觀察點

採用非隨機故障分析(RRFA)方法可確認測試點。在為少量隨機測試圖形進行故障模擬期間,可透過收集統計資料完成測試點確認任務。電路中每個訊號的可控制性和可觀測性測量作業,可以採用機率模型藉由測量增加覆蓋增益來計算並給出權重。根據故障模擬RRFA列出的資料分析,確認可能的插入測試點並將其分為控制0/1兩類或作為觀察點。

LogicBIST故障模擬

從故障檢測的角度來看,故障模擬是一種分析電路的重要工具/方法。故障模擬過程可模擬設計中的節點故障,以確定一組指定的測試向量可檢測出哪些故障。如前所述,藉由在隨機激勵或測試向量情況下分析節點的可控制性和可觀測性,RRFA可以使用故障模擬確定合適的插入測試點。

類似地,當設計插入LBIST時,為設計的移位和擷取步驟進行故障模指,可確定LBIST向量所涵蓋的故障類型。在此過程中的輸出就是故障覆蓋率報告和最終LBIST簽核(MISR),用以作為設計的預期響應。該故障模擬流程可加以修改,以取得不同的故障覆蓋率和簽核。

圖6顯示故障模擬流程,指定了系統的輸入及其輸出。改變輸入的影響以及如何使用輸出如上所述。

20160604 LBIST TA31P6 圖6:故障模擬流程:輸入和輸出

從輸入開始到故障模擬系統,我們將討論這些輸入如何對系統輸出產生影響。

首先,設計應符合LBIST規則,這意味著它應該是掃描密合(scan stitched)的,並對設計中的所有X源進行標記。X源是狀態不定且故障模擬系統未知的邏輯。X源包括LBIST化邏輯的非驅動輸入、類比模組輸出、三態匯流排與時序異常等類型。應該採用合適的X閉鎖機制封禁(blocked)這些X源。

系統的第二個輸入是PRPG SEED(種子)值。種子值決定將以怎樣的序列將移位資料饋送至設計。為了找到能實現最大覆蓋率的最佳種子值,可能要經過多次故障模擬,或者由故障模擬引擎本身計算最佳種子。

系統的第三個輸入是限制因素和移位擷取序列。MISR和故障檢測還取決於LBIST圖形數、設計的移位元長度、靜態限制以及所施加的擷取脈衝順序等。

20160604 LBIST TA31P7 圖7:影響故障覆蓋率的因素

在LBIST測試期間所執行的圖形越多,檢測到的故障也較多。通常,圖形的數量取決於應用案例。例如,在生產測試時,我們可能不會硬性限制圖形數量;但在現場自行檢測時,就必須要求元件得在一定時間內作出回應,使其得以在最短時間內同時實現圖形數最佳化與最大覆蓋率。

為了執行LBIST模式,故障模擬引擎必須在限制的環境下對設計進行設置。這些限制 被饋送到故障模擬引擎作為某一特定的測試設置,這些設置既可是靜態的也可因圖型而異。這些特定測試設置以及移位-擷取時脈序列,有助於故障模擬引擎模擬設計週期並計算最終MISR。

時脈的移位和擷取序列時脈既可採用硬線連接,也可以是LBIST控制器的可編程特性。這決定了不同時脈域的脈控方式。該序列對於故障檢測有重要影響,因此,為其進行最佳化也至關重要。對於最大的時脈域,則應嘗試施加最多數量的圖形。增加擷取深度的序列深度,也將提高覆蓋率,同時也有助於減少圖形數。

20160604 LBIST TA31P8 圖8:時脈移位與擷取序列

結論

對於軍事和汽車等關鍵應用所使用的元件,現場的LBIST測試至關重要。為了在最短的時間內達到最大的故障覆蓋率,測試目標應該嚴格選取。如前所述,LBIST控制器的故障檢測能力決定了測試品質和所需的時間,而且還取決於時脈序列、為PRPG智慧選擇種子、所添加的控制和觀測點數量等參數。為了實現最大覆蓋率、合適的分析與設計最佳化,以及採用本文中所討論的技術,必須有效管理你的LBIST測試。

(參考原文:Improving fault coverage for random-pattern-resistant designs,by Abhishek Mahajan)