DFT 問答 III


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生成等等。

 

 

OCC/OPCG/scan clock mux用途是什么?工作原理是什么?如何實現?

A:  OCC/OPCG/SCAN mux等等首先是實現Scan DRC fixing,然后是根據不同 clock domain 的具體要求,決定是僅僅進行 stuck-a t還是更一步的 at-speed 測試。

 

它的工作原理是采用一組串在Scan Chain上的FF,作為pulse數量控制寄存器來 Shiftin 預設數值,再結合一組 function clock 的 pulse counter 寄存器,共同完成在 ATEclock 和 PLL/Func clock 之間的glitch free 的clock 切換。

 

在實現方式上,前端設計公司大多用 RTL hand coding module 在 clock gen 設計過程中就放入RTL database當中去;如果用EDA tool實現的話,S家的OCC跟C家的OPCG都是比較普遍的做法。

 

MBIST RTL flow跟netlistflow各有什么優劣?更推薦哪種flow?為什么?

A:從各種不同類型項目在RTL和netlist 上MBIST實現的工作經驗來看,兩者互有優劣。  個人感覺基於RTLflow更為清晰、靈活,對於復雜結構更容易完成工程師的特殊定義和約束要求;而基於netlist  flow比較單純、簡單,但對一些額外要求實現就比較困難。具體用那種flow,要根據該次項目的實際情況和整個DFT flow的具體情況來分析,以真實項目經驗來說,兩種還都在使用中的。

 

 

MBIST時,Memory partition要考慮哪些因素?推薦的做法是什么?

A:MBIST設計中的memory partition 因素主要有:

  • memory instance 在floor plan中的location (DEF + more) ,主要是解決繞線長度( timing / transition ) 和congestion問題;

  • memory 所處的power domain和clock domain,主要是滿足atspeed test 要求;

  • memory type 和Group balance,主要是優化test time,同時也考慮physicalrouting和測試power consumption/IR drop 等等;

  • 其他還需要參考的因素還有部分 User-defined/programming Algorithm要求, MBIST diagnosis 以及memory redundancy repair要求等等

 

 

DFT的標准都有哪些?分別是什么?用於什么?

A:  DFT 的標准,如上面提到的每一種測試項,分別從不同角度去考量;

  • 如Scan,最主要就是 Stuck-at 和 At-speed 分別test coverage是多少,這點是決定量產 Yield 的關鍵;還有是 pattern volume 和相應 test coverage 的可實現程度;

  • MBIST 標准主要有 100% memory instance 已經被覆蓋到;各個MBIST case / pattern 的設計頻點 ( timing closurd );各個group采用的 MBIST Algorithm, 是否 Repairable 及其策略;

  • BSCAN,主要就是各組 pattern involved IO list, pattern類型等;

  • 對Analog & IP DFT 差異比較大,個人認為考量標准有能夠 cover 的 digital/analog path范圍;lpbk可以配置的pattern種類;數據的 sampling rate和可配置頻率等。

 

 

 

除了以上提到的,DFT還有哪些類別?

A:   群主所提問題已經非常專業全面了,如果非要再找一些邊邊角角,那想來DFT還必須包含內容:如BurnIn,結合CPU和Code的測試,OTP/DRO/Sensor IP等等;另Analog&IP DFT林林總總可能十幾項也各不相同。

 

當前DFT的發展趨勢是什么?

A:   個人想來應該有很多很多,還是僅僅拋磚引玉吧:

  • 隨着集成電路規設計技術的發展,芯片的運行頻率越來越高如2GHz以上,DFT design 電路和實現策略要相應發展;

  • 隨着集成電路規模的持續迅速發展,ATE上 DFT pattern 的量產封測當中的花費以及在整個芯片中的成本比重越來越高(如有些品線20%+),那么為了減少測試時間和想辦法提高測試效率提高的DFT 技術和架構持續發展;

  • 高速發展中的汽車電子、自動駕駛和AI 等集成電路,芯片的 Safety Critical 緊密關聯的 DFT Design Solution要求也越來越急迫,如 ISO26262 Certified Testsolution 等等;

  • 半導體制造工藝的持續快速發展到12nm、7nm等,工藝缺陷和foundry生產當中 defect方式、類型、分布,隨之相對應的fault model、測試算法的發展;

 

個人認為,DFT 在以后集成電路發展中將會越來越重要, DFT 攻城獅需要掌握的基本技能和熟悉知識面要求越來越多。

  • 無論是前面都提到的在芯片中的成本比重,對整個產品Yield的決定性,還是對整個系統工作的安全、可恢復性,以及最終的對某一款芯片是不是可以推進產品化,都將起到越來越重要的決定作用;

  • DFT 工作基本要求愈來愈廣泛,例如必須完成在RTLCoding 和整個database DFT integration,熟練掌握實現過程中的 FV, Synthesis, SDC/STA 和 timing closure等,並熟悉后端 Physical 相關 floorplan, CTS, PGA 等等;

  • DFT 在 silicon, ATE  和 PCB 系統上面調試和 debug 工作將越來越重要。如在 silicon 回來之前進行的 ATE pattern generation 和全面的 verification;面向 ATE CP, FT 等 pattern programming;拿到silicon后第一時間的ATE testing bring up以及IC 量產中的FA等,都不斷有新的技術發展和新要求,我們攻城獅必須保持一顆不斷學習、緊跟技術潮流的心啊! :)

  • 最后,做DFT和做silicon其他一樣一樣的,借用流行的話來說就是需要工匠精神。對於新技術、新工藝可能大家都能夠掌握,但是仔細、耐心和要求盡善盡美,才是決定芯片是不是可以正常work、進一步產品化成功的最最關鍵因素。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM