Scan Chain簡(jiǎn)介
隨著現(xiàn)代集成電路工藝的發(fā)展,芯片制成越來(lái)越來(lái)精密,出現(xiàn)缺陷的可能性也越來(lái)越高,有時(shí)候一個(gè)微不足道的影響就可能導(dǎo)致芯片報(bào)廢,為了能有效的檢測(cè)出生產(chǎn)中出現(xiàn)的廢片,就需要用到掃描鏈測(cè)試(scan chain),DFT可測(cè)試性設(shè)計(jì)中的掃描鏈測(cè)試發(fā)展至今,已經(jīng)有了成熟的設(shè)計(jì)和制造流程。本文就對(duì)掃描鏈測(cè)試過(guò)程做簡(jiǎn)單介紹。
掃描鏈測(cè)試原理
scan chain的基本原理是將設(shè)計(jì)中所有觸發(fā)器連成一條鏈,用統(tǒng)一的scan clk驅(qū)動(dòng),這樣可以將預(yù)先設(shè)計(jì)好的scan pattern送入芯片中,然后開啟capture使能,這樣每個(gè)觸發(fā)器Q端輸出傳入它們所驅(qū)動(dòng)的組合電路,scan chain中的下一級(jí)觸發(fā)器D端就會(huì)捕獲這個(gè)組合電路的輸出,然后capture失效,這組向量與工具預(yù)先計(jì)算好的預(yù)期相比較,以此為依據(jù)來(lái)判斷芯片中是否有制造錯(cuò)誤。
下圖即為scan前和scan后的DFF,這是一個(gè)簡(jiǎn)單的示意圖,含有三個(gè)掃描寄存器。其實(shí)就是替換成帶有scan邏輯的DFF,當(dāng)scan_en有效時(shí),scan邏輯就會(huì)從scan-in穿過(guò)DFF到達(dá)scan-out,多個(gè)scan DFF鏈接在一起就成了scan chain,鏈上有多少個(gè)scan DFF表示這條鏈的長(zhǎng)度。

作為結(jié)構(gòu)性測(cè)試(structural test)的主要手段,DFT工程師需要注意的是電路的可測(cè)性,也就是可觀測(cè)點(diǎn)和可控制點(diǎn)。在運(yùn)用scan 測(cè)試方法的時(shí)候,整個(gè)芯片被看做是大量的寄存器和寄存器直接連接的組合邏輯。這也就是scan test開發(fā)的基本原理。
為了偵測(cè)生產(chǎn)過(guò)程中的制造缺陷,常用的方法并不是對(duì)芯片功能進(jìn)行測(cè)試,而是從元器件最基本的電路反應(yīng)入手,測(cè)試其中的異常,從而偵測(cè)到制造缺陷。當(dāng)然上述是scan chain的基本思想,scan的具體過(guò)程在電路中的應(yīng)用也是相對(duì)復(fù)雜的,因其橫跨了芯片設(shè)計(jì)的整個(gè)周期,各個(gè)角落,在設(shè)計(jì)scan test的時(shí)候需要綜合考慮到芯片設(shè)計(jì)的方方面面,包括時(shí)鐘設(shè)計(jì),電源設(shè)計(jì),芯片結(jié)構(gòu),PAD資源,邏輯綜合規(guī)劃等。
DFT中的Scan Chain Flow
Scan的工作流程大概分為以下過(guò)程:
1、首先是scan insertion(掃描鏈的插入),在芯片功能設(shè)計(jì)完成后,即為將整個(gè)網(wǎng)表由一堆普通寄存器替換為掃描寄存器的過(guò)程,這樣新加入的寄存器和原有寄存器一同構(gòu)成scan chain并參與對(duì)芯片的測(cè)試;
2、接下來(lái)是Test Pattern Generation(測(cè)試向量生成過(guò)程),測(cè)試向量的產(chǎn)生是基于ATPG算法與故障模型以及電路結(jié)構(gòu)生成的,依靠掃描鏈的插入結(jié)構(gòu)生成測(cè)試向量,得到測(cè)試向量后;
3、即對(duì)電路進(jìn)行門級(jí)仿真,類似于驗(yàn)證芯片功能,當(dāng)然最后測(cè)試向量需要在ATE機(jī)臺(tái)上針對(duì)有限的芯片輸入輸出端口進(jìn)行測(cè)試,盡管上述流程描述相對(duì)簡(jiǎn)單,但如前文所言在實(shí)際應(yīng)用中要考慮對(duì)芯片主線的影響,功耗,面積開銷等問(wèn)題,這使得該過(guò)程變得相對(duì)復(fù)雜,所以在DFT的工作中,需要對(duì)各個(gè)因素全面考慮,做到覆蓋率高,功耗低。
Scan Reorder
在做完Coarse Placement后,Scan Cell大部分是按照連接的順序隨機(jī)的亂放的。這樣其實(shí)會(huì)極大地占用繞線資源,因此,在后續(xù)步驟開始之前,我們需要對(duì)掃描鏈的布局布線進(jìn)行處理,在不影響邏輯功能的前提下,重新進(jìn)行連接,從而減少走線長(zhǎng)度。那這個(gè)重組的過(guò)程,我們就稱之為掃描鏈重組(Scan Reorder),這個(gè)過(guò)程可以用下面兩張圖來(lái)形象地說(shuō)明:


在scan插入后會(huì)生成后綴為.def文件,后端工程師通過(guò)獲取.def文件對(duì)scan chain進(jìn)行Reorder
Scan Reorder之前可以看到每個(gè)scan cell的連接是繁瑣雜亂的,被稱為detour,這就需要scan Reorder,在不影響功能邏輯的前提下整理布局布線,得到清晰合理的scan cell連接。
總結(jié)
大多數(shù)測(cè)試生成方案都會(huì)將一個(gè)被測(cè)電路視為一個(gè)黑盒子,而對(duì)測(cè)試機(jī)而言,唯一可利用控制端的就是主要輸入端,唯一可用的觀測(cè)點(diǎn)就是主要輸出端,因此這就限制了電路的可控性和可觀測(cè)性,掃描鏈的機(jī)制很好解決這一問(wèn)題,隨著該技術(shù)的發(fā)展,測(cè)試生成算法,以及其他測(cè)試方案也會(huì)隨著改進(jìn)和發(fā)展。