這大大提高了測試要求,不僅要求對電路邏輯缺陷進行測試并且要求設計者能對時序缺陷進行測試。因此為了提高測試質量和滿足時序測試的要求,必須在額定時鐘速度下施加測試矢量并觀察響應,即進行全速(at-speed)測試。
1 轉換故障、路徑延遲故障的模型以及測試矢量生成
進行全速測試,首先是要選擇測試時針對的故障模型,常用的全速測試模型有轉換故障模型和路徑延遲故障模型兩種。
轉換故障是指電路中的缺陷使單條連線上傳播的信號變慢,信號變慢又分慢上升和慢下降兩種。轉換故障的測試矢量為測試矢量對。測試矢量對由以下兩步產生:假設電路中某節點存在一個由低到高的轉換故障,首先生成測試矢量V2,V2能將該連線的邏輯值置為1同時將連線上的邏輯值傳遞到掃描路徑;接下來生成測試矢量V1,V1能將該連線的邏輯值置為0。隨后在測試過程中步先施加V1初始化連線狀態,第二步是施加V2,使得連線上產生一個由低到高的轉變,第三步是捕獲這個轉變。轉換故障的測試矢量主要是針對大的延遲量的局部點延遲缺陷。
路徑延遲故障,即當電路路徑中延遲缺陷引起的組合路徑延遲積累到超過規定的時間,無法按時完成邏輯功能,故障就產生了。路徑延遲故障的測試矢量同樣為測試矢量對。假設電路中存在一個由高到低的路徑延遲故障,測試矢量對(V1,V2)必須能夠在該路徑的輸入端產生高到低的轉變,同時能夠敏化該路徑使得輸入端的轉變傳遞到路徑的輸出端。根據是否考慮存在其他路徑延遲故障,路徑延遲故障的測試矢量可以分為強健和非強健兩種。非強健測試矢量只有在沒有其他路徑延遲故障存在的情況下才能確保路徑延遲故障;而強健測試矢量則能確保檢測出路徑延遲故障,與電路的延遲分布無關。顯然,在測試矢量的路徑敏化過程中,強健測試矢量對路徑外信號的取值以及電路本身的結構要求更高,這增加了測試矢量生成的難度。值得注意的是,上述測試矢量V1和V2未必是單個測試矢量也可以是測試序列。
由于在電路中路徑數有可能非常多,因此對所有路徑進行測試是不可實現同時也是不必要的。因此,路徑延遲故障的測試矢量生成只針對少量的關鍵路徑進行,而關鍵路徑可以通過靜態時序分析得到。即使是這樣,根據一些研究表明路徑延遲測試的覆蓋率一般還是比較低的。
2掃描測試介紹
掃描測試是一種利用ATPG進行測試矢量生成的結構測試方法,他將時序電路中的寄存器轉化成如圖1所示的掃描寄存器。
3全速測試方式
全速測試就是基于以上邏輯結構建立起來的,如圖2所示,測試向量從掃描寄存器中輸入,組合電路以及掃描寄存器的輸出就是測試結果。用于全速測試的轉換故障以及路徑延遲故障的測試矢量的測試方式大致可以采用如下2種時序模式:扭曲負載延遲模式和寬邊延遲模式。兩者的區別從原理上講在于V2的提供方式不一樣,前者是通過施加一位數據移入掃描寄存器中獲得的;后者則是從基本輸入端結合V1經過組合邏輯所得的。兩種方式的時序不同則表現在產生轉變的時刻不同,時序如圖3所示:圖3(a)中施加V2到捕獲的轉變周期由一個移位周期的上升沿和捕獲周期的上升沿組成;而圖3(b)中的轉變周期發生在掃描移位周期和捕獲周期之間的一個新的測試時鐘周期內,當然兩種方式的SE信號也如圖發生相應的改變。
(1)如果整個測試都在正常工作時鐘下進行,需要更的ATE;
(2)測試時芯片管腳的負載電容比正常工作下的負載電容要大得多,限制了測試速度;
(3)移位操作本不是在實際功能時應有的操作,所以沒有必要工作在正常周期;測試速度越快測試峰值功耗越高,這可能會損壞芯片,造成良率的下降,所以不能在工作模式下進行移位操作。
(4)在測試模式下,對于I/O路徑來說由于PAD和ATE管腳本身的電氣特性,管腳負載太大,會出現輸出端無法工作在高速的情況,這樣就無法捕獲有效的數據,因此要在全速測試時固定住輸入端口,同時屏蔽掉輸出端口。即不對I/O路徑進行At-speed測試。
測試向量的融合 對于轉換故障的測試矢量對(V1,V2)來說,實際上V2為該節點s-a一0故障的測試矢量。假設某一電路的跳變故障和單固定故障的故障覆蓋率分別為FCt,FCs,從前面的分析可以看出FCt≤FCs。實際上,一般具有高固定故障覆蓋率的電路通常轉換故障的可測性也較高。通過轉換故障的測試矢量對單固定故障進行故障模擬,就可以得到轉換故障針對固定故障的覆蓋率,這就意味著測試向量發生了重復。鑒于以上的分析結果,可以提出以下方法對測試矢量進行融合:單固定故障的測試矢量生成只需針對少量的轉換故障模擬無法檢測到的故障進行,總的測試矢量就是轉換故障測試矢量加少量單固故障測試矢量,這就在滿足全速測試的情況下大大減少了測試矢量的個數。
全速測試時鐘 全速測試對時間的要求使得測試時鐘的問題也變得復雜起來。有兩種來源可提供全速測試時鐘:外部ATE和片上時鐘。傳統上總是用ATE來提供時鐘,如果對時鐘的速度和精確要求很高,那么對ATE的要求就高,花費就大。而采用片上時鐘的方法就要求芯片內包括鎖相環PLL或是其他片上時鐘產生電路來提供測試時鐘信號。片上時鐘比ATE提供的時鐘有更多好處:首先測試時序更為準確,其次降低了對ATE的要求,在測試時花費小。圖4為片上時鐘提供的方案。由外部提供激勵,然后對PLL進行編程,分頻產生測試時所需要的測試時鐘。
4 實驗內容
此次實驗的對象為東南大學ASIC工程中心自行研發的一款SoC芯片Garfield,該芯片是百萬門級芯片,是16/32位RISC控制器,主要面向工業控制、多媒體應用及其他消費類電子。
在實驗過程中因為實際需要不僅產生轉換故障和路徑延遲故障的測試矢量,同時也對stuck-at故障進行測試矢量的生成。本次實驗因為實驗條件所致因此測試時鐘由外部時鐘提供。以下為實驗步驟:
先通過Synopsys公司的EDA工具DFT Compiler對RTL代碼進行測試綜合,完成可測性設計,隨后生成加入了掃描鏈的verilog門級網表和為下一步ATPG時使用的STIL文件(Standard Test Interface Lanuage)。
然后就是測試矢量的生成,Garfield芯片的ATPG通過Synopsys公司的EDA工具TetraMAX完成,基本流程如圖5所示:
轉換故障列表從TetraMAX內部直接產生,路徑延遲故障列表則要用STA工具PrimeTime對網表進行分析,然后生成關鍵路徑得到。轉換故障的測試矢量可以作為向量源用于stuck-at故障的模擬,故障模擬中無法檢測到的故障則用作stuck-at故障測試矢量生成的故障列表。為了保證轉換故障測試的有效性,在轉換故障測試適量生成時,產生的轉換只通過掃描鏈捕獲而不會傳遞到基本輸出端,并且,為了防止基本輸入端的慢轉換對轉換故障測試的影響,在產生轉變與數據捕獲這段時間內基本輸入端也不允許發生變化,完成測試矢量生成后,結果如表1所示。
5結 語
隨著深亞微米工藝的進步,與時序相關的缺陷在數字電路中越發表現的突出,而作為一項有效且低成本的時序測試方法,基于掃描的全速測試越來越受到人們的重視。因此,本文對于這種測試方法的原理進行詳細的介紹,同時依照原理進行了正確的實驗并得到了意料之中的結果。