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