讀了Dan Strassberg在1988年發表的文章「新進工程師開始採用板級自動測試世代(Pioneering engineers begin to adopt board-level automatic test generation)」,讓我意識到,有兩個成功的可測試設計(Design-for-Test,DFT)相關規則,在30年前就被認為會和現代一樣是真實的。

1988-0317 DFT 200x280
Dan Strassberg 1988年發表的文章。



首先,執行適量的DFT相當重要。如果執行的太少,測試成本可能會增加,且將減少測試覆蓋率;若是你施加得太多,可能會導致不必要的區域重疊,並在設計進度上遭遇更大的打擊。本文所描述的,隨著ASIC的平均電晶體規模約為10,000閘,它很難再回來讓設計人員實現全掃描設計或其他DFT。維持在測試生成時間和在測試覆蓋率提高超過連續測試生成,並不足夠重大到去證明需要掃描額外10%的重疊區域。此種取捨得益於摩爾定律(Moore’s Low),到了90年代初期,ASIC的電晶體規模已數量級的增長,使得掃描設計成為必須。

接下來的測試範例在10年後出現,當掃描基於單獨的自動測試圖樣產生(Automatic test pattern generation,ATPG),再也無法跟上不斷成長的設計規模。ATPG壓縮在2000年初推出,且最初提供10倍測試圖案量和測試時間的降低,這些戲劇性的結果讓超過合理必要的解壓縮和壓縮器邏輯(compactor logic)加到設計中。

隨著今日1億或更多閘的設計出現,新的測試生成模式正在進行中。相對新的分層(hierarchical)ATPG壓縮方式打破測試生成問題,讓此問題變成更小的可管理部分,進到分層通常會導致在測試生成的時間和所需的運算記憶體資源,數量級指令的減少。

第二個成功的DFT規格是,你應該為每個應用程式選擇正確的DFT解決方案。舉例來說,Strassberg在他的文章中解釋,有一種強烈的磁阻(reluctance)施加掃描到主板,許多非掃描元件須被替換或添加額外掃描元件。

第二個DFT規則更新的例子是是ATPG和邏輯內置自檢(Build-In Self Test,BIST)之間的長期鬥爭。這兩種解決方案各有優缺點,具體來說,邏輯BIST有無須任何測試生成時間的顯著優勢,且不要求在測試器上任何圖案(pattern)儲存。然而,針對邏輯BIST的工作設計,不會有何的X-狀態(X-states),且你通常必須添加大量的測試點到設計中,以確保高故障覆蓋率。

這一切都始於1年前汽車設計的爆炸性增長改變。汽車ISO 26262標準中規定的可靠性驅動在系統測試要求,推動邏輯BIST迅速和廣泛的採用,雖然使用邏輯BIST的強制性沒有實質的變化,汽車的要求已經改變了公平的競爭環境,並提出DFT解決方案必須具備的能力。

當Alphonse Karr在兩百年前說出一句名言,「有越多事物變化,他們就越保持不變」。就像大多數的技術,DFT不斷的發展,然而,無論選擇使用何種DFT解決方案,總是需要一番深思熟慮。