孫 博,黑 勇,喬樹(shù)山
(中國(guó)科學(xué)院 微電子研究所 專用集成電路與系統(tǒng)實(shí)驗(yàn)室,北京 100029)
隨著半導(dǎo)體技術(shù)的發(fā)展,芯片的集成程度不斷提高,規(guī)模不斷增大,越來(lái)越多的設(shè)計(jì)出于開(kāi)發(fā)時(shí)間以及開(kāi)發(fā)效率的考慮,開(kāi)始采用SoC設(shè)計(jì)方式,將已有的可復(fù)用IP核集成在一個(gè)芯片上實(shí)現(xiàn)某種功能。雖然SoC有諸多優(yōu)點(diǎn),但其復(fù)雜程度也使芯片的測(cè)試面臨新的考驗(yàn),需要付出更多的時(shí)間和成本。典型的SoC芯片中通常包含PLL,A/D,D/A等模擬單元,片內(nèi)存儲(chǔ)器,CPU核和ASIC核等IP核,這些模塊都有不同的故障表現(xiàn)形式,因此,需要根據(jù)各自特點(diǎn)采用不同的測(cè)試方法。選擇合適的測(cè)試方案對(duì)于SoC的可測(cè)性設(shè)計(jì)非常重要。
近年來(lái),國(guó)際組織以及企業(yè)都對(duì)數(shù)字電視產(chǎn)業(yè)投入了極大的熱情,并制定出許多成熟的標(biāo)準(zhǔn),比如歐洲的DVB-T標(biāo)準(zhǔn)、日本的ISDB-T標(biāo)準(zhǔn)以及中國(guó)的CMMB標(biāo)準(zhǔn)。本文以一款500萬(wàn)門級(jí)數(shù)字電視SoC芯片作為設(shè)計(jì)實(shí)例,描述基于該款SoC芯片的可測(cè)性設(shè)計(jì)方案。由于SoC芯片中多種模塊需要不同的測(cè)試方法,本設(shè)計(jì)采用測(cè)試控制模塊統(tǒng)一控制各種測(cè)試,節(jié)省片外管腳。針對(duì)片內(nèi)存儲(chǔ)器,采用存儲(chǔ)器內(nèi)建自測(cè)試(Memory Build-In-Self-Test,MBIST)的方法進(jìn)行測(cè)試。其余數(shù)字邏輯采用基于掃描鏈的掃描測(cè)試,利用片內(nèi)PLL進(jìn)行實(shí)速測(cè)試,可測(cè)試多種故障類型,最大程度地覆蓋所有故障點(diǎn),以達(dá)到較高的測(cè)試覆蓋率。同時(shí)采用測(cè)試壓縮減少芯片的測(cè)試成本。
本文介紹的數(shù)字電視基帶SoC芯片包含1個(gè)PLL,2個(gè)AD,1個(gè)8051處理器核,215塊片內(nèi)存儲(chǔ)器以及大量數(shù)字信號(hào)處理模塊和外圍接口模塊,芯片結(jié)構(gòu)如圖1所示。
該芯片可測(cè)性設(shè)計(jì)的主要目標(biāo)是對(duì)邏輯部分以及存儲(chǔ)器部分提供較高的測(cè)試覆蓋率,同時(shí)盡可能減少測(cè)試所消耗的硬件資源、測(cè)試時(shí)間和測(cè)試數(shù)據(jù),以減少芯片的測(cè)試成本。
邊界掃描測(cè)試主要用于檢測(cè)芯片與PCB板級(jí)以及芯片與芯片之間的互連故障,也用于檢測(cè)芯片內(nèi)核的功能。同時(shí)邊界掃描由于其靈活的應(yīng)用方式也被廣泛地用于芯片功能的調(diào)試以及芯片內(nèi)部多種工作參數(shù)的配置。
本設(shè)計(jì)中,芯片的邊界掃描模塊除了實(shí)現(xiàn)IEEE1149.1強(qiáng)制要求的EXTEST,BYPASS,SAMPLE,PRELOAD這4條指令之外,還增加了對(duì)片內(nèi)存儲(chǔ)器內(nèi)建自測(cè)試模塊以及掃描鏈的控制,通過(guò)這個(gè)集中的測(cè)試控制單元可以靈活地在這幾種測(cè)試模式之間切換,減少了專門用于測(cè)試的管腳,同時(shí)使芯片的多個(gè)測(cè)試單元能夠整合起來(lái)形成一個(gè)測(cè)試系統(tǒng)[1],芯片的邊界掃描模塊如圖2所示。
存儲(chǔ)器內(nèi)建自測(cè)試(MBIST)是目前大規(guī)模嵌入式存儲(chǔ)器測(cè)試的主流技術(shù)。MBIST技術(shù)的基本原理是在存儲(chǔ)器的外部產(chǎn)生一整套外圍電路,包括測(cè)試控制電路、地址發(fā)生器、數(shù)據(jù)發(fā)生器和結(jié)果比較電路等,如圖3所示。通過(guò)施加幾個(gè)激勵(lì)信號(hào),實(shí)現(xiàn)存儲(chǔ)器自動(dòng)測(cè)試,最后輸出故障或者測(cè)試結(jié)果。雖然MBIST增加了芯片的面積,但是其存儲(chǔ)器測(cè)試自動(dòng)化以及可以實(shí)速(At-Speed)測(cè)試的優(yōu)點(diǎn)仍然使其成為存儲(chǔ)器測(cè)試最理想的技術(shù)[2]。
數(shù)字電視基帶SoC芯片的片內(nèi)存儲(chǔ)器多達(dá)215個(gè),約占芯片面積的70%,因此存儲(chǔ)器的成品率對(duì)芯片的設(shè)計(jì)和制造至關(guān)重要。如何合理的劃分存儲(chǔ)器,讓多個(gè)存儲(chǔ)器共用MBIST,在增加的芯片面積和測(cè)試時(shí)間之間折中,是本次MBIST設(shè)計(jì)的重點(diǎn)。根據(jù)芯片的布局規(guī)劃,考慮到芯片的時(shí)序問(wèn)題,將215個(gè)存儲(chǔ)器劃分為6組,相應(yīng)地設(shè)計(jì)6個(gè)MBIST,每個(gè)MBIST控制多個(gè)RAM或ROM,每組存儲(chǔ)器的內(nèi)建自測(cè)試并行進(jìn)行,組內(nèi)存儲(chǔ)器的內(nèi)建自測(cè)試串行進(jìn)行。為了測(cè)試和診斷的方便,通過(guò)TAP靈活配置MBIST的控制寄存器,可以激活全部MBIST,讓其并行進(jìn)行,也可以激活部分或單個(gè)MBIST以便于診斷。
MBIST采用March C+算法,覆蓋固定型故障、轉(zhuǎn)換故障、耦合故障以及開(kāi)路故障。算法描述如下,其中,↑表示存儲(chǔ)器地址遞增,↓表示存儲(chǔ)器地址遞減,w表示寫操作,r表示讀操作:
MBIST的實(shí)現(xiàn)極大地提高了片內(nèi)存儲(chǔ)器的測(cè)試效率,其增加的芯片面積對(duì)SoC芯片總的芯片面積影響非常小,僅占總面積的0.3%。
數(shù)字電視基帶SoC芯片采用130 nm標(biāo)準(zhǔn)CMOS工藝制造,由于130 nm以下芯片會(huì)帶來(lái)更多的時(shí)序相關(guān)的故障,因此僅測(cè)試Stuck-At故障無(wú)法滿足實(shí)際生產(chǎn)需要,必須對(duì)芯片進(jìn)行實(shí)速測(cè)試。同時(shí)為減少測(cè)試時(shí)間和測(cè)試數(shù)據(jù),采用了測(cè)試壓縮結(jié)構(gòu)[3],如圖4所示。
芯片包含20條掃描鏈,在測(cè)試壓縮模式下壓縮比為20,包含480條掃描鏈?;贛UX的掃描觸發(fā)器結(jié)構(gòu),采用類全掃描設(shè)計(jì),只有不到1%的觸發(fā)器沒(méi)有連接到掃描鏈中,主要是時(shí)鐘單元、復(fù)位單元、FIFO和邊界掃描模塊中的觸發(fā)器。
在實(shí)速測(cè)試模式下,用于測(cè)試的Launch Clock和Capture Clock由片內(nèi)PLL提供,如圖5所示。在切換(shift)過(guò)程中,掃描鏈時(shí)鐘由低速的ATE_clock時(shí)鐘提供。在捕獲(capture)過(guò)程中,由片內(nèi)PLL提供芯片正常工作模式下的時(shí)鐘,由Clock Controller控制兩種狀態(tài)的切換?;谄瑑?nèi)PLL進(jìn)行實(shí)速測(cè)試的設(shè)計(jì)既提供了精準(zhǔn)的實(shí)速測(cè)試時(shí)鐘,又降低了對(duì)ATE設(shè)備的要求和測(cè)試成本[4]。
芯片包含215塊片內(nèi)存儲(chǔ)器,如果不做任何處理,這些存儲(chǔ)器在自動(dòng)測(cè)試圖形生成(Automatic Test Pattern Generation,ATPG)過(guò)程中將被視為黑盒子,即ATPG工具僅知道這些模塊的端口,不知道這些模塊的邏輯行為。在測(cè)試模式下,與存儲(chǔ)器數(shù)據(jù)線、地址線相連接的邏輯不可觀,與存儲(chǔ)器輸出端相連接的邏輯不可控,存儲(chǔ)器周圍的邏輯均不可測(cè),嚴(yán)重影響測(cè)試覆蓋率。為了提高芯片的測(cè)試覆蓋率,需要針對(duì)這種情況對(duì)存儲(chǔ)器做特殊處理,可以選擇的方法有:1)利用多路選通器旁路存儲(chǔ)器;2)在存儲(chǔ)器的周圍插入測(cè)試點(diǎn);3)為ATPG工具建立特殊的存儲(chǔ)器模型??紤]到前兩種方法會(huì)增加很多的測(cè)試邏輯并增加芯片的面積,同時(shí)有可能對(duì)芯片的時(shí)序約束產(chǎn)生負(fù)面的影響,本設(shè)計(jì)最后采用的是第3種方法,即為存儲(chǔ)器建立簡(jiǎn)單的ATPG工具可以識(shí)別的行為模型,在利用ATPG工具生成測(cè)試向量時(shí),讓ATPG工具分析存儲(chǔ)器的邏輯行為,并生成測(cè)試向量,覆蓋與存儲(chǔ)器相連接的邏輯。在芯片測(cè)試過(guò)程中,會(huì)對(duì)片內(nèi)存儲(chǔ)器進(jìn)行數(shù)據(jù)讀寫操作,在捕獲階段,需要多個(gè)時(shí)鐘周期。這種方法可以得到最大的測(cè)試覆蓋率,不僅包括存儲(chǔ)器周圍的邏輯,也包括存儲(chǔ)器內(nèi)部的邏輯[5]。與將存儲(chǔ)器設(shè)置為Black-Box的方法相比較,測(cè)試覆蓋率有3%的提高。
本次可測(cè)性設(shè)計(jì)的對(duì)象為數(shù)字電視基帶SoC芯片。芯片采用130 nm標(biāo)準(zhǔn)CMOS工藝制造,工作頻率為60 MHz,所用EDA工具軟件均為Synopsys公司產(chǎn)品。
實(shí)驗(yàn)對(duì)Stuck-At故障和轉(zhuǎn)換故障兩種故障模型進(jìn)行測(cè)試,以下給出SAT(Stuck-At-Transition)故障的測(cè)試結(jié)果。表1是在沒(méi)有測(cè)試壓縮的情況下的測(cè)試結(jié)果,掃描鏈條數(shù)為20條,掃描深度最大為2041。表2是在有測(cè)試壓縮的情況下的測(cè)試結(jié)果,壓縮倍數(shù)為20倍,掃描深度為74。
表1 非測(cè)試壓縮條件下SAT故障覆蓋率
表2 測(cè)試壓縮條件下SAT故障覆蓋率
由測(cè)試數(shù)據(jù)對(duì)比可知,非測(cè)試壓縮條件下的測(cè)試覆蓋率和故障覆蓋率稍小于測(cè)試壓縮條件下的數(shù)據(jù)。對(duì)兩種情況下沒(méi)有覆蓋到的故障點(diǎn)進(jìn)行分析可知,在非測(cè)試壓縮情況下,測(cè)試壓縮模塊被旁路,該模塊內(nèi)的電路無(wú)法測(cè)試,造成了覆蓋率的降低。
同時(shí)對(duì)比分析兩種情況下的測(cè)試時(shí)間,在沒(méi)有測(cè)試壓縮的情況下,測(cè)試時(shí)間為測(cè)試壓縮的11倍。如果不考慮測(cè)試壓縮模塊對(duì)覆蓋率的影響,兩種情況下的測(cè)試覆蓋率沒(méi)有明顯的變化。硬件開(kāi)銷上,測(cè)試壓縮模塊增加的芯片面積不足0.4%。經(jīng)過(guò)測(cè)試壓縮之后,芯片的測(cè)試成本大大降低。
筆者針對(duì)一款500萬(wàn)門級(jí)數(shù)字電視基帶SoC芯片進(jìn)行了邊界掃描測(cè)試設(shè)計(jì)和存儲(chǔ)器內(nèi)建自測(cè)試設(shè)計(jì),以及可以利用片內(nèi)PLL進(jìn)行實(shí)速測(cè)試和可以測(cè)試壓縮的掃描設(shè)計(jì)。實(shí)驗(yàn)結(jié)果表明,經(jīng)過(guò)合理的可測(cè)性設(shè)計(jì),可以得到很高的測(cè)試覆蓋率;同時(shí)經(jīng)過(guò)測(cè)試壓縮,可以大大降低測(cè)試成本。一款SoC芯片中不但包括數(shù)字部分,也包括模擬部分,本文的可測(cè)性設(shè)計(jì)僅針對(duì)數(shù)字部分,對(duì)于SoC芯片來(lái)說(shuō),這是不全面的。模擬部分的測(cè)試將在接下來(lái)的工作中繼續(xù)進(jìn)行,以完成一個(gè)全面的、高質(zhì)量的SoC芯片可測(cè)性設(shè)計(jì)。
[1]ERLANGER S,BHAVSAR D K,DAVIES R.Testability features ofthe Alpha 21364 microprocessor[C]//Proc.International Test Conference 2003.Charlotte,NC,USA:[s.n.],2003:769.
[2]王曉琴,黑勇,吳斌,等.嵌入式存儲(chǔ)器MBIST設(shè)計(jì)中內(nèi)建自診斷功能研究[J].電子器件,2005,28(4):893-895.
[3]蔡志匡,黃凱,黃丹丹,等.Garfield系列SoC芯片可測(cè)性設(shè)計(jì)與測(cè)試[J].微電子學(xué),2009,39(5):595-596.
[4]范小鑫,李華偉,胡瑜,等.采用片內(nèi)PLL實(shí)現(xiàn)實(shí)速掃描測(cè)試的方案[J].計(jì)算機(jī)輔助設(shè)計(jì)與圖形學(xué)學(xué)報(bào),2007,19(3):367-369.
[5]TAN P J,LE T,NG K,et al.Testing of UltraSPARC T1 microprocessor and its challenges[C]//Proc.IEEE International Test Conference,2006.Santa Clara,CA,USA:[s.n.],2006:1-10.