1.Boundary scan
Boundary Scan就是我們俗稱的邊界掃描。Boundary Scan是上世紀90年代由 Joint Test Action Group(JTAG)提出的,它的初衷是為了解決在PCB上各個大規模集成電路間的信號互聯測試需求,所以往往也被叫做JTAG(JTAG更是指由IEEE1149.1標准規定的4線接口極其控制邏輯如TAP、TDR等)。現在 JTAG / BScan 已被絕大多數芯片設計公司和系統廠商所采用,作為一種芯片 IO PAD connectivity測試、DC Characterization、內部邏輯電路debug、在線系統 PRGM 和系統級測試的一種高效手段和業界標准。
個人認知,JTAG/BScan 的實現主要有兩種實現方式:一是RTL hand coding,一般從算法開始到系統的全系列公司常用;二是借助 EDA 廠商提供的 tools 來實現。這里要特別提及一下,非常佩服前任大牛老大,在項目間隙大家都在放羊的間隙,楞是用C寫了一個 In-house BScan insertion 定制化工具。非常感慨:聰明的人不可怕,可怕的比我們聰明的人還比我們更勤奮!
JTAG/BScan 在DFT領域里面相對比較簡單,所以沒有多少挑戰,作為新工程師了解和進入項目的初始工作任務是非常不錯的一個task。 特別注意一些彎彎繞的地方,個人認為可能就在於:
-
越來越多的MCP產品測試需要,在die的不同階段BScan的不同測試方法和pattern准備;
-
除了基本的In/Out/OEN的測試外,對PAD其他控制信號的測試實現。
-
2.MBIST
MBIST就是Memory Build In Test簡稱。隨着集成電路規模和復雜程度的不斷提高,在ASIC/SoC 中集成的 memory 數量和所占的die size比例非常高(例如>40% in AP),同時 memory 本身的 cell density 也比較高,那么相應地在 memory 上面的制造 defect 在SoC的比例也較大。
MBIST 從上世紀90年代末發展起來、為實現對IC 內部集成memory 的測試而生。
MBIST design 的實現,主要靠EDA工具來完成,最早做的很好的一家是 Syntest 的TurboBIST, 不過好像現在這家EDA公司日漸式微,奈何美人遲暮英雄末路。 目前EDA三巨頭各家都有自己MBIST的解決方案。
對於MBIST design過程中和芯片測試過程中的挑戰,個人認為還是在diagnosis, auto-repaire和FA了。
-
LBIST:
A:LBIST 顧名思義就是LogicBIST,實現靠Tool。挑戰主要是LBIST design overhead, Test coverage 以及最終的測試時間等.
- Analog DFT:
Analog DFT,常常也把一些數模混合的IP歸集到這一范疇,這部分基本不太可能依賴EDA tool來實現,往往都基於RTL coding 完成。Analog/IP DFT比較常用的架構有Internal/External Loopback, JTAG program test,IO pin test muxing, embedded reg/mem sampling 等等。這部分重點是需要和 Analog/IP designer 緊密合作,共同確定后續lab和量產測試的spec;還有就是因為包含了Analog部分,如何完成仿真驗證需要特別注意。
scan chain,stuck-at跟at-speed test各是什么?分別如何實現?挑戰是什么?
A:Scan chain即是由芯片中的寄存器串在一起組成的掃描鏈; stuck-at和at-speed指的是ATPG 當中的fault model。Scan chain insertion 同樣是靠工具完成。
壓縮/解壓縮的概念是什么:
這里所說的壓縮是專指 Scanchain 的壓縮(Compressor)。由於集成電路規模的不斷增大,內部的寄存器數量也越來越龐大,如果沒有壓縮技術, Scan chain會非常長,相應的在ATE 上的test time就長,而ATE test time是影響整個芯片成本的一個關鍵因素。
具體壓縮比的定義,還是要看是用那種架構來實現。比如M的TK,由於它使用LFSM電路結構,所以它能夠做到比較高的壓縮如數百倍或更高,工具同時支持用戶利用analyze方式來提前評估各壓縮比例的優劣。近年來S和C家也改進了壓縮解壓縮的電路結構,加入了時序邏輯到壓縮解壓縮電路中,壓縮比都能做到足夠高。
ATPG是什么?用於DFT的哪個方面?在電路結構上如何體現?如今業界算法是否大同小異?最流行的算法是什么?
A:ATPG 是Auto Test Pattern generation即測試向量生成的簡稱,用於DFT Scan 設計的驗證和測試pattern的產生階段。由於Scan是基於基本的數字邏輯電路Flip Flop以及之間的datapath完成測試的,所以據個人認知,Scan的算法也是基於Digital 電路的基本測試原理,比如D算法, Fan算法等等,各家無出其右。
測試時間跟哪些因素相關?縮短測試時間的辦法有哪些?
-
A:測試時間相關因素有:SoC的規模,Test Plan和DFT Spec的要求,DFT design實現架構,具體DFT各項實現方法,DFT mode SDC和 timing signoff,還有Physical floor plan和IR drop影響等等。
與此對應的,努力減少測試時間和陳本的關鍵就是首先case by case定義好該芯片的DFTSpec,然后基於芯片實際情況選擇最合理的design flow和EDA tools, 與STA 攻城獅一起評估和定義高效而又合理的SDC,結合后端的情況和將來 ATEpattern program的考慮,調整DFT design 情況和后面的pattern生成等等。