DFT 問答(轉)

Q: Boundary Scan是什麼?應用場景是什麼?實現的方法是什麼?挑戰是什麼?

A: Boundary Scan就是邊界掃描,是由Joint Test action Group起草的規範,最初是爲了解決板級芯片之間的互聯測試的問題,實現方法就是在芯片內部的每個I/O上面加上一個Boundary Scan cell 用於控制和觀測每個I/O的狀態,然後把每個I/O的bscell串連起來交由TAP控制器控制。TAP控制器按照 IEEE1149.1 規範通過5個I/O 串行與外界通訊。雖然Boundary Scan是爲了解決板級芯片互聯的測試而設計的,但是也可以用來進行芯片自身 I/O 的測試,比如 VIH/VIL, VOH/VOL,  highz, I/O漏電等等的測試,IEEE1149.1 規範比較實用於純數字電路的I/O測試,後來爲了解決一些高速差分接口的測試,增加了IEEE1149.6 規範,通過在原有協議的基礎上增加了兩條指令pulse 和transition 來測試差分信號。關於Boundary Scan的部分,三家EDA公司的DFT tool的manual都有詳細的介紹,關於1149.6 AC jtag的部分,大部分的串行接口IP都會支持,可以找相關部分參考研究。關於 AC jtag部分,由於在芯片設計和板級設計上都有一些特殊考慮,挑戰會較大一些。

由於TAP 只需要5個I/O(或者4個I/O)與外界通訊,並且協議比較簡單,所以TAP 除了用來做boundary Scan的控制之外,還大量用來做SoC內部電路的測試控制以及追蹤調試。隨着SoC規模、複雜度的增加以及 time-to-market 要求的提高,基於IEEE1149 規範,後來又提出了 P1500 以及 IEEE1687 規範用來解決 embedded IP的測試控制。相比於其他串行接口,TAP 接口操作簡單,是對 ATE 機臺最爲友好的接口。

對於這一塊,參考學習的資料也很多,最直接有效的方法就是直接翻看成熟IP的Code,舉個例子,不論是哪家的 DDR PHY,USB PHY裏面都有JTAG用於測試以及調試的邏輯,打開代碼看一下就明白咋回事了。


Q: MBIST是什麼?應用場景是什麼?實現的方法是什麼?挑戰是什麼?

A: MBIST是memory build-in self test,就是對芯片中嵌入式的 memory 進行自測試。芯片中嵌入式的 memory 被深深埋到芯片的邏輯當中,根本沒有辦法直接通過外部加激勵來進行測試,必須在芯片中設計一部分電路自動對嵌入式的 memory 進行自測試。現在SoC設計,嵌入式的 memory 所佔面積比例非常高,通常一款SoC, 75%~80% 的面積都是embedded memory,並且embedded memory的density很高,在生產當中很容易產生defect,並且工藝不同,產生defect的density容限也不同,必須把所有有defect的芯片通過測試篩選出來,這樣MBIST幾乎是每款芯片都要做的,對於一些memory佔比高的芯片,不僅要做MBIST還要做Repair。

MBIST的實現方法很多,有很多成熟的flow可供採用,此處不去比較各個flow的優缺點。關鍵是根據自己芯片的特點定製適合自己的flow。Flow的定製也受限於各種因素,比如memory Vendor, tool vendor的選取, 芯片對 timing, area, power, reliability的要求,後端routing的限制等。Flow定製的好,可也節省人力、縮短schedule,節省芯片面積。Flow定製的糙一點,也不是不能做,就是費時、費力,芯片面積大點、測試時間多點,芯片的cost高一些。


Q:MBIST RTL flow跟netlistflow各有什麼優劣?更推薦哪種flow?爲什麼?

A:沒有什麼優劣,只是適合不適合自己。對於design service 公司,推薦 netlist flow,因爲design service 一般都看不到code,而且和客戶之間的delivery 都事前切割的很清楚,和前面反覆的也比較少,netlist flow 也簡單,做起來比較容易一些。

對於 design house 公司,推薦RTL flow,可以提早把mbist做進去,驗證、綜合都可以和設計一起做,效果好一些。RTL flow複雜性會大一些。主要體現在rtl coding style, design database的管理,sdc 的處理等上面。


 

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

A: 主要考慮memory type, clock domain, physical location, power consumption等,做mbist的時候最好帶着def做。


 

Q: LBIST是什麼?應用場景是什麼?實現的方法是什麼?挑戰是什麼?

A: LBIST 是logic build in self test. 就是對邏輯進行內建自測試,不同於ATPG, LBIST的測試激勵是由on-chip的電路自己產生,對功能邏輯進行掃描測試。不依賴於ATE機臺,直接在板上進行測試,甚至芯片部署到產品中以後也可以進行in-system 的測試。LBIST的開發難度大、開發週期長,對芯片面積也有很大的開銷,一般都是對可靠性要求比較高的芯片才做LBIST,像消費類的產品鮮有做lbist的。由於LBIST on chip產生的激勵是僞隨機的,coverage一般不高,並且對芯片中的X-source敏感,芯片中的X-source會直接crash LBIST,所以進行lbist設計,清理芯片中的x-source是很大一部分工作量。


 

Q: Analog 的DFT如何實現?常用的結構有哪些?挑戰是什麼

A: Analog的DFT測試一直都是一個難點,現在Analog的測試都還是要依靠designer在電路是添加測試電路,完全依賴於designer實現的


 

Q: 常說的scan chain,stuck-at跟at-speed test各是什麼?分別如何實現?挑戰是什麼?

A: 這些都是屬於ATPG測試,stuck-at pattern是用來測試電路中stuck類型的defect,比如open, short, tie high, tielow等。At-speed test主要是用來測試電路中timing相關的defect。ATPG pattern 的產生主要是依賴於EDA工具來實現。設計的挑戰來自於對SoC設計的理解,特別是Clock domain的控制,對於CDC path的處理,這些都是design dependent 的,所以DFT工程師要對設計非常瞭解纔行


 

Q: 壓縮解壓縮的概念是什麼?爲什麼引入壓縮解壓縮?如何定義壓縮比?

A: 所謂壓縮就是爲了節省scan I/O的數量,把scan chain的數目壓縮一下再拉到I/O管腳上面去,壓縮比沒有什麼嚴格的規定,主要看芯片可用I/O和內部scan chain的個數而定,從幾十到幾百都可以。


Q: ATPG是什麼?用於DFT的哪個方面?在電路結構上如何體現?如今業界算法是否大同小異?最流行的算法是什麼?

A: ATPG 是autotest pattern generation, 用於利用scan chain 來測試數字電路中的defect,做ATPG先決條件必須是插好scan chain。ATPG算法已經相當成熟,各家的EDA工具大同小異,沒有太大差別。以前還搞過模擬退火算法,已經很多年沒有跟蹤這一塊的進展了,對於電路設計者來說,沒有必要了解ATPG具體採用了什麼算法,完全依賴於EDA工具就可以。


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

A:這些都是同一個東西,不同人的不同叫法。就是爲了at-speed ATPG測試時在function clock和shift clock之間切換的控制邏輯。不同人設計的電路不一樣,它就是一個2選一的clock mux,設計時注意處理一下cdc的path,不要產生glitch就行了


 

Q: DFT的標準都有哪些?分別是什麼?用於什麼?

A: 沒有硬的標準,就是一個tradeoff.   做芯片就是tradeoff。根據自己芯片的實際情況做一些tradeoff。時間、性能、成本各個方面的tradeoff。


 

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

A: 大類上面基本都覆蓋了。能想到的就是一些對可靠性要求非常高的產品,需要做 in-system 的test,這類芯片的DFT設計挑戰非常高,不僅需要DFT的知識,還需要有一定的系統方面的知識。這一塊國內涉及的人比較少。


Q: 當前DFT的發展趨勢是什麼?

A: DFT是一個實戰性很強的專業,是爲了解決芯片設計、製造的問題而存在的,他不可能獨立發展。他要伴隨着芯片的發展而發展。假如存在一個理想情況,foundry足夠牛,生產的芯片100%是no defect的,在使用過程中也不會引入新的defect,那DFT就沒有必要做了,費人費力費面積。所以我們不說發展趨勢,說發展需求,由於國內芯片行業發展的非常快,已經開始涉及對芯片可靠性要求非常高的行業,比如工業控制,汽車電子等產品,這些產品對芯片的可靠性要求高,一般需要對芯片做in-system的測試,這要求DFT越來越向system靠攏,要求DFT工程師對sytstem要熟悉。


 

Q: 16/12、7nm對於dft有什麼挑戰,或者有什麼需要注意的地方嗎,從方法學和flow的角度?

A:從兩個方面來說:其一,工藝節點本身發展帶來的挑戰。主要是指工藝節點的演進引入的新的defect model 需要新的DFT算法來檢測。老實說對於這一部分大部分工程師或者公司無能爲力,因爲需要foundry支持,只有大公司纔有可能獲得foundry的合作。所以只能依賴於EDA工具來support。其二是由於工藝節點的演進帶來的集成度的提高,使得SoC規模越來越大,SoC集成的東西越來越多,同時SoC面臨的time-to-market的壓力也最大,對於這一部分,工程師能夠支配的空間就很大,一個完整、完備、自動化的flow對於提高交付的質量是一個很好的保證。


1. Boundary Scan

A:Boundary scan 顧名思義,是附加在芯片I/O 周邊的掃描測試鏈,它通過專門的測試端口(TAP)訪問。在測試模式下,邊界掃描鏈會接管功能邏輯,對I/O進行靈活訪問。邊界掃描鏈的結構,測試端口,以及其控制器(TAP Controller),被IEEE定爲標準協議(IEEE  1149),  也稱做JTAG.   邊界掃描鏈最早應用於印刷電路板上芯片間的互聯測試, 後來也廣泛應用於生產測試中對芯片管腳的測試。

MBIST Memory內建自測試:

A:MBIST是指在電路中加入針對Memory的自測試電路。在測試模式下,它會接管功能邏輯對memory的控制,依據特定算法,對memory進行讀寫測試操作,判斷Memory是否有製造缺陷。至於面臨的挑戰,從以下幾個方面來探討:

  • 對於Memory Vendor來說, 在新工藝下,memory可能會有新的失效機制,如何設計有效的MBIST 算法是一項重要的研究課題。

  • 從EDA角度看,目前業界工具對常規memory     (SRAM, ROM, Register File等)的支持已相對成熟。芯片公司對EDA 提供針對特殊類型的memory (如TCAM, DRAM )的測試方案的需求正日漸迫切。

  • 從芯片實現的角度看,設計者需要考慮如何使得MBIST邏輯對芯片PPA的影響最小。對於使用帶Redundacy Memory的design來說,要考慮自修復(self-repair),也會增加設計和驗證的難度。

 

 

Logic Bist:

LBIST (Logic Built-In Self Test)是針對邏輯電路的自測試。測試激勵由片上 PRPG  (Pseudo-randompattern generation) 來產生。輸出響應通過 MISR(Multiple Input Signature Register)來壓縮,最後對得到的特徵值進行比對。LBIST 多應用於對可靠性要求較高的芯片(如汽車電子,工業級應用)的系統自檢測試。LBIST產生的激勵是隨機的,所以天生的缺陷是測試覆蓋率不充分,通過在設計中增加測試點(Test Point Insertion)可以在一定程度上得到改善。

 

 

scan chain  stuck-at, at-speed:

A:業界有兩種 SCAN Style: LSSD 和MUX-D.  普遍使用的是MUX-D的掃描方式。所謂MUX-D, 是指在D觸發器的數據端增加了一個MUX, 可以選擇數據是從 D 輸入,還是測試專用的SDI輸入。 在測試模式下, MUX-D  Flop  被配置成若干條移位寄存器,也就是掃描鏈。通過這些掃描鏈,內部寄存器可以被移位設置成想要的狀態(scan load) ;同樣的方式,內部寄存器的狀態也可以被移位出來(scan unload),進行觀測。

Stuck-at Test 也叫做Static Test, DC Test。它是針對製造工藝中 Stuck-at 類型失效機制的測試。Stuck-at是最基本的一種失效機制, 比如某個net短路到Ground,就叫做Stuck-at-0 Fault。某個net短路到VDD,就叫做Stuck-at-1Fault。

Transition fault 是對timing path 的 slow-to-rise 或 slow-to-fall失效機制的表訴。對其測試時需要至少兩個at-speed 時鐘,一個是Lauch clock, 另一個是Capture clock,At-speed測試在工藝進到90nm以下被廣泛使用。

 

 

壓縮和解壓縮:

芯片設計規模愈來愈大,受到管腳數目的限制,傳統的掃描鏈變得越來越長,導致測試時間無法承受。縮短掃描鏈, 增加掃描鏈的數目,是減少測試時間的根本手段,由此壓縮解壓縮技術應運而生。

但單方面地增加壓縮率,並不意味着測試時間的線性遞減。過高的壓縮率反而會使得覆蓋率降低,測試時間變長,得不嘗失。壓縮比的高低受到 compression 架構的限制,目前業界卓越的 compression 架構可以做到幾百甚至上千的壓縮比。但爲什麼絕大多數設計公司止步於100-200X的壓縮比?

更重要的一個因素是過高的壓縮比會帶來嚴重的繞線擁堵,對物理實現帶來挑戰。

Cadence的Physcial Aware Compression 技術對此提供了完美的解決方案。

 

 

ATPG:

ATPG (AutomaticTest Pattern Generation)  指工具應用相應算法產生測試向量的過程,它廣泛應用於生產測試中對邏輯電路的測試。ATPG算法研究的是,針對電路中的故障,如何激發故障、觀測故障效應等。教科書級別的算法有D算法和PODEM等。各EDA廠商ATPG算法的差異性主要是由不同的 Compression 架構導致。不同的工具競相追逐的主要目標是在達到相同測試覆蓋率的前提下,誰的測試時間最短,從而爲客戶節省成本。ATPG工具的runtime也是評價ATPG工具的重要指標之一。

 

 

測試時間:

A:ATE測試程序會分別針對芯片IO,  邏輯電路, Memory 以及模擬電路進行全面的測試。測試數據量的大小, 測試向量運行頻率,如何最大限度的並行測試,都是影響測試時間的重要因素。同時,在測試機臺上儘可能做Multi-site 測試, 即多塊芯片同時測試,也是縮短平均測試時間,降低成本的重要手段。

OCC/OPCG/scan clock mux:

A:芯片的運行速度愈來愈快,從幾十兆赫茲,到幾百兆赫茲,再到幾個Giga赫茲。但測試機臺的發展卻相對滯後(一般在一兩百兆左右), 這就需要利用片上PLL提供at-speed測試時鐘。

OCC  (On-Chip Clock) 或 OPCG (On-Product Clock Gating)是爲了做at-speed測試,在設計中增加的時鐘控制模塊。它的基本原理是在 scan shift 模式下, 選通慢速的ATE 時鐘,load 或 unload 掃描鏈; 在 capture 模式下,對 free-running PLL clock 過濾篩選出 lauch 和 capture clock 進行at-speed 測試

 

 

MBIST RTL vs Gate:

A:很多芯片設計公司都偏愛 MBIST RTL flow, 其中很重要的一個原因,就是在設計早期,可以在 RTL Level 做MBIST的快速驗證。

Gate Level MBIST flow 則可以提供很高的自動化程度 。綜合工具可以對設計中用到的所有 Memory 有一個全局把控,根據時鐘域,Floorplan, power domain, memory power consuption等因素合理地對Memory分組, 自動制定Test plan。

 

DFT 標準:

IEEE1149:Standard Test Access Port and Boundary-Scan Architecture

The IEEE 1149.1 standard defines test logic that can be included in an integrated circuit to provide standardized approaches to 

  • testing the interconnections between integrated circuits once they have been assembled onto a printed circuit board or other substrate; 

  • testing the integrated circuit itself; 

  • observing or modifying circuit activity during the component's normal operation. 

The test logic consists of a boundary-scan register and other building blocks and is accessed through a Test Access Port (TAP).

 

IEEE1500:Standard for Embedded Core Test

IEEE Std 1500 is a scalable standard architecture for enabling test reuse and integration for embedded cores and associated circuitry. It foregoes addressing analog circuits and focuses on facilitating efficient test of digital aspects of systems on chip (SoCs). IEEE Std 1500 has serial and parallel test access mechanisms (TAMs) and a rich set of instructions suitable for testing cores, SoC interconnect, and circuitry. In addition, IEEE Std 1500 defines features that enable core isolation and protection. IEEE Std 1500 will reduce test cost through improved automation, promote good design-for-test (DFT) technique, and improve test quality through improved access.

 

IEEE1687:Standard for Access and Control of Instrumentation Embedded within a Semiconductor Device.

This standard develops a methodology for access to embedded instrumentation, without defining the instruments or their features themselves, via the IEEE 1149.1(TM) test access port (TAP) and additional signals that may be required. The elements of the methodology include a description language for the characteristics of the features and for communication with the features, and requirements for interfacing to the features.

 

IEEE1838:Standard for Test Access Architecture for 3-D Stacked Integrated Circuits.

For 3D-SICs, three parties are involved: Die Maker(s), Stack Maker(s), and Stack User(s). All circuit features of the stack are included in the individual die designs. Design and integration of test access features needs to be done by the Die Maker(s), not only to serve their own (pre-stacking) test objectives, but also to serve test objectives of Stack Maker and Stack User. After stacking, test (control and data) signals need to be able to travel from the stack's external I/Os up and down through the stack. Hence, the test access features in the various dies of the stack need to function in a concerted and interoperable fashion. Different dies might have their own technologies, design set-up, and test and design-for-test approaches; the standard should not modify those. The standard defines test access features for a die that enable the transportation of test stimuli and responses both for testing THIS DIE and its inter-die connections, as well as for testing OTHER DIES in the stack and their inter-die connections.

 

 

DFT 發展趨勢:

A:取決於芯片的應用領域,DFT 發展趨勢、側重點會有所不同。

  • 對於Mix-signal 的設計, 受到芯片管腳較少的限制, 如何做 low-Pin-Count Test是一個挑戰;

  • 對於汽車電子而言,出於安全考慮,設計者考慮更多的則是如何將測試覆蓋率做到極致;

  • 消費電子的規模愈來愈大,受到芯片管腳數目,ATPG runtime 以及測試功耗等因素的約束,傳統的 Flat-ATPG 已不再適用。 層次化測試 (Hierarchical Test) 成爲主流。 層次化測試不僅可以允許不同模塊靈活分組測試,而且在block level 產生的測試向量可以在頂層複用,減少ATPG的 runtime;

  • 另外,一些新技術的出現,如3D Stack Die, 如何做 TSV test, 也給DFT帶來新的課題

 

 

新工藝挑戰:

A:當工藝進步到28nm以下時,業內有不少聲音指出 Cell Aware Model 可以幫助減少testescape,提升DPPM。通常的Fault Model是在Standard Cell level 對fault 建模, 所謂的 Cell Aware Model 是指在 transistor level 對fault 建模。 至於在最新工藝10nm, 7nm及以下,需要什麼樣的fault  model,   還是需要大數據說話,讓我們拭目以待。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章