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