一、故障建模的基本概念
故障建模是生產(chǎn)測(cè)試的基礎(chǔ),在介紹故障建模前需要先理清集成電路中幾個(gè)容易混淆的概念:缺陷、故障、誤差和漏洞。
缺陷是指在集成電路制造過(guò)程中,在硅片上所產(chǎn)生的物理異常,如某些器件多余或被遺漏了。故障是指由于缺陷所表現(xiàn)出的不同于正常功能的現(xiàn)象,如電路的邏輯功能固定為1或0。誤差是指由于故障而造成的系統(tǒng)功能的偏差和錯(cuò)誤。漏洞是指由于一些設(shè)計(jì)問(wèn)題而造成的功能錯(cuò)誤,也就是常說(shuō)的bug。表1列出了一些制造缺陷和相應(yīng)的故障表現(xiàn)形式。
表1 制造缺陷和故障表現(xiàn)形式
在實(shí)際的芯片中,氧化層破裂、晶體管的寄生效應(yīng)、硅表面不平整及電離子遷移等都可能造成一定程度的制造缺陷,并最終反映為芯片的功能故障。
故障建模是指以數(shù)學(xué)模型來(lái)模擬芯片制造過(guò)程中的物理缺陷,便于研究故障對(duì)電路或系統(tǒng)造成的影響,診斷故障的位置。為什么要進(jìn)行故障建模呢?這是因?yàn)?,電路中可能存在的物理缺陷是多種多樣的,并且由于某些物理缺陷對(duì)于電路功能的影響過(guò)于復(fù)雜,不能被充分地理解,分析的難度很大。而故障化模型中的一個(gè)邏輯故障可以描述多種物理缺陷的行為,從而回避了對(duì)物理缺陷分析的復(fù)雜度。
二、常見(jiàn)故障模型
1.數(shù)字邏輯單元中的故障模型
在數(shù)字邏輯中常用的故障模型如下。
(1)固定型故障(SAF,Stuck At Fault)
這是在集成電路測(cè)試中使用最早和最普遍的故障模型,它假設(shè)電路或系統(tǒng)中某個(gè)信號(hào)永久地固定為邏輯0或者邏輯1,簡(jiǎn)記為SA0(Stuck-At-0)和SA1(Stuck-At-1),可以用來(lái)表征多種不同的物理缺陷。如圖1所示,對(duì)于器件U0來(lái)說(shuō),SA1模擬了輸入端口A的固定在邏輯1的故障,對(duì)于U1來(lái)說(shuō),SA0模擬了輸出端口Y固定在邏輯0的故障。
圖1 固定型故障
對(duì)于圖2所示的組合電路,共包含2×(Npins+Nports)=2×(11+5)=32個(gè)固定型故障。
圖2 固定型故障舉例
下面的例子說(shuō)明了故障合并的含義。對(duì)于圖3所示的傳輸電路,端口A的SA0故障和端口Z的SA0故障等效,同樣的端口A的SA1故障和端口Z的SA1故障等效,因此在考慮測(cè)試矢量集的時(shí)候可以合并故障,只需要從子故障集合{A:SA0,Z:SA0}和{A:SA1,Z:SA1}中各選擇一個(gè)故障類(lèi)型。
圖3 故障的合并
(2)晶體管固定開(kāi)/短路故障(Stuck-open/Stuck-short)
在數(shù)字電路中,晶體管被認(rèn)為是理想的開(kāi)關(guān)元件,一般包含兩種故障模型——固定開(kāi)路故障和固定短路故障,分別如圖4和圖5所示。在檢測(cè)固定開(kāi)路故障的時(shí)候,需要兩個(gè)測(cè)試矢量,第一測(cè)試矢量10用于初始化,可測(cè)試端口A的SA0故障,第二個(gè)測(cè)試矢量00用來(lái)測(cè)試端口A的SA1故障。對(duì)于固定短路故障的時(shí)候需要測(cè)量輸出端口的靜態(tài)電流。
圖4 晶體管固定開(kāi)路故障
圖5 晶體管固定短路故障
(3)橋接故障(Bridging Faults)
橋接故障指節(jié)點(diǎn)間電路的短路故障,通常假象為電阻很小的通路,即只考慮低阻的橋接故障。橋接故障通常分為3類(lèi):邏輯電路與邏輯電路之間的橋接故障、節(jié)點(diǎn)間的無(wú)反饋橋接故障和節(jié)點(diǎn)間的反饋橋接故障。
(4)跳變延遲故障(TF,Transition Delay Fault)
跳變延遲故障見(jiàn)圖6,是指電路無(wú)法在規(guī)定時(shí)間內(nèi)由0跳變到1或從1跳變到0的故障。在電路上經(jīng)過(guò)一段時(shí)間的傳輸后,跳變延遲故障表現(xiàn)為固定型故障。
圖6 跳變延遲故障
(5)傳輸延遲故障(Path Delay Fault)
傳輸延遲故障不同于跳變延遲故障,是指信號(hào)在特定路徑上的傳輸延遲,通常與測(cè)試該路徑相關(guān)AC參數(shù)聯(lián)系在一起,尤其是關(guān)鍵路徑。
2.存儲(chǔ)器的故障模型
存儲(chǔ)器的故障模型和數(shù)字邏輯中的故障模型有著顯著的不同,雖然固定、橋接及晶體管固定開(kāi)/短路故障模型對(duì)于數(shù)字邏輯有很好的模擬效果,但是用這些故障類(lèi)型來(lái)確定存儲(chǔ)器功能的正確性卻是不充分的。除單元固定、橋接故障外,存儲(chǔ)器故障還包括耦合、數(shù)據(jù)保留、臨近圖形敏感故障。
(1)單元固定故障(SAF,Stuck-At Fault)
單元固定故障指的是存儲(chǔ)器單元固定在0或1。為了檢測(cè)這類(lèi)故障需要對(duì)每個(gè)存儲(chǔ)單元和傳輸線進(jìn)行讀/寫(xiě)0和1的操作。
(2)狀態(tài)跳變故障(TF,Transition Delay Fault)
狀態(tài)跳變故障是固定故障的特殊類(lèi)型,發(fā)生在對(duì)存儲(chǔ)單元進(jìn)行寫(xiě)操作的時(shí)候,不發(fā)生正常的跳變。這里需要指出的是跳變故障和固定故障不可相互替代,因?yàn)樘児收峡赡茉诎l(fā)生耦合故障時(shí)發(fā)生跳變,但是固定故障永遠(yuǎn)不可能改變。為了檢測(cè)此類(lèi)故障必須對(duì)每個(gè)單元進(jìn)行0-1和1-0的讀/寫(xiě)操作,并且要在寫(xiě)入相反值后立刻讀出當(dāng)前值。
(3)單元耦合故障(CF,Coupling Fault)
這些故障主要針對(duì)RAM,發(fā)生在一個(gè)單元進(jìn)行寫(xiě)操作時(shí),這個(gè)單元發(fā)生跳變的時(shí)候,會(huì)影響到另一個(gè)單元的內(nèi)容。單元耦合可能是反相類(lèi)型(CFin,inversion,單元內(nèi)容反相)、等冪類(lèi)型(CFid,idempotent,僅當(dāng)單元有特定數(shù)據(jù)時(shí)單元的內(nèi)容改變)或者簡(jiǎn)單的狀態(tài)耦合(CFst,state,僅當(dāng)其他位置有特定的數(shù)據(jù)時(shí)單元內(nèi)容改變)。為了測(cè)試CF故障,要在對(duì)一個(gè)連接單元進(jìn)行奇數(shù)次跳變后,對(duì)所有單元進(jìn)行讀操作,以避免可能造成的耦合故障。
(4)臨近圖形敏感故障(NPSF,Neighborhood Pattern Sensitive Faults)
這是一個(gè)特殊的狀態(tài)耦合故障,見(jiàn)圖7。此類(lèi)故障意味著在特定存儲(chǔ)單元周?chē)钠渌鎯?chǔ)單元出現(xiàn)一些特定數(shù)據(jù)時(shí),該單元會(huì)受到影響。
圖7 臨近圖形敏感故障
(5)地址譯碼故障(ADF,Address Decode Fault)該故障主要有4類(lèi):
? 對(duì)于給定的地址,不存在相對(duì)應(yīng)的存儲(chǔ)單元;
? 對(duì)于一個(gè)存儲(chǔ)單元,沒(méi)有相對(duì)應(yīng)的物理地址;
? 對(duì)于給定的地址,可以訪問(wèn)多個(gè)固定的存儲(chǔ)單元;
? 對(duì)于一個(gè)存儲(chǔ)單元,有多個(gè)地址可以訪問(wèn)。
(6)數(shù)據(jù)保留故障(DF,Data Retention Fault)
數(shù)據(jù)保留故障是指存儲(chǔ)單元不能在規(guī)定時(shí)間內(nèi)有效保持其數(shù)據(jù)值而出現(xiàn)的故障。這是一類(lèi)動(dòng)態(tài)的故障,對(duì)于SRAM來(lái)說(shuō)相當(dāng)重要,可以模擬DRAM數(shù)據(jù)刷新中數(shù)據(jù)固定和SRAM靜態(tài)數(shù)據(jù)丟失等故障,有時(shí)對(duì)可編程的ROM和Flash存儲(chǔ)器也十分重要。
三、ATPG基本原理
在抽象出有效故障模型的基礎(chǔ)上,就可以開(kāi)發(fā)各種自動(dòng)測(cè)試產(chǎn)生(ATPG,Automatic Test Pattern Generation)向量了。目前,常用的ATPG算法有偽隨機(jī)算法和AD-Hoc算法,對(duì)于組合邏輯來(lái)說(shuō)還有D算法、PODEM算法和FAN算法。
利用軟件程序可以實(shí)現(xiàn)ATPG算法,達(dá)到測(cè)試向量自動(dòng)生成的目的。這里的測(cè)試向量是指為了使特定故障能夠在原始輸出端被觀察到,而在被測(cè)電路原始輸入端所施加的激勵(lì)。通過(guò)軟件程序,可以自動(dòng)完成以下兩項(xiàng)工作:
? 基于某種故障類(lèi)型,確定當(dāng)前測(cè)試矢量能夠覆蓋多少物理缺陷;
? 對(duì)于特定的抽象電路,工具能夠自動(dòng)選擇能夠匹配的故障模型。
這里涉及故障覆蓋率的概念,故障覆蓋率表示測(cè)試矢量集對(duì)于故障的覆蓋程度:
故障覆蓋率=被檢測(cè)到的故障數(shù)目/被測(cè)電路的故障總數(shù)
可見(jiàn),ATPG的優(yōu)點(diǎn)是明顯的。首先,它是一個(gè)自動(dòng)的過(guò)程,所以它可以減少向量生成的時(shí)間,并且生成的向量可以用故障覆蓋率的標(biāo)準(zhǔn)來(lái)衡量好壞;其次,ATPG是根據(jù)各類(lèi)故障模型來(lái)生成向量的,因此一旦在測(cè)試機(jī)上發(fā)現(xiàn)錯(cuò)誤,可以直接根據(jù)故障模型來(lái)追蹤錯(cuò)誤,能夠很好地定位和診斷;另外,ATPG生成向量的有效性非常高,這里的有效性是指每個(gè)時(shí)鐘周期所增長(zhǎng)的故障覆蓋率,節(jié)約了時(shí)鐘周期也就是節(jié)約了測(cè)試程序,最終表現(xiàn)出是測(cè)試成本的節(jié)約。
另一種觀點(diǎn)不利于ATPG的發(fā)展,有些人認(rèn)為如果過(guò)于依賴(lài)ATPG,就會(huì)造成前端的設(shè)計(jì)必須與ATPG的設(shè)計(jì)要求相匹配,可能造成的后果是破壞原有的設(shè)計(jì)流程。還有支持問(wèn)題,成功的ATPG需要包括庫(kù)和EDA軟件的支持。
四、ATPG的工作原理
ATPG采用故障模型,通過(guò)分析芯片的結(jié)構(gòu)生成測(cè)試向量,進(jìn)行結(jié)構(gòu)測(cè)試,篩選出不合格的芯片。其中,最常用的故障模型就是固定故障模型。這在前面的存儲(chǔ)器測(cè)試中提到過(guò),下面就以這個(gè)模型來(lái)說(shuō)明ATPG的工作原理。
該故障假設(shè)芯片的一個(gè)節(jié)點(diǎn)存在缺陷,假設(shè)SA0表示節(jié)點(diǎn)恒為低電平,相對(duì)地,SA1表示節(jié)點(diǎn)恒為高電平,即使控制目標(biāo)節(jié)點(diǎn)的別的信號(hào)線都正常。例如,對(duì)于一個(gè)與門(mén),只要將輸入都變?yōu)?,就可以建立Stuck-At-0故障模型,如果輸出為0則說(shuō)明存在該故障。通過(guò)在芯片內(nèi)建立這個(gè)故障模型,可以在芯片的頂層輸入端口加上激勵(lì),在芯片的輸出端口獲取實(shí)際響應(yīng),根據(jù)希望響應(yīng)與實(shí)際響應(yīng)是否相同,來(lái)判斷芯片是否存在制造缺陷。為了實(shí)現(xiàn)這樣的目標(biāo),必須要求目標(biāo)節(jié)點(diǎn)輸入是可控制的,節(jié)點(diǎn)的輸出是可觀察的,并且目標(biāo)節(jié)點(diǎn)不受別的節(jié)點(diǎn)影響,掃描鏈的結(jié)構(gòu)為此提供了一切。對(duì)于ATPG軟件來(lái)說(shuō),它的工作包括以下步驟。
(1)故障類(lèi)型的選擇
ATPG可以處理的故障類(lèi)型不僅僅是阻塞型故障,還有延時(shí)故障和路徑延時(shí)故障等,一旦所有需要檢測(cè)的故障類(lèi)型被列舉,ATPG將對(duì)這些故障進(jìn)行合理的排序,可能是按字母順序、按層次結(jié)構(gòu)排序,或者隨機(jī)排序。
(2)檢測(cè)故障
在確定了故障類(lèi)型后,ATPG將決定如何對(duì)這類(lèi)故障進(jìn)行檢測(cè),并且需要考慮施加激勵(lì)向量的測(cè)試點(diǎn),需要計(jì)算所有會(huì)影響目標(biāo)節(jié)點(diǎn)的可控制點(diǎn)。
(3)檢測(cè)故障傳輸路徑
尋找傳輸路徑可以說(shuō)是向量生成中最困難的,需要花很多時(shí)間去尋找故障的觀測(cè)點(diǎn)的傳播。因?yàn)橥ǔR粋€(gè)故障擁有很多的可觀測(cè)點(diǎn),一些工具一般會(huì)找到最近的那一個(gè)。不同目標(biāo)節(jié)點(diǎn)的傳輸路徑可能會(huì)造成重疊和沖突,當(dāng)然這在掃描結(jié)構(gòu)中是不會(huì)出現(xiàn)的。
五、ATPG工具的使用步驟
目前,市場(chǎng)上的ATPG工具已經(jīng)可以支持千萬(wàn)門(mén)級(jí)組合邏輯和全掃描電路的測(cè)試矢量生成。最有名的就是Synopsys的TetraMAX和Mentor的Fastscan。
例如Synopsys的TetraMAX,它支持全掃描設(shè)計(jì)和局部掃描設(shè)計(jì),支持多種掃描風(fēng)格,支持IEEE 1149.1標(biāo)準(zhǔn)。設(shè)計(jì)步驟如下。
① 將含掃描結(jié)構(gòu)的門(mén)級(jí)網(wǎng)表輸入到ATPG工具。
② 輸入庫(kù)文件。必須與門(mén)級(jí)網(wǎng)表相對(duì)應(yīng)并且能被ATPG工具識(shí)別。
③ 建立ATPG模型。輸入庫(kù)文件后,ATPG工具將根據(jù)庫(kù)文件和網(wǎng)表文件建立模型。
④ 根據(jù)STIL文件做DRC檢測(cè)。STIL文件是標(biāo)準(zhǔn)測(cè)試接口文件,包含掃描結(jié)構(gòu)的一系列信息和信號(hào)的約束。
⑤ 生成向量。這里需要選擇建立哪種故障模型。
⑥ 壓縮向量。這一步驟可以節(jié)約將來(lái)芯片測(cè)試時(shí)候的工作站資源和測(cè)試時(shí)間。
⑦ 轉(zhuǎn)換ATPG模式的向量為ATE所需要格式的測(cè)試向量。
⑧ 輸出測(cè)試向量和故障列表。
其中,故障列表為將來(lái)測(cè)試診斷用,可以發(fā)現(xiàn)芯片的制造缺陷,生成向量以后需要進(jìn)行實(shí)際的電路仿真,確定故障覆蓋率滿足要求。
責(zé)任編輯:gt
-
芯片
+關(guān)注
關(guān)注
456文章
51283瀏覽量
427793 -
集成電路
+關(guān)注
關(guān)注
5395文章
11633瀏覽量
363449
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
MESFET集成電路應(yīng)用-概述
集成電路(IC)常用基本概念
關(guān)于數(shù)字電路的基本概念和學(xué)習(xí)內(nèi)容
集成電路的檢測(cè)及故障查尋
集成電路相關(guān)參數(shù)和故障表現(xiàn)
模擬集成電路與系統(tǒng)圖書(shū)
MESFET集成電路應(yīng)用
![MESFET<b class='flag-5'>集成電路</b>應(yīng)用](https://file.elecfans.com/web2/M00/49/2E/pYYBAGKhtD2AAppjAAAR6ebkhew964.jpg)
評(píng)論