1.什么是Design for Tesability,我們?yōu)槭裁葱枰?/strong>
a. 芯片在制造過程中的問題
如今,半導(dǎo)體是整個電子行業(yè)不斷發(fā)展的核心。新技術(shù)的發(fā)展,尤其是先進技術(shù)節(jié)點,如7nm及以下工藝,使集成電路行業(yè)能夠跟上消費者不斷增長的性能需求,也即摩爾定律得到延續(xù),毫不夸張的說,集成電路技術(shù)是人類科技的支點。
但是,新的技術(shù)同時帶來了新的挑戰(zhàn),芯片尺寸的變小會增加某些錯誤的可能性。芯片制造過程中的錯誤是我們不愿看到的,下面列出芯片制造中可能出現(xiàn)的一些問題。
- 密度問題 :隨著納米技術(shù)的出現(xiàn),芯片制造過程越來越復(fù)雜。設(shè)計的晶體管越來越小,溝道長度越來越小,后端連線也越來越密集。現(xiàn)在的芯片,普遍有數(shù)十億個晶體管,所以,兩根導(dǎo)線之間短路或斷路的概率很大,這些是錯誤或者故障的來源。關(guān)鍵是,在設(shè)計和制造過程中可能會出現(xiàn)大量此類錯誤。綜上所述,晶體管密度的增加,芯片失效的可能性大大增加。
- 軟件問題 :此外,除了制造過程的defect,用于設(shè)計芯片的EDA軟件的bug或者工程師的失誤,也會造成芯片失效。
- 應(yīng)用問題 :在一些關(guān)鍵應(yīng)用中,我們無法承受芯片的故障。例如,在醫(yī)療行業(yè),設(shè)備控制器中的單個故障甚至會造成個人生命危險。對于使用低溫燃料運行的火箭或航天飛機,其控制芯片需要在較寬的溫度范圍內(nèi)工作。因此,這些芯片的測試條件應(yīng)針對特定的環(huán)境且在極端條件上進行,以防止使用過程中發(fā)生任何故障。
- 維護問題 :萬一未來發(fā)生故障,為了進行維修或者保養(yǎng),我們需要精準定位問題。由于PCB尺寸不斷縮小,因此用萬用表測試已經(jīng)無法定位問題,而且模塊化設(shè)計正朝著SoC設(shè)計的方向發(fā)展,從而失去了相關(guān)性,最后使維護過程變得更加昂貴。
- 商業(yè)問題 :如果發(fā)現(xiàn)設(shè)計的芯片存在故障,最終會轉(zhuǎn)化為公司的重大損失。稍后我們將討論如何及時發(fā)現(xiàn)故障來降低成本。
即使在封裝過程中,也有可能出現(xiàn)故障??紤]到所有這些問題,最關(guān)鍵的是在芯片出廠前進行測試,并且在每個關(guān)鍵過程都需要測試。
b. 解決問題的辦法:DFT
測試從來就不是免費的午餐?,F(xiàn)在的CPU都包含超過1000多個pins,內(nèi)部包含許多功能,如果芯片內(nèi)任一晶體管出現(xiàn)故障,整個芯片就會失效。作為消費者,我們不希望用到有故障的芯片。但是,要從數(shù)十億個晶體管中找到單個缺陷晶體管,猶如大海撈針。我們需要窮盡各種組合來測試芯片所有功能,如果以這種方式進行測試,那么芯片上市時間非常久遠,甚至以至于芯片可能永遠無法到達消費者手中。那么如何解決這種問題?我們使用一種方法為芯片添加測試功能,叫可測性設(shè)計design for testability,DFT并不影響芯片的正常工作。
簡而言之,可測性設(shè)計是一種通過向芯片添加更多電路來使芯片測試變得可行且具有成本效益的設(shè)計。此外,可測性設(shè)計技術(shù)可以改善內(nèi)部節(jié)點的可控性和可觀察性,從而可以測試芯片內(nèi)部功能。
c. DFT的作用
i.測試時序電路
DFT提供了測試時序電路的解決方案,時序電路由于和時鐘相關(guān),正常的測試非常困難。與組合邏輯電路不同,我們無法僅通過查看輸入來確定時序電路的輸出。時序電路的輸出取決于輸入和時鐘狀態(tài),很難從外部控制和觀測內(nèi)部觸發(fā)器。
因此,除非將時序邏輯電路初始化為已知值,否則無法對其進行測試。為了初始化它們,我們還需要一組特定的功能。DFT使我們能夠?qū)⒋斯δ芴砑拥綍r序電路中,從而使我們能夠?qū)ζ溥M行測試。
ii. 優(yōu)化芯片制造過程
DFT在芯片制造過程中實現(xiàn)了兩個重要目標:
- 拒絕有故障的芯片(品控)
測試會檢查制造過程中的錯誤,這些錯誤會在設(shè)計的芯片中產(chǎn)生故障。較早的檢查到故障,則可以將有故障的芯片丟棄,可以節(jié)省時間和金錢
- 監(jiān)控和提高制造能力
芯片在制造過程中會經(jīng)過很多次測試,如果測試失敗,EDA軟件可以定位到某個具體位置,然后進行切片分析其微觀結(jié)構(gòu),最終定位到制造過程中。
d. DFT可以永久的消除故障嗎?
測試是否可以保證芯片再也不會出現(xiàn)故障?
不會,芯片到客戶手中,也有可能出現(xiàn)故障。如果芯片暴漏在高溫或潮濕的環(huán)境或由于老化而隨時可能出現(xiàn)故障。
舉個例子,如果你有未鎖定的CPU,你可以嘗試超頻,但是請不要這么做!
超頻是一種將系統(tǒng)頻率和電壓提高到額定值以上的方法,配置不正確的超頻可能會干擾時序指標并導(dǎo)致不穩(wěn)定性。長時間超頻會導(dǎo)致系統(tǒng)過熱并承受壓力,從而縮短計算機的使用壽命。這可能會導(dǎo)致芯片間歇性故障,并在將來造成隨機崩潰。除此之外,它也可能使保修無效。以上例子只是對現(xiàn)實生活中可能發(fā)生故障的一種解釋。
關(guān)鍵是,您甚至可以自行產(chǎn)生故障,芯片永遠無法抵抗故障。它們總會發(fā)生,那么我們需要做些什么?測試設(shè)備可以增強我們的信心,通過測試芯片,供應(yīng)商試圖最大程度地減少將來發(fā)生錯誤和故障的可能性。
為了確保高質(zhì)量的芯片,芯片在設(shè)計過程中還涉及一個輔助過程,即為驗證。
2. 驗證和測試的關(guān)系
a. 驗證和測試的不同點
驗證證明設(shè)計的正確性和邏輯功能,在使用硬件描述語言(VHDL/Verilog)對RTL設(shè)計進行編碼后,即可完成該過程。它是用高級語言編寫testbech來完成的。這僅在芯片實際制造之前執(zhí)行一次,在設(shè)計中,通過system verilog進行驗證,例如UVM。驗證本身是一個單獨的話題,這里不深入討論。
相反,測試試圖在芯片設(shè)計過程的每個抽象級別上保證所制造的芯片的正確性。由于在芯片制造和封裝過程中均有可能發(fā)生故障,因此需要對每個芯片進行測試。通過測試,我們可以改善市場上出售的芯片的質(zhì)量。
b. 職業(yè)選擇?驗證 vs DFT
讓我們先討論下這兩個職位的工作內(nèi)容。
驗證和DFT在芯片設(shè)計行業(yè)中都很重要,從產(chǎn)品開發(fā)的角度,這兩者的范圍都很廣,你可以根據(jù)自己的興趣愛好,自行選擇。
芯片設(shè)計大約2/3的時間用于驗證,從而使其成為VISL設(shè)計流程中最耗時的過程,因此與DFT工程師相比,驗證工程師的數(shù)量也是很大的,如果你是DFT工程師,那么與驗證團隊相比,團隊規(guī)模會小很多。
DFT:
對于DFT,你需要精通CMOS VLSI,數(shù)字電路,數(shù)字電路測試,Verilog和一些腳本語言,這些技能將在你日常工作中發(fā)揮重要作用。你工作中會用到perl,shell和TCL等腳本語言。同時,DFT相關(guān)的EDA工具如:DFT compiler,TetraMAX,Tessent等。你將會和后端物理設(shè)計工程師和前端設(shè)計工程師緊密合作,職業(yè)道路,可能更適合后端物理設(shè)計,并且必須面對新技術(shù)的發(fā)展。
驗證:
對于驗證領(lǐng)域,你將從事設(shè)計開發(fā)和某些高級的testbench的編寫,這需要分析和軟件編程能力,以及硬件技能。需要具有verilog,system verilog,C++的專用知識等。
驗證分為兩個階段:功能驗證和物理驗證。大多數(shù)驗證工程師不會直接參與電路設(shè)計,晶體管或后端設(shè)計部分,主要著眼于前端領(lǐng)域。要成為驗證專家,你需要實際項目經(jīng)驗。
4. 測試的分類
從等級角度,測試類別可分為:
- Chip-level
- Board-level
- System-level
有一條經(jīng)驗法則,叫十倍原則,從低級到高級(chip-->board-->system),測試成本要高10倍,如果在不同階段發(fā)現(xiàn)芯片失效,損失的代價也是10倍左右。所以我們要盡早發(fā)現(xiàn)失效芯片,以減少損失。
5. 芯片失效的來源
下面是一些可能的故障來源:
- 芯片制造,例如contact的短路或開路。
- 材料缺陷,例如基底材料的裂紋或缺陷,表面雜質(zhì)等。
- 老化損耗,介電擊穿,電子遷移等。
- 封裝過程,接觸點短路或斷路等。
6. 故障的分類
故障可以分成如下類別:
7. DFT技術(shù)
DFT技術(shù)廣泛的分為如下兩種類型:
Ad-hoc techniques
這些是從設(shè)計經(jīng)驗中學(xué)到的芯片設(shè)計過程的技術(shù)或規(guī)則集合,以使設(shè)計可測性更容易實現(xiàn)?;旧?,這些是在遇到各種錯誤之后隨著時間的推移而收集到的規(guī)則。
- Advantage
測試向量易于生成,沒有設(shè)計規(guī)則約束,并且不會增大面積
- Drawbacks
測試結(jié)構(gòu)不能重復(fù)利用,因為每種設(shè)計都有其特定的要求和可測性問題。無論使用哪種電路,都無法保證較高的可測性,系統(tǒng)性不足,無法采用統(tǒng)一的方法來進行可測性電路設(shè)計。
- Example
以下是一些專用DFT技術(shù)必須遵循的規(guī)則:大規(guī)模電路應(yīng)劃分為較小的子電路,以降低測試成本。必須插入測試點,以增強電路的可控性和可觀察性,可以通過增加節(jié)點數(shù)或為要觀察的內(nèi)部節(jié)點多路復(fù)用現(xiàn)有的主要輸出來完成。
Structured techniques
在這種技術(shù)中,額外的邏輯和信號被添加在電路中,以允許根據(jù)一些預(yù)定義的過程進行測試。
- Advantage
和專用DFT技術(shù)相比,結(jié)構(gòu)化DFT技術(shù)意味著無論電路功能如何,始終可以使用相同的設(shè)計方法并確保良好的可測性。該技術(shù)是解決當今世界DFT問題的唯一解決方案。
- Disadvantage
但是,需要付出一定的代價,通常包括接受一定的設(shè)計規(guī)則,并且需要承受額外的面接和延遲。
- Example
以下是結(jié)構(gòu)化DFT技術(shù)的一些示例,我們后續(xù)會詳細介紹。
- scan path
- partial scan
- level sensitive scan
- BIST
- Boundary Scan
8. 總結(jié)
本文對VLSI中可測性設(shè)計做了簡短介紹,關(guān)鍵點在于,IC制造過程很容易出現(xiàn)問題,這些故障可能在經(jīng)濟上造成更多損失。
-
電路
+關(guān)注
關(guān)注
172文章
5945瀏覽量
172583 -
控制器
+關(guān)注
關(guān)注
112文章
16412瀏覽量
178726 -
EDA工具
+關(guān)注
關(guān)注
4文章
268瀏覽量
31853 -
芯片設(shè)計
+關(guān)注
關(guān)注
15文章
1024瀏覽量
54942 -
eda
+關(guān)注
關(guān)注
71文章
2772瀏覽量
173494 -
晶體管
+關(guān)注
關(guān)注
77文章
9711瀏覽量
138579 -
時序電路
+關(guān)注
關(guān)注
1文章
114瀏覽量
21723 -
DFT
+關(guān)注
關(guān)注
2文章
231瀏覽量
22771 -
DFT設(shè)計
+關(guān)注
關(guān)注
0文章
10瀏覽量
8900
發(fā)布評論請先 登錄
相關(guān)推薦
評論