西安電子科技大學(xué) 電路CAD研究所
陜西 西安 710071
摘要:在設(shè)計(jì)基于IP模塊的SoC同時,必須引入可測性設(shè)計(jì)以解決SoC的測試問題。為了簡化SoC中的可測性設(shè)計(jì)的工作,本文設(shè)計(jì)了一種新型測試結(jié)構(gòu)復(fù)用技術(shù),通過分析SoC內(nèi)部的各種測試應(yīng)用情況,實(shí)現(xiàn)了一個兼容IEEE1149.1標(biāo)準(zhǔn)的通用測試訪問邏輯IP。在運(yùn)動視覺SoC中的應(yīng)用以及仿真結(jié)果驗(yàn)證了這種測試復(fù)用結(jié)構(gòu)的有效性,并有助于提高SoC的測試覆蓋率。
關(guān)鍵詞:可測性設(shè)計(jì);系統(tǒng)芯片;知識產(chǎn)權(quán);測試復(fù)用結(jié)構(gòu)
中圖分類號:TN43 ;TN407 文獻(xiàn)標(biāo)識碼: A 文章編號:1003-353X(2004)02-0048-03
1 引言
目前,隨著系統(tǒng)芯片(SoC)設(shè)計(jì)的廣泛應(yīng)用 ,半導(dǎo)體行業(yè)的競爭日益激烈,要設(shè)計(jì)出工藝先進(jìn)、功能強(qiáng)大并能快速投入市場的產(chǎn)品,IP復(fù)用已成為關(guān)鍵手段。在這種形勢下,對于IP以及SoC的測試,已經(jīng)無法采用以往的外部測試方法,而只能采用可測性設(shè)計(jì)的方法解決SoC的測試以及故障診斷問題 [3]。
采用可測性的設(shè)計(jì)方法可以給測試工作帶來很多益處:如減少測試時間;簡化測試過程;提高故障覆蓋率等。可測性設(shè)計(jì)有很多種,如BIST、掃描設(shè)計(jì)等等。而IEEE1149.1邊界掃描測試結(jié)構(gòu)[2]
是在數(shù)字系統(tǒng)中已經(jīng)廣泛使用的一種可測性設(shè)計(jì)方法,已經(jīng)形成了設(shè)計(jì)規(guī)范,目前絕大多數(shù)的數(shù)字芯片都支持它。在考慮SoC可測性設(shè)計(jì)中,也有必要引入這一結(jié)構(gòu)。隨著SoC設(shè)計(jì)中使用IP復(fù)用越來越多,也給可測性設(shè)計(jì)帶來了啟示,即能否使可測性設(shè)計(jì)結(jié)構(gòu)在SoC中能像功能IP一樣復(fù)用。復(fù)用的測試結(jié)構(gòu)既有利于規(guī)范SoC的測試結(jié)構(gòu)設(shè)計(jì),又能提高測試設(shè)計(jì)的效率,減少重復(fù)性的測試設(shè)計(jì)工作[4,5]。本文將介紹一種基于邊界掃描結(jié)構(gòu)的測試復(fù)用結(jié)構(gòu),可以在不同的SoC中廣泛使用。
2 測試設(shè)計(jì)的內(nèi)容
SoC中采用的IP復(fù)用技術(shù),不能保證已經(jīng)過設(shè)計(jì)驗(yàn)證的IP核在制造時不出現(xiàn)故障。因此必須要對其應(yīng)用可測性設(shè)計(jì)結(jié)構(gòu)以及通過測試結(jié)構(gòu)對IP施加測試向量。在SoC的IP之間存在大量的端口連接,因此IP之間的互聯(lián)測試也是需要解決的重要問題。
IP的通用測試結(jié)構(gòu)可以適當(dāng)參考規(guī)范的測試結(jié)構(gòu)設(shè)計(jì)方法。如IEEE P1500的測試結(jié)構(gòu) 的應(yīng)用[1],它對SoC內(nèi)部的IP測試結(jié)構(gòu)有詳盡的規(guī)定,包括IP 測試隔離、IP測試矢量的施加、內(nèi)部測試接口等內(nèi)容。
但目前而言,最常用的測試結(jié)構(gòu)仍是邊界掃描設(shè)計(jì)。所以在設(shè)計(jì)SoC測試結(jié)構(gòu)時,必須考慮邊界掃描設(shè)計(jì)。對于系統(tǒng)芯片的可測性設(shè)計(jì),一般還包括RAM的自測試結(jié)構(gòu)、測試通路的構(gòu)成等。對于內(nèi)部的測試通路,需要測試控制器對內(nèi)部進(jìn)行控制。
SoC以及IP的可測性必須經(jīng)過測試集成。測試集成將在高層次的設(shè)計(jì)內(nèi)容,進(jìn)行系統(tǒng)的邏輯綜合與實(shí)現(xiàn)。若采用復(fù)用的測試結(jié)構(gòu),其規(guī)范的設(shè)計(jì)對自動測試集成會有很好的支持。
3 測試結(jié)構(gòu)復(fù)用設(shè)計(jì)
3.1 插入的掃描單元
為IP設(shè)計(jì)的邊界掃描測試單元可以采用IEEE1149.1的邊界掃描定義的測試單元結(jié)構(gòu)。邊界掃描單元設(shè)計(jì)規(guī)整,有利于測試集成。本文采用了一種靈活的掃描單元插入方法,使其可以對IP測試進(jìn)行隔離,或者由于時延參數(shù)等因素的限制,只進(jìn)行支持在線測試的數(shù)據(jù)采集。掃描單元的應(yīng)用如圖1所示。
掃描單元與SoC內(nèi)部的測試總線有相應(yīng)的接口,可以通過測試控制邏輯實(shí)現(xiàn)對部分或全部測試結(jié)構(gòu)的控制和訪問。測試結(jié)構(gòu)支持IP的所有輸入、輸出和雙向的端口。掃描單元的測試控制端能夠保證在非測試狀態(tài)下信號從SI到SO的信號傳輸,而且經(jīng)過最少的邏輯傳遞其信號。而在時延要求非常嚴(yán)格的傳輸路徑則不必插入掃描單元,而只需將輸出端多扇出一路信號作為測試結(jié)構(gòu)的輸入,或者在IP的3態(tài)輸出時利用掃描單元給IP的輸入置位。測試數(shù)據(jù)通過TDI、TDO使測試結(jié)構(gòu)與測試總線相連,測試矢量的施加與測試響應(yīng)的處理則在測試總線控制器的控制下完成。
掃描單元可以設(shè)計(jì)成為庫單元,供設(shè)計(jì)者調(diào)用;蛘撸ㄟ^對SoC內(nèi)部IP端口以及連接關(guān)系的分析,用軟件自動插入必要的掃描單元。
3.2 測試訪問邏輯
測試總線控制邏輯的設(shè)計(jì)必須是兼容IEEE1149.1 測試訪問機(jī)制的內(nèi)部測試總線控制器,它負(fù)責(zé)產(chǎn)生測試所需的控制信號,并負(fù)責(zé)組織測試數(shù)據(jù)在測試總線上有序地傳輸。測試總線控制器與外部也有相應(yīng)的接口,符合JTAG協(xié)議的要求。為了保證它可以滿足SoC中基本的測試控制功能,首先考察一下SoC內(nèi)部應(yīng)用的可測性設(shè)計(jì)結(jié)構(gòu)有哪些。一般在 SoC中的可測性結(jié)構(gòu)可用如圖2所示的結(jié)構(gòu)表示。
從圖中可以看出,在SoC中,有自帶可測性結(jié)構(gòu)的如IP1和IP2,包括有P1500結(jié)構(gòu)、JTAG結(jié)構(gòu)或BIST結(jié)構(gòu)。IP3和UDL(user defined logic)不包括可測性結(jié)構(gòu),對于這些模塊,可以通過如上一小節(jié)所述的插入掃描單元方法改善其可測性。
在這種復(fù)雜的環(huán)境下設(shè)計(jì)測試訪問邏輯,如果只考慮控制插入的掃描單元,對無可測性設(shè)計(jì)的模塊實(shí)施邊界掃描測試,則這個測試訪問結(jié)構(gòu)的適用范圍將受到限制。在某些SoC中可以應(yīng)用,而在其它SoC中無法滿足測試的需要。
針對上述的測試結(jié)構(gòu)分析,按照IP的測試設(shè)計(jì)方法實(shí)現(xiàn)的測試訪問邏輯,它的功能應(yīng)包括提供外部測試主控器對SoC內(nèi)部所有測試結(jié)構(gòu)訪問的接口與控制。為了使其適應(yīng)各種應(yīng)用環(huán)境,以及為了使其能夠設(shè)計(jì)成為可復(fù)用的測試IP設(shè)計(jì),設(shè)計(jì)出的測試訪問邏輯IP的內(nèi)部結(jié)構(gòu)如圖3所示。
標(biāo)準(zhǔn)的邊界掃描測試訪問邏輯包括有限狀態(tài)機(jī),它與指令寄存器之中的指令一道產(chǎn)生測試時序及內(nèi)部控制信號。BYPASS寄存器提供旁路測試單元的功能。而ID寄存器則提供一個與其他測試訪問邏輯相區(qū)別的識別碼。
在標(biāo)準(zhǔn)結(jié)構(gòu)的基礎(chǔ)上,可復(fù)用的測試訪問測試邏輯IP提供了更多的測試通路。增加的用戶定義測試控制器將根據(jù)測試的需要選擇適當(dāng)?shù)臏y試通路。對于邊界掃描測試,插入掃描單元的IP與自帶JTAG的IP測試選擇串聯(lián)的結(jié)構(gòu),其測試過程與通常的邊界掃描測試一樣。而對于帶有BIST的模塊,通過內(nèi)部的BIST控制器提供測試運(yùn)行的觸發(fā)信號,在BIST測試結(jié)束之后,將測試結(jié)果通過接口送到外部。
由于測試訪問邏輯充分考慮到了各種IP的應(yīng)用情況,所以在其它的SoC中應(yīng)用測試訪問邏輯時,可以直接以IP復(fù)用的形式加入,無需再次開發(fā)。
3.3 測試矢量的復(fù)用
由于IP的設(shè)計(jì)一般都是在SoC之前完成的,所以,所有可復(fù)用的IP在設(shè)計(jì)階段經(jīng)過了驗(yàn)證。IP在設(shè)計(jì)階段可由測試生成軟件自動生成測試矢量,也可由設(shè)計(jì)者提供。
對各IP的測試,在上述的掃描測試結(jié)構(gòu)基礎(chǔ)上,可以采用IP設(shè)計(jì)驗(yàn)證階段產(chǎn)生的測試矢量在SoC測試中直接應(yīng)用,這大大減少了測試生成的開銷。
3.4 測試結(jié)構(gòu)綜合
在設(shè)計(jì)上述的測試復(fù)用結(jié)構(gòu)時,整個測試結(jié)構(gòu)的綜合流程如圖4所示。
對于測試結(jié)構(gòu)的綜合,首先從原始設(shè)計(jì)和設(shè)計(jì)規(guī)則開始,在這里可以得到系統(tǒng)的結(jié)構(gòu)信息以及關(guān)于各個IP的應(yīng)用組成情況,并且了解一些諸如端口使用、測試限制等內(nèi)容。之后,才能開始對測試訪問邏輯、測試復(fù)用單元、測試控制器等部件進(jìn)行選擇與應(yīng)用。選定測試結(jié)構(gòu)之后,需要從全局的角度安排測試總線和測試單元,并在此基礎(chǔ)上結(jié)合其它的可測性設(shè)計(jì)結(jié)構(gòu),從而形成完整的測試結(jié)構(gòu)。最后這些測試結(jié)構(gòu)通過測試綜合,以及布局布線就結(jié)合到了整個SoC的設(shè)計(jì)當(dāng)中,實(shí)現(xiàn)最終的設(shè)計(jì)結(jié)果。在設(shè)計(jì)結(jié)構(gòu)上的基礎(chǔ)上,提取出的測試信息和原先IP的測試矢量一起,合成SoC的測試矢量,之后就可以通過測試控制器完成測試。
4 應(yīng)用
所設(shè)計(jì)運(yùn)動視覺SoC應(yīng)用了具有先進(jìn)的并行處理體系結(jié)構(gòu),包括并行處理SIMD(single instruction multi data,單指令多數(shù)據(jù))體系結(jié)構(gòu)技術(shù)、流水線技術(shù)以及運(yùn)動估計(jì)協(xié)處理技術(shù)等。其中運(yùn)動協(xié)處理器包括有多種功能不同的運(yùn)動處理IP,如運(yùn)動物體識別IP、運(yùn)動參數(shù)計(jì)算IP、運(yùn)動估計(jì)、動態(tài)跟蹤控制IP等。
對于這樣的一個復(fù)雜SoC,我們采用了前面提到的測試復(fù)用結(jié)構(gòu)。通過在EDA軟件環(huán)境下的仿真實(shí)驗(yàn),對應(yīng)于SoC中常見的固定型S-A-1和S-A-0單故障,達(dá)到了較高的測試覆蓋率,其中IP的測試覆蓋率平均達(dá)到95%以上,總的測試覆蓋率在85 %以上。而設(shè)計(jì)的測試結(jié)構(gòu)所占總SoC的比例以等效門計(jì)算約為5.6%,結(jié)果令人滿意。通過這樣的設(shè)計(jì),達(dá)到了測試要求,較好地解決了SoC中的實(shí)際測試問題。
5 結(jié)束語
由于IP復(fù)用的應(yīng)用在不斷的增加,加之DFT設(shè)計(jì)的普遍應(yīng)用,有理由相信,SoC內(nèi)部的測試結(jié)構(gòu)甚至專用測試IP的復(fù)用,也一定會不斷增加,以至于形成電子設(shè)計(jì)行業(yè)的測試復(fù)用設(shè)計(jì)標(biāo)準(zhǔn)。本文中使用的測試復(fù)用方法如果在此基礎(chǔ)上得到一些補(bǔ)充和提高,如擴(kuò)充自定義測試功能、支持層次化的BS測試總線等,則可應(yīng)用到更為廣泛的范圍之中,當(dāng)然也一定會使SoC的測試設(shè)計(jì)強(qiáng)度更加降低,設(shè)計(jì)效率更加提高。
摘自《半導(dǎo)體技術(shù)》