可測試設(shè)計(DFT)是適應(yīng)集成電路的發(fā)展要求所出現(xiàn)的一種技術(shù),主要任務(wù)是對電路的結(jié)構(gòu)進行調(diào)整,提高電路的可測性,即可控制性和可觀察性。按測試結(jié)構(gòu)分,目前比較成熟的技術(shù)主要有測試點插入、內(nèi)部掃描設(shè)計、內(nèi)建自測試(BIST)、邊界掃描設(shè)計等[1]。
內(nèi)部掃描設(shè)計技術(shù)有兩種:全掃描技術(shù)將電路中所有的觸發(fā)器用特殊設(shè)計的具有掃描功能的觸發(fā)器代替,使其在測試時鏈接成一個或幾個移位寄存器;部分掃描技術(shù)只選擇一部分觸發(fā)器構(gòu)成移位寄存器,降低了掃描設(shè)計的硬件消耗和測試響應(yīng)時間而受到重視。在測試向量自動生成(ATPG)上,組合電路常采用D,PODEM和FAN等算法;時序電路可采用HITEC,GENTEST,CONTEST以及遺傳算法等 [2]。如果被測電路(CUT)具有自己產(chǎn)生測試信號、自己檢查輸出信號的能力,則稱該電路具有BIST功能。BIST主要完成測試序列生成和輸出響應(yīng)分析兩個任務(wù)。通過分析CUT的響應(yīng)輸出,判斷CUT是否有故障。BIST有存儲器BIST(MBIST)、邏輯電路BIST(LBIST)和 DBIST[3]等幾種。
2 IP核的DFT方法
在SOC中通常嵌入多個IP核,它們電路邏輯非常復(fù)雜且對時序要求非常嚴格,因此不同類型的IP核有不同的可測試性設(shè)計方法。
2.1 專用數(shù)字邏輯模塊
數(shù)字邏輯模塊的可測試性設(shè)計一般采用內(nèi)部掃描設(shè)計技術(shù),但隨著芯片規(guī)模向著上千萬門級發(fā)展,傳統(tǒng)的內(nèi)部掃描設(shè)計會生成數(shù)目眾多的相當長的測試向量。由于測試生成和測試響應(yīng)分析都在外部ATE上,掃描輸入輸出時間過長,導(dǎo)致測試成本急劇增加,故需要對傳統(tǒng)的內(nèi)部掃描設(shè)計技術(shù)做出改進。
可引入偽內(nèi)建自測試(PBIST)[8] 方法來減少測試數(shù)據(jù)和縮短測試時間。對于BIST來說,故障覆蓋率不高是其固有的缺點,而PBIST是希望能利用內(nèi)部所產(chǎn)生的偽隨機序列,檢測到盡可能多的故障。一般電路中都會有相當部分的故障是可以用隨機向量來檢測的,而這部分故障如果采用PBIST方法來測試,就可以充分發(fā)揮其在測試時間、測試數(shù)據(jù)量等方面的優(yōu)勢。在完成這部分故障的測試后,再由外部ATE提供確定性的測試向量來滿足最終的故障覆蓋率需求。
可引入片上多輸入鑒別寄存器(OPMISR)技術(shù)[9],對測試響應(yīng)進行壓縮,輸出的測試結(jié)果是 MISR壓縮后的數(shù)據(jù),從而降低對ATE緩存容量的要求。利用OPMISR技術(shù)在測試模式時可把每條掃描鏈從中間一分為二,這樣原來的一條掃描鏈相當于兩條掃描鏈了,從而倍增掃描鏈條數(shù),且單條掃描鏈上的寄存器數(shù)目是原來的一半,所以測試向量移位輸入所需的時鐘周期也相應(yīng)減半。同時增加的MIST電路把原本在ATE上完成的信號鑒別工作部分轉(zhuǎn)移到了片內(nèi)進行,對測試響應(yīng)進行了壓縮,減小了生成的ATPG文件。
Mentor Graphics[7]的嵌入式?jīng)Q定性測試(EDT)技術(shù),采用測試數(shù)據(jù)壓縮技術(shù),對測試激勵和測試響應(yīng)都進行壓縮,通常能帶來數(shù)十倍的測試數(shù)據(jù)壓縮率。EDT在芯片上增加解壓縮模塊,利用環(huán)路發(fā)生器和相位轉(zhuǎn)換電路兩個邏輯塊,對來自于ATE的壓縮激勵向量進行解壓處理,產(chǎn)生內(nèi)部掃描鏈上的測試激勵向量。EDT同時在芯片內(nèi)增加壓縮模塊,利用異或樹和掩蓋邏輯電路兩個邏輯塊,對內(nèi)部掃描鏈輸出的測試響應(yīng)向量進行壓縮處理后輸出給ATE。
2.2 存儲器核
存儲器內(nèi)建自測試是將BIST邏輯電路嵌入芯片內(nèi)部,通過給相應(yīng)存儲器核的外圍加一層測試控制電路,作為存儲器核與芯片系統(tǒng)其他邏輯電路的接口,負責相應(yīng)的測試及控制功能,最終實現(xiàn)片上自動測試存儲器核。以SRAM為例,重要的測試算法有MATS+,MarchC-,MarchA和MarchB等[10] 。
SOC芯片中片上存儲器占芯片面積比重不斷增大,導(dǎo)致了芯片成品率降低??梢圆捎没陔娮颖kU絲的片上存儲器修復(fù)系統(tǒng)技術(shù) [11],利用冗余存儲器里的冗余行和列來替代失效行或列,從而使失效存儲器正常工作,來提高芯片的成品率。其結(jié)構(gòu)可以與MBIST結(jié)合在一起,修復(fù)功能運行受 MBIST的控制器控制。
2.3 微處理器核
對一個上百萬門的嵌入式微控制器,如采用全掃描設(shè)計可以取得較高的故障覆蓋率,但它由于可能在處理器關(guān)鍵路徑上增加可測試性電路,從而增加電路延時,降低電路性能。因此芯核的數(shù)據(jù)通路通常采用基于指令的LBIST方法來進行測試 [4,12]。
微處理器核的數(shù)據(jù)通路主要由三個部分組成:程序計數(shù)器及指令提取單元、指令譯碼邏輯以及微處理指令執(zhí)行單元。LBIST方法需要對此增加三個寄存器:測試控制寄存器(TCR)、線性反饋移位寄存器(LFSR)以及多輸入特征寄存器(MISR),如圖1所示。TCR在測試模式下掃描輸入微處理器的指令操作碼,LFSR生成隨機數(shù)據(jù),提供測試模式下的操作數(shù),而MISR壓縮指令執(zhí)行單元的執(zhí)行結(jié)果,生成測試響應(yīng)的特征值。掃描輸入和掃描輸出可以由邊界掃描來提供。
通常微處理器核中除數(shù)據(jù)通道外還通常包含許多寄存器堆以及RAM單元,這些存儲器單元通常采用MBIST方法。而芯核其他部分比如控制部分通??梢圆捎脙?nèi)部掃描設(shè)計,以獲得期望的測試覆蓋率。因此微處理器核測試是多種測試策略組合在一起的混合測試策略。
2.4 模擬/混合電路核
模擬電路可測試性設(shè)計的主要思想是為測試提供對選定節(jié)點的訪問,可以采用以下技術(shù)提高電路的可測試性:插入測試點,如加入電流傳感器來觀測錯誤電路引起的錯誤電流;進行數(shù)模/模數(shù)轉(zhuǎn)換,通過加入模數(shù)轉(zhuǎn)換器和數(shù)模轉(zhuǎn)換器,從而實現(xiàn)激勵和響應(yīng)的傳播;功能結(jié)構(gòu)重組,通過對電路的功能結(jié)構(gòu)重組,產(chǎn)生區(qū)別于正常工作模式的測試模式來觀測 [4]。
通過提高模擬電路的可測試性后,也可以采用 ATPG方法和BIST方法。較為典型的模擬電路ATPG方法如利用敏感性分析來產(chǎn)生測試向量的方法 [13],該方法可以看作是尋找一個輸入測試向量,使得正確電路的響應(yīng)和故障電路的響應(yīng)數(shù)據(jù)上相差最大。模擬電路BIST方法通過內(nèi)置測試信號發(fā)生器和特征分析器來實現(xiàn),有基于振蕩器的方法、基于頻譜特征分析的方法和基于∑△編碼的方法等 [4]。
2.5 第三方IP核
針對諸如CPU,DSP,MPEG這種通用的IP核可以采用DBIST(deterministic logic BIST)的測試方法[3]。這種面向IP核確定性故障模型進行芯片結(jié)構(gòu)改變和測試模塊加入的DBIST ,采用高效的ATPG重播種的方法進行測試向量生成。
可以利用基于掃描測試的向量生成DBIST的種子數(shù)據(jù)。DBIST結(jié)構(gòu)和測試過程數(shù)據(jù)流向如圖2所示。測試時,ATE通過掃描輸入的方法送入以陰影寄存器(shadow register)的值來置PRPG的狀態(tài),然后PRPG產(chǎn)生一系列的向量(數(shù)量由步長決定),這一系列的向量逐個地通過相位轉(zhuǎn)換電路進一步地擴展到更寬的位數(shù),從而加載到CUT,其響應(yīng)輸出到壓縮電路中,然后輸入MISR產(chǎn)生一個鑒別碼,鑒別碼再被串行地送出到外界。在內(nèi)部IP核測試的過程中,就同時地移入下一個種子的值到陰影寄存器中。接著繼續(xù)用下一個種子來產(chǎn)生測試向量。
3 SOC的DFT策略
一個上百萬/千萬門級的SOC設(shè)計,設(shè)計之初就要在宏觀上進行考慮,以得到最優(yōu)DFT策略。比如嵌入式存儲器模塊是否需要用片上處理器進行測試還是采用MBIST;處理器內(nèi)核本身有沒有采用內(nèi)部掃描或者是否帶有LBIST,它是否能被整合入總體芯片測試方案;怎樣才能使片上專用邏輯取得可以接受的故障覆蓋率;是采用全掃描還是部分掃描等。
3.1 邊界掃描設(shè)計的應(yīng)用
現(xiàn)在大多數(shù)SOC包含模擬信號,一種切實可行的可測試性設(shè)計策略是將模擬部分、數(shù)字部分和存儲器部分分開。為了將測試信號傳遞給各部分和進行互連測試,邊界掃描(IEEE 1149.1和1149.4)是現(xiàn)有的最好解決方案[10] 。
混合信號器件的模擬測試總線(ATB)(IEEE 標準1149.4)體系結(jié)構(gòu)。TAP表示測試訪問端口、ATAP表示模擬測試訪問端口、ABM表示模擬邊界模塊、D(DBM)表示數(shù)字邊界模塊、TBIC表示測試總線接口電路。AT1傳送模擬激勵, AT2將模擬響應(yīng)發(fā)送回ATE。互連中的短路和開路故障很有可能發(fā)生在模擬內(nèi)核和數(shù)字內(nèi)核之間,采用以往的基于IEEE 1149.1邊界掃描方案是不能測試這類故障的,并且也無法測試模擬內(nèi)核,而上述的方案就能很好的解決這些問題。
若SOC邊界掃描方案支持INTEST或RUNBIST指令,則邊界寄存器必須在芯片上電路的數(shù)字部分和模擬部分之間包含接口單元 [10],如圖4所示。這對在INTEST中控制和觀察在模擬部分和數(shù)字部分之間包含的信號是必須的。圖4給出了如何使用INTEST測試模擬內(nèi)核。在任何時間只有一個模擬管腳可以被激勵,也只有一個被觀察。INTEST指令斷開數(shù)字內(nèi)核并將它用來自邊界寄存器的設(shè)置圖形替換。TBIC、ABM模塊和位于數(shù)字內(nèi)核與模擬內(nèi)核之間的三個邊界寄存器單元被用于設(shè)置測試。如果要測試的是數(shù)字內(nèi)核,所有標注為D的單元將是有效的,TBIC和 ABM單元將配置成只能從TDI到TDO傳送信號。
3.2 TOP層測試解決方案
SOC的TOP層測試解決方案如圖5所示。先對存儲器、處理器核、模擬/混合電路核、第三方IP核、專用數(shù)字邏輯等模塊按照上文介紹的DFT方法進行設(shè)計。然后用邊界掃描(符合IEEE 1149.1和1149.4)的控制器來控制芯片內(nèi)各個芯核及專用邏輯的測試,采用層次化的測試訪問機制來實現(xiàn)對各模塊的控制(由邊界掃描控制器控制ITCM,再由ITCM對各子層TCM進行控制)。圖中省略了LBIST和模擬BIST模塊。
內(nèi)部掃描和JTAG結(jié)合以后可以節(jié)省測試管腳數(shù),但不再支持原來的各掃描鏈并行輸入輸出方式,這樣必將使測試向量的掃描移位時間大大延長。所以,如果專用數(shù)字邏輯門數(shù)龐大時,還是應(yīng)采用傳統(tǒng)的并行方式,或者應(yīng)用PBIST,OPMISR, EDT等技術(shù)。各種BIST模塊和JTAG結(jié)合后,不再需要直接與ATE相連,自然也減少了測試管腳數(shù),各BIST模塊測試所需初始化數(shù)據(jù)也可由JTAG來提供。
4 結(jié)語
今天的SOC設(shè)計在測試方面所花的時間和費用可能要比實際功能電路開發(fā)更多,導(dǎo)致產(chǎn)品成本升高,甚至喪失商機。要使新的IC設(shè)計具有全面可測試性的唯一途徑就是開展早期RTL可測試性分析,并綜合運用內(nèi)部掃描、BIST、邊界掃描技術(shù)以及其他新的DFT技術(shù),以提高測試的故障覆蓋率,縮短設(shè)計周期,加快產(chǎn)品的上市速度。