Upgrade to Pro — share decks privately, control downloads, hide ads and more …

RICH_graduate_thesis

RICHild
October 27, 2011

 RICH_graduate_thesis

RICHild

October 27, 2011
Tweet

More Decks by RICHild

Other Decks in Research

Transcript

  1. 國立中興大學資訊科學與工程學系 碩士學位論文 可同時應用於測試壓縮和掃描鏈診斷 提升之技術 A Technique for Test Compression and

    Scan Chain Diagnosis Improvement 指導教授:王行健 Sying-Jyan Wang 研 究 生:陳建良 Chien-Liang Chen 中華民國九十九年七月
  2. i 致謝 時光匆匆,轉眼間兩年的研究所生活就過了,在王行健老師的指 導下,我走過了這兩年的風雨無阻。在布滿星辰的夜晚,踏出了實驗 室的門後總是看到老師辦公室的燈還亮著。每當靈感枯竭,沒有想法 的時候,和老師溝通總能夠再度獲得方向,抬頭望著從辦公室的窗戶 透出來的光芒,和月亮互相輝映著,就好像在佇立在學海上指引著我 的明燈,不離不棄。 在實驗室度過的這兩年中,要感謝我的好夥伴們,何融松、鄔明 憲和廖育德,這兩年有你們的陪伴,在低潮時互相鼓勵打氣,在快樂

    時互相分享喜悅,使我的研究所生活過的多采多姿。以及東樺學長, 謝謝你替我解決了許多疑惑,你就像是一本活字典,知識源源不絕。 還有學弟們,有你們的參與讓整個實驗室增添了許多歡樂笑聲,謝謝 你們。 最後要感謝我的父母,感謝你們辛苦地將你們的兒子拉拔了二十 四個年頭,照顧我的食衣住行,在我的求學生涯中不斷的關心我、鼓 勵我。在這個時刻,我想將這份喜悅與你們分享。
  3. iii 目錄 致謝 .............................................................................................................. i 摘要 ............................................................................................................ ii 圖目錄 .........................................................................................................

    v 表目錄 ........................................................................................................vi 第一章、簡介 ............................................................................................ 1 1.1. 研究動機與目標 ....................................................................... 1 1.2. 貢獻及成果簡述 ....................................................................... 2 1.3. 內容大綱 ................................................................................... 2 第二章、背景知識與相關研究 ................................................................ 3 2.1. 電路測試架構 ........................................................................... 3 2.2. 測試資料壓縮方法 ................................................................... 4 2.3. 現今診斷方法 ........................................................................... 8 3.1. 重新串連雙組態廣播壓縮方法 ............................................. 12 3.3. 廣播流程 ................................................................................. 15 3.3. 診斷方法 ................................................................................. 17 3.3.1. 錯誤發生在掃描鏈的前半段 ...................................... 17 3.3.2. 錯誤發生在掃描鏈的後半段 ...................................... 18
  4. iv 3.4. 診斷流程 ................................................................................. 21 3.5. 有權重的回溯(Weighted backtracing) ................................... 23

    第四章、實驗結果 .................................................................................. 30 4.1. 資料壓縮的實驗結果 ............................................................. 31 4.2. 診斷方面實驗結果 ................................................................. 32 第五章、結論與未來工作 ...................................................................... 36 5.1. 結論 ......................................................................................... 36 5.2. 未來工作與展望 ..................................................................... 36 參考資料: .............................................................................................. 37
  5. v 圖目錄 圖 一:電路測試架構 ............................................................................ 3 圖 二:多重掃描鏈與壓縮技術的整合 ................................................ 4

    圖 三:伊利諾掃描架構 ........................................................................ 5 圖 四:廣播測試範例 ............................................................................ 6 圖 五:雙組態架構 ............................................................................... 7 圖 六:[26]診斷範例 ........................................................................... 10 圖 七:重新串聯掃描鏈架構 .............................................................. 12 圖 八:完美洗牌方法 .......................................................................... 13 圖 九:反洗牌方法 ............................................................................. 14 圖 十:廣播流程圖 ............................................................................. 16 圖 十一:造成不匹配的原因 .............................................................. 19 圖 十二:兩種輸出模式 ...................................................................... 20 圖 十三:診斷流程 ............................................................................. 22 圖 十四:回溯的掃描細胞 .................................................................. 23 圖 十五:掃描鏈兩種串連模式 .......................................................... 25 圖 十六:b22 在分成十條掃描鏈的診斷情況 .................................... 33
  6. vi 表目錄 表 一:當鏈向量為 001100110011 時之掃描鏈移出結果 ................. 11 表 二:完美洗牌規則

    .......................................................................... 14 表 三:測試向量合元件對應資訊 ...................................................... 26 表 四:預期輸出和觀察輸出表格 ...................................................... 26 表 五:回溯的資料 ............................................................................. 27 表 六:掃描細胞分數 .......................................................................... 28 表 七:加上權重後的掃描細胞分數 .................................................. 29 表 八:測試電路資料 .......................................................................... 30 表 九:分成 10 條掃描鏈之廣播實驗結果 ........................................ 31 表 十:分成 30 條掃描鏈之廣播實驗結果 ........................................ 32 表 十一:重新連結診斷實驗結果 ...................................................... 33 表 十二:有權重的回溯診斷實驗結果 .............................................. 34 表 十三:和[26]比較診斷實驗結果 .................................................... 35
  7. 1 第一章、 簡介 1.1. 研究動機與目標 隨著製程的進步,電路也日益複雜,在測試方面的影響就是造成 測試資料量的增加。此外,由於自動測試機(automatic test equipment, ATE)的記憶體容量有限,使得可以儲存的測試資料量有限,於是如

    何壓縮測試的資料量和測試時間成為了熱門的研究方向。 掃描式的可測試設計(scan-based design for testability)是現在廣泛 被應用的可測試架構,其做法是將電路中部分或全部的儲存元件加上 多工器(multiplexer)和選擇信號(selection signal),成為掃描細胞 (scan cell),並將掃描細胞串接起來成為掃描鏈(scan chain),由於其具有快 速且簡單的優點,此項技術已經成為目前主流的現行測試架構。 而對於診斷而言,診斷目的是為了改善製程並提高生產的良率。 當測試過程中發現掃描鏈當中存在缺陷時,準確的掃描鏈診斷對於矽 除錯和提升產值有很重要的幫助。在[1]這篇文章中指出,掃描鏈所 佔去的矽面積(silicon area)是整體晶片(chip)面積的 30%,因此掃描鏈 診斷對於掃描式的可測試設計就顯得相當重要。
  8. 3 第二章、 背景知識與相關研究 2.1. 電路測試架構 測試架構可以分成自動測試機(automatic test equipment, ATE)、待 測電路(circuit

    under test, CUT)和輸入輸出通道(IO channel)三個主要 的部分,如圖一所示。自動測試機將測試向量(test pattern)經由輸入通 道(input channel)送進待測電路,經過測試之後的輸出反應(output response)再經由輸出通道(output channel)傳回自動測試機。隨著電路 趨於龐大複雜,所需的測試向量也隨之增加。然而,自動測試機的記 憶體容量有限,且輸出入通道頻寬亦有所限制,所以許多學者開始著 手研究如何降低測試的資料量。 圖 一:電路測試架構
  9. 4 2.2. 測試資料壓縮方法 為了克服資料量過大的問題,有許多方法出現,研究這個問題。 關於測試資料壓縮可以分成以下三種類型[2-3]: (一) 、編碼為基礎的壓縮(code-based schemes) [4-5], (二)

    、線性解壓縮器為基礎的壓縮(linear-decompressor-based schemes)[6-7], (三) 、廣播為基礎的壓縮 (broadcast-scan-based schemes)[8-17]。 其中廣播為基礎的測試資料壓縮是應用在多重掃描鏈的架構上, 所謂多重掃描鏈就是將所有掃描細胞分成多條較短的掃描鏈,並且加 入壓縮器和解壓縮器的技術,以減少測試資料量和測試時間,完整架 構如圖二所示。 圖 二:多重掃描鏈與壓縮技術的整合 伊利諾掃描架構(Illinois scan architecture, ISA)[10]是廣播式壓縮 中的一種,同樣可以達到同時減少測試時間跟空間的目標。
  10. 6 然而在伊利諾的廣播架構下,當存在一個以上的位元彼此不相容, 則必須使用序列模式(serial mode)來傳送測試資料。為了改良這個情 況,[17-18]中提出了多重模式區段掃描架構(multi-mode segmented scan architecture),其主要概念為增加多重廣播模式(multicast mode) 在原來的廣播模式(broadcast

    mode)和循序模式(serial mode)之間。所 謂多重廣播模式就是將掃描鏈分成多個群組的方式,在相同群組內的 掃描區段會送進相同的測試資料,也就是做群組內部分的廣播。在增 加了多重廣播模式之後,原先只能在序列模式下送進掃描鏈的測試資 料獲得壓縮的機會。 如圖五為例,我們將掃描鏈分成六條,依序標記為 scan chain 1 到 scan chain 6。第一種組態是將掃描鏈依序號分成奇數和偶數的兩 T1:0XXXX11XXX11 T2:1111XXX1XX11 Segment1: 0XX Segment2: XX1 Segment3: 1XX Segment4: X11 Segment1: 111 Segment2: 1XX Segment3: X1X Segment4: X11 T1 T2 Not compatible compatible slice conflict 圖 四:廣播測試範例
  11. 7 個群組:scan chain 2, 4, 6 這三條掃描鏈為一群(令為 P1, 1 =

    {2, 4, 6} ), scan chain 1, 3, 5 這三條掃描鏈為一群(令 P1, 2 = {1, 3, 5} ),如圖五(a) 所示。另外一種組態是將掃描鏈依序號的前半段和後半段分組,也就 是將 scan chain 1, 2, 3 為一群(令為 P2, 1 = {1, 2, 3} ),而 scan chain 4, 5, 6 為一群(令為 P2, 1 ={4, 5, 6}),如圖五(b)所示。 在同一群組內的掃描區段(或掃描鏈)中,如果區段中位於相同切 片的值都是相容的,則我們可以將群組內的掃描區段都送入相同的值, 以進一步的改進測試資料量和測試時間。 圖 五:雙組態架構
  12. 8 2.3. 現今診斷方法 全掃描(full-scan)數位電路是由掃描鏈以及組合邏輯電路組成。因 此,診斷可區分成組合邏輯電路的診斷和掃描鏈的診斷。掃描鏈的錯 誤診斷是找出錯誤出現在掃描鏈中哪個掃描細胞的程序,掃描鏈的診 斷對於改善製程,以達到較高的良率和矽除錯(silicon debug)有很大的 幫助。 掃描鏈的診斷技術可以分成下面三種類別[19]:

    (一)、測試機診斷(tester-based diagnosis)[20-22], (二)、硬體式診斷(hardware-based diagnosis)[23-24], (三)、軟體式診斷(software-based diagnosis)[25-28]。 測試機診斷的方法就是利用測試機來控制掃描鏈的移出及移入 (shift in and shift out),並透過物理性故障分析儀(physical failure analysis, PFA),直接去觀察掃描細胞的反應值(response),以找出有缺 陷的位置。這種方式通常可以提供很精確的診斷結果,但由於這個技 術太耗時,且測試成本過高,隨著電路變的複雜,探測暫存器變得更 加困難,這種方法面臨很大的挑戰。 硬體式(hardware-based)的診斷則是利用特殊的電路結構,或是透 過硬體的修改可以較有效率的找出錯誤發生的位置。如[24]就是在掃 描細胞上多加一個反相的控制信號,當測試資料都送進掃描鏈之後,
  13. 9 驅動反相的控制信號,致使掃描細胞內的值反轉變成補數;接著再將 掃描鏈輸出,從資料發生轉換的位置就可以得知錯誤發生的位置。而 [23]的方法則是在診斷模式下,每個掃描細胞都會連接到其他的掃描 細胞,稱為夥伴位移暫存器(partner shift register),在確定了掃描鏈錯 誤所在的範圍之後對該掃描鏈送進測試資料,之後再將掃描細胞的值 傳送到無錯的夥伴位移暫存器上,藉觀察夥伴位移暫存器輸出的值來 判斷錯誤所在的位置。以上的硬體診斷方式對於單一掃描鏈錯誤都有

    極佳的效果,但是代價就是額外的硬體面積過大。 而軟體式診斷方式主要是透過一些計算方法錯誤模擬來完成,常 見 的 軟 體 式 診 斷 包 含 了 果 - 因 式 (effect-cause)[25-27] 和 因 - 果 式 (cause-effect)[28]兩種。果-因式(effect-cause)的診斷方式透過錯誤插入 (fault injection)和模擬(simulation),在有錯的掃描鏈中,利用比較模擬 結果(response)和測試機的結果找出缺陷的位置。例如[26]這篇論文利 用一組特殊的資料稱做全遮蓋向量(full-masked pattern)進行模擬,全 遮蓋向量是一個測試向量,其值全部為 X (don’t care),當已知錯誤類 型為定值錯誤 V 時,移入這組測試向量,經過模擬並且移出之後, 比較觀察到的輸出值和這組測試向量預期的輸出值,找到最靠近掃描 輸出的不匹配為缺陷的下限(lower bound, LB),接著找到最靠近輸入
  14. 10 的匹配值並且其值為 V 值的反相(V’),為診斷後缺陷的上限(upper bound, UB),範例如圖六所示。 圖 六:[26]診斷範例 因-果式(cause-effect)預先計算(pre-calculate)出錯誤簽章(fault signature),針對每個電路中可能的錯誤儲存唯一的輸出值(unique

    response) 。 和硬體式診斷方法相比 , 這種方式不需要耗費額外的硬體, 但是缺點就是會造成診斷所需時間過長。於是乎在硬體與軟體間我們 找到一種權衡的方式,使得經過修改的額外電路硬體不至於太大。 診斷的過程可以分成三個步驟:第一步利用鏈向量(chain pattern), 或稱流溢向量(flush pattern)找出有錯的掃描鏈(faulty chain)和錯誤類 型(fault type)[25]。鏈向量不驅動擷取時脈(capture clocks),僅完成移 入和移出掃描鏈的動作。表一為當鏈向量為 001100110011 時送進有 錯的掃描鏈中時的移出結果。 分辨出錯誤類型和有錯的掃描鏈之後,第二步利用硬體或軟體方 法找出診斷的候選者名單(candidate list),最後第三步再從候選者名
  15. 11 單中找到診斷的嫌疑犯(suspect),將 CUD(circuit under diagnosis)逐一 插入被列為嫌疑犯的錯誤並且模擬,並比對有錯電路(faulty circuit) 模擬後的輸出反應,如果有錯電路和 CUD 的輸出反應相同,我們稱

    為完美匹配(perfect match) 。 模擬完所有的測試資料後找到全部都是完 美匹配的錯誤位置就是最後診斷方法找到的錯誤,完全符合完美匹配 的嫌疑犯個數就是診斷最後的診斷解析度(diagnosis resolution)。 表 一:當鏈向量為 001100110011 時之掃描鏈移出結果 Shift out Result Comment 111111111111 Stuck at 1 None 000000000000 Stuck at 0 None 000100010001 Fast fall Last 1 in each set becomes 0 001000100010 Slow rise First 1 in each set becomes 0 101110111011 Fast rise Last 0 in each set becomes 1 011101110111 Slow fall First 0 in each set becomes 1
  16. 13 鏈串連方式,藉由重新連接掃描鏈的前半部分和後半部分達成,如圖 七(b)。串連的規則我們採用反洗牌法(inverse perfect shuffle)作為重新 串連掃描鏈的依據。 反洗牌法(inverse perfect shuffle)就是利用完美洗牌(perfect shuffle)

    的規則還原前一次洗牌的排列順序。完美洗牌的概念來自於有規則的 重新排列牌組,如圖八。其做法是將一組牌均勻分成兩疊,再將兩疊 牌交叉堆疊得到新的排列組合。 圖 八:完美洗牌方法 完美洗牌的規則如下表二,假設存在號碼 1 到 10 的數列。第一 欄表示的是數列從 1 到 10 遞增的原始順序,第二欄呈現經過一次完 美洗牌之後的排列順序 , 原始號碼 6 號變成第一位 、 1 號成為第二位、 7 號成為第三位,以此類推。而在第三欄呈現的是在原始順序之前還
  17. 15 經過反洗牌法之後我們得到重新鏈結掃描鏈的方式如圖七(b),第一 條掃描鏈的前半部分(1-h)連接到第二條掃描鏈的後半部分(2-t),第二 條掃描鏈的前半部分(2-h)連接到第四條掃描鏈的後半部分(4-t),第三 條掃描鏈的前半部分(3-h)連接到第六條掃描鏈的後半部分(6-t),依此 類推。 在多重廣播的基礎下,利用分割掃描鏈重新連結的方法可以讓[17] 中多重模式廣播架構中廣播模式和多重廣播模式下無法廣播的測試 向量可以進一步獲得廣播的機會。 3.2.

    廣播流程 廣播流程圖如下圖十所示,在廣播的程序下,我們先利用 ATPG 對待測電路產生測試資料(test pattern)以作廣播的檢查 , 判斷是否能進 行廣播,在廣播模式中無法廣播的測試資料我們再利用多重廣播模式 進行測試,其中多重廣播模式分群組的方式我們採用圖五的分法也就 是分成奇數和偶數,以及 前半部和後半部這兩種多重廣播方式去檢查 是否可以平行廣播。在廣播模式和多重廣播模式測試都失敗的情況下, 我們考慮在兩種多重廣播的分組情況下,用重新串連掃描鏈得到的兩 種新組態再進行一次廣播測試。如果該測試向量皆無法透過以上廣播 模式進行廣播,我們選擇序列模式將測試向量送進掃描鏈。
  18. 17 3.3. 診斷方法 在診斷方面,藉由上一段提到的重新連結掃描鏈的方法,可以幫 助我們更精確的判斷出錯誤發生的位置。 首 先 , 我 們

    稱 原 始 的 掃 描 鏈 連 結 方 式 為 連 結 模 式 一 (first connection mode, mode 1),將重新連結後的掃描鏈連結方式稱為連結 模式二(second connection mode, mode 2)。我們在串連方式為連結模式 一的情況下將鏈向量(chain pattern)送進掃描鏈,並觀察移出的值得知 錯誤的類型以及錯誤掃描鏈。接著再將掃描鏈串連方式切換成連結模 式二,再送入一次鏈向量,以觀察出錯誤發生在錯誤掃描鏈的前半部 分或後半部分。接著我們根據錯誤發生在前半段或後半段,分成以 下 兩種情況討論。 3.3.1. 錯誤發生在掃描鏈的前半段 當我們發現錯誤發生在掃描鏈的前半段時,可分別用兩種串 連模式將測試資料移入(shift in,或稱 load)送進掃描細胞。因為錯 誤發生在掃描鏈的前半段,這表示雖然我們將同一組測試資料經 過兩種串連模式移入掃描鏈,但是在掃描鏈中儲存的會是兩組不 一樣的值,可以視為我們送進了兩組不同的測試資料。 我們將不同串連模式下送入的測試資料分別模擬之後,可得 到不同的輸出反應(output response)。得到輸出反應之後,我們用
  19. 18 串連模式一將儲存在掃描細胞內的資料移出(shift out,或稱 unload)。因為當錯誤發生在掃描鏈的前半段,用兩種串連模式移 出的結果都是一樣的,所以我們不需要再利用串連模式 2 把資料 移出。 接著將輸出反應與無錯電路的輸出結果比較,並將不匹配的 掃描細胞結果記錄下來。對這些掃描細胞做回溯(back

    trace)的動 作,以找出可能造成不匹配結果的掃描細胞,把這些作為診斷的 候選者(candidate)。在模擬完所有的測試資料之後,我們統計每 個候選者出現過的次數做為診斷的分數(score),依照分數的高低 為我們的候選者排名(rank),排名最高的為我們診斷的嫌犯 (suspect)。 3.3.2. 錯誤發生在掃描鏈的後半段 當錯誤發生在掃描鏈的後半段時,因為用兩種串連方式將測 試資料送入掃描細胞其結果是相同的,所以我們只要用一種串連 模式將測試資料移入(shift in)到掃描細胞中,然後再將模擬的結 果用兩種串連方式移出(shift out)出掃描鏈。 為了讓輸出反應可以更能幫助診斷,以下我們分析兩種串連 方式的輸出結果。
  20. 19 圖 十一:造成不匹配的原因 造成掃描細胞的值為不匹配(錯誤值)的原因有兩個 。 第一個是 錯誤傳遞(fault propagation),如圖十一,假設 cell i

    發生了錯誤類 型為定值錯誤 0(stuck-at 0)的錯誤,且錯誤經過組和電路有傳到 cell i+1 的位置,可能造成 cell i+1 的不匹配,第二個是移位時經 過有錯掃描細胞的掃描細胞,如圖十一的 cell 0 到 cell i 在移出時 經過 cell i 而有可能造成不匹配,我們希望將移位造成的錯誤可 以盡量的減少,因此我們選擇移出時沒有受到錯誤掃描細胞影響 的掃描鏈做為輸出。合併兩種串連方式的輸出結果,合併方法如 圖十二所示。
  21. 20 圖 十二:兩種輸出模式 圖十二中,假設現在我們將掃描細胞分成兩條掃描鏈,區段 1(segment 1, S1 )和區段 3(segment 3,

    S3 )為掃描鏈的前半段;區段 2(segment 2, S2 )和區段 4(segment 4, S4 )為掃描鏈的後半段。我們 經過送入掃描向量的方式發現錯誤發生在掃描鏈的後半段,也就 是在 S2 這半條掃描鏈上,則我們在得到兩種串連模式的輸出之後 選擇沒有受到移位影響的輸出當做最後的輸出反應(output response),也就是合併圖十二(a)的 S3 、S4 兩段輸出結果以及圖十 二(b)的 S1 、S4 兩段輸出結果。由於 S2 、S4 這段輸出結果在兩種 串連模式下的輸出值都一樣,故我們任意取其中一個結果即可。 得到合併後的結果後,再和無錯電路的輸出做比較。比較後,將 不匹配的輸出進行回溯(back trace),以找到可能造成不匹配的掃 描細胞,稱為候選者(candidate)。我們將所有候選者出現的次數 做統計,得到候選者的分數(score),依照分數的高低為我們的候 選者排名(rank),排名最高的為我們診斷的嫌疑犯(suspect)。
  22. 21 最後的步驟是將我們的嫌疑犯插入 CUD 並且模擬,比對無錯 (fault free)的反應輸出得到最後的診斷解析度。 3.4. 診斷流程 診斷的流程如圖十三所示,首先我們將鏈向量移入送進掃描鏈,並 且用兩種串連模式移出,由移出的值判斷錯誤類型,以及錯誤發生在

    某一條掃描鏈的前半段或後半段。如果錯誤發生在掃描鏈的前半段, 我們用兩種串連模式移入 ATPG 測試資料 , 用任一種串連模式將模擬 後的值移出。反之,如果錯誤發生在掃描鏈的後半段,則我們用一種 串連方式移入測試資料,但是用兩種串連模式將模擬後的值移出並且 合併。此步驟一直重複直到所有的測試資料都已經模擬完成,之後我 們再比較預期的輸出結果和我們觀察到的輸出結果來找出錯誤位元, 根據錯誤位元的回溯來從候選者當中找到我們的嫌疑犯。
  23. 22 圖 十三:診斷流程 Start Find fault type and faulty chain

    Shift in using the first connection mode and simulate Rank candidates and find suspects Trace back and find candidates Shift in using the second connection mode and simulate Trace back and find candidates Shift in using the first connection mode and simulate Merge first and second connection mode output End Trace back and find candidates ATPG pattern Faulty cell in the head of scan chain Faulty cell in the tail of scan chain ATPG pattern All patterns Simulate? All patterns Simulate? No No Yes Yes
  24. 24 sc_weightt �scj � = � Xji #TSC(sci ) n

    i=1 , Xji = � 1, if scj is in the input cone of sci 0, otherwise #TSC(sci ) is the number of scan cells in the input cone of sci (1) 接著是在主要輸出(primary output)的回溯權重的計算,由於主要 輸出的不匹配是完全由於錯誤傳遞所造成,所以我們相對地提高主要 輸出的回溯的權重。對於測試資料 t,主要輸出回溯的權重值定義如 下: po_weightt �scj � = � yji m i=1 , yji = � 1, if scj is in the input cone of poj 0, otherwise (2) 綜合我們對於回溯後的掃描細胞和主要輸入的分析,可列出一個 計算權重的式子,如公式(3): weightt �scj � = sc_weightt �scj � + po_weightt �scj � (3) 得知每個測試向量掃描細胞經過回溯的權重值之後,對於測試向 量集合 P,我們把每個權重值加總起來,成為掃描細胞的分數,如公 式(4)。最後分數愈高的排名就愈優先,代表這是錯誤愈有可能發生 的位置。 score(scj ) = � weightt �scj � (4) p t=1
  25. 25 讓我們舉個範例,假設現在有個待診斷電路擁有 4 個主要輸入, 令為 PI0 -PI3 ,2 個主要輸出令為 PO0

    和 PO1 、和八個掃描細胞,令為 S0 -S7 ,我們將掃描細胞分成兩條掃描鏈 SC0 和 SC1 ,S0 、S1 、S4 、S5 為掃描鏈的前半段;S2 、S3 、S6 、S7 為掃描鏈的後半段,兩種串連模 式的連接方式 m1 和 m2 如圖十五所示。 圖 十五:掃描鏈兩種串連模式 我們利用 ATPG 產生了兩組測試向量,T1:101111111001、T2: 000000001110,測試向量和元件對應的資訊如表三:
  26. 26 表 三:診斷範例的測試向量合元件對應資訊 PI0 PI1 PI2 PI3 S0 S1 S2

    S3 S4 S5 S6 S7 T1 1 0 1 1 1 0 1 1 1 0 0 1 T2 0 0 0 0 0 1 0 0 1 1 1 0 假設電路中掃描鏈上的 S3 發生定值錯誤 0,則我們第一步利用鏈 向量找到錯誤發生在 SC0 的後半段 , 也就 是 S2 和 S3 這兩個掃描細胞。 接著我們將T1和T2這兩組測試向量移入掃描鏈之後進行錯誤模擬, 之後分別用 m1 和 m2 兩種串連模式將掃描細胞截取到的值移出後觀 察到的輸出如表四。 表 四:診斷範例的預期輸出和觀察輸出表格 PO0 PO1 S0 S1 S2 S3 S4 S5 S6 S7 expected output(T1) 1 0 1 0 0 0 1 1 1 0 observed output(T1)m1 0 0 0 0 0 0 1 1 1 0 observed output(T1)m2 0 0 0 0 0 0 0 0 1 0 merged output(T1) 0 0 0 0 0 0 1 1 1 0 expected output(T2) 1 1 0 1 1 1 0 1 1 0 observed output(T2)m1 0 0 0 0 0 0 0 1 1 1 observed output(T2)m2 0 0 0 1 0 0 0 0 1 1 merged output(T2) 0 0 0 1 0 0 0 1 1 1
  27. 27 我們選擇 m1 的 S4 、S5 和 m2 的 S0

    、S1 做為我們合併兩組串連模 式之後輸出結果,其餘的部分因為用兩種串連模式輸出皆相同,所以 可以任意選擇一種串連模式的輸出結果。 得到合併後的輸出結果之後,我們和預期的輸出相比較,我們得 知在 PO0 和 S0 的位置發生不匹配,接著我們計算好每個元件的輸入 錐元件列出一張表如下表五: 表 五:診斷範例的回溯資料 PO0 S4 、S5 、S6 、S7 PO1 PI2 、S0 、S1 、S2 、S3 、S4 、S5 、S6 、S7 S0 PI1 、S0 、S1 、S2 、S3 S1 PI0 、PI1 、S0 、S1 、S2 S2 PI0 、PI1 、S2 、S3 S3 PI0 、PI1 、PI2 、PI3 、S3 S4 PI1 、S0 、S1 、S2 、S3 、S4 、S5 、S6 、S7 S5 PI1 、S0 、S1 、S2 、S3 、S5 、S6 、S7 S6 PI1 、S0 、S1 、S2 、S3 、S6 、S7 S7 PI1 、S0 、S1 、S3 、S7
  28. 28 我們對照回溯後的表找到 PO0 和 S0 的輸入錐元件分別為 S4 、S5 、 S6

    、S7 和 S1 、S0 、PI1 、S2 、S3 。T2 的輸出值也用相同的合併輸出和 回溯方法找到其輸入錐元件,找到所有輸入錐元件之後我們統計出現 的次數當作每個元件的分數如表六,根據表 六我們比較這些元件的分 數,因為在第一步我們已經將嫌疑犯的範圍縮小到 S2 和 S3 這兩個元 件,故我們只要比較 S2 、S3 的分數並且排名做為我們診斷的結果。 表 六:診斷範例的掃描細胞分數 S0 S1 S2 S3 S4 S5 S6 S7 3 3 3 5 3 3 3 4 所以經過我們的診斷方法之後我們得到 S2 的分數為 3,S3 的分數 為 5,得到 S3 的診斷排名為第一位,S2 的診斷排名為第二位。 當診斷的候選者愈多時,同樣分數的機會就愈高,也就是會得到 相同的排名。為了讓分數的分布可以離散一些,降低同名的機會,我 們替回溯的掃描細胞加上權重。從表五可以得知,S0 經過回溯的輸入 錐有四個掃描細胞 S0 、S1 、S2 、S3 ,所以每個細胞的權重為1/4,而 PO0 回溯後有四個掃描細胞 S4 、S5 、S6 、S7 ,每個掃描細胞的權重皆 為 1,以此類推。因此加上權重後的掃描細胞如表七所示:
  29. 29 表 七:診斷範例之加上權重後的掃描細胞分數 S0 S1 S2 S3 S4 S5 S6

    S7 1.5 1.5 1.75 3 3 3 3 3.25 經過有權重的回溯後,其分數的分布可以更加離散,在候選者中 S2 的分數為 1.75,S3 的分數為 3,得到 S3 的診斷排名為第一位,S2 的診斷排名為第二位。
  30. 30 第四章、實驗結果 本文的實驗結果是用 ISCAS’89 和 ITC’99 電路做為我們的測試 電路,電路的資訊如表八。我們使用 Atalanta ATPG[29]產生測試資

    料,並使用 HOPE[30];接下來使用本文提出的方法進行測試資料壓 縮及掃描鏈診斷而得出實驗結果。 表八的第一欄為電路名稱,第二欄是掃描細胞的個數,第三欄為 電路內邏輯閘的個數,第四欄為電路分成 10 條掃描鏈和 30 條掃描鏈 時最長掃描鏈的長度。 表 八:測試電路資料 Circuit name # cell # gate Length Fault coverage (%) Chain=10 Chain=30 s5378 214 2779 22 8 99.131 s9234 247 5597 25 9 93.475 s13207 700 7951 70 24 98.462 s15850 611 9772 62 21 96.682 s35932 1763 16065 176 9 89.809 s38417 1664 22179 167 56 99.471 s38584.1 1464 19253 147 49 95.852 b14 277 9767 28 10 99.228 b17 1452 30777 146 49 80.275 b20 522 19682 53 18 95.486 b21 522 20027 53 18 89.232 b22 767 29162 77 26 90.722
  31. 31 4.1. 資料壓縮的實驗結果 資料壓縮實驗結果如表九和表十,分別呈現當掃描鏈分成 10 條 和 30 條時的廣播實驗結果。第一欄是測試電路名稱,第二欄是可以 經過廣播模式廣播的測試向量數,第三欄是可以經過雙組態廣播模式

    廣播的測試測試向量數,第四欄是經過本文提出的重新串連掃描鏈後 可以廣播的測試向量數,第五欄則是循序模式下的測試向量數。 表 九:分成 10 條掃描鏈之廣播實驗結果 Circuit name # broadcast # multicast [17] # reconnection # serial Improvement (%) s9234 187 228 11 110 2 s35932 63 16 0 11 0 s38584.1 613 141 0 44 0 s38417 901 70 0 0 0 b14 648 360 28 19 3 b17 1090 512 139 52 8 b22 868 627 102 29 6 b21 849 324 67 200 5 b20 845 261 32 224 2 s15850 334 170 13 40 2 s13207 303 203 1 40 0 s5378 191 123 0 6 0 Average - - - - 2
  32. 32 表 十:分成 30 條掃描鏈之廣播實驗結果 Circuit name # broadcast #

    multicast [17] # reconnection # serial Improvement (%) s9234 66 186 12 285 2 s35932 54 30 0 18 0 s38584.1 519 414 11 163 1 s38417 822 206 0 40 0 b14 109 611 82 488 6 b17 905 505 199 165 11 b22 922 666 110 42 6 b21 882 655 77 25 5 b20 848 640 54 190 3 s15850 161 270 40 154 6 s13207 152 360 5 101 1 s5378 64 192 13 98 4 Average - - - - 4 4.2. 診斷方面實驗結果 在診斷方面的實驗結果,是在掃描鏈分成 10 條的情況下,執行 100 個案例,每個案例隨機產生一個掃描細胞的定值錯誤。圖十三列 出了 b22 電路在 100 個案例的診斷情況。X 座標表示案例的編號,Y 軸代表經過我們提出的診斷流程後,真正錯誤所在的排名。淺灰色的 長條圖是未加入重新串連方法前診斷的排名,深灰色的長條圖是加入 重新串連方法後的診斷排名。使用本方法可以讓診斷後錯誤所在的排 名提升約一半。
  33. 33 圖 十六:b22 在分成十條掃描鏈的診斷情況 表 十一:重新連結診斷實驗結果 Circuit name Original (without

    reconnection) Reconnection (unweighted) Improvement (%) Rank Same score Total Rank Same score Total s5378 7.75 0.95 8.7 4.08 0.66 4.74 45.52% s9234 9.13 0.37 9.5 5.02 0.13 5.15 45.79% s13207 25.81 0.33 26.14 12.53 0.14 12.67 51.53% s35932 64.68 6.43 71.11 29.41 1.65 31.06 56.32% s38417 71.8 14.58 86.38 37.42 4.37 41.79 51.63% s38584.1 65.05 0.4 65.45 29.73 0.1 29.83 54.42% b14 10.45 1.4 11.85 5.44 0.39 5.83 50.80% b17 56.8 32.98 89.78 27.97 14.74 42.71 52.43% b22 30.97 16.4 47.37 16.06 3.87 19.93 57.93% b21 20.57 10.06 30.63 11.48 2.84 14.32 53.25% b20 21.6 8.12 29.72 11.54 1.47 13.01 56.22% average - - - - - - 52.35% 0 10 20 30 40 50 60 70 80 1 5 9 13 17 21 25 29 33 37 41 45 49 53 57 61 65 69 73 77 81 85 89 93 97 101 b22 - 10 scan chain new Original
  34. 34 表 十二:有權重的回溯診斷實驗結果 Circuit name Original (without reconnection) Weighted backtrace

    (Reconnection) Improvement (%) Rank Same score Total Rank Same score Total s5378 7.75 0.95 8.7 3.82 0.26 4.08 53.10% s9234 9.13 0.37 9.5 4.86 0.11 4.97 47.68% s13207 25.81 0.33 26.14 12.98 0.05 13.03 50.15% s35932 64.68 6.43 71.11 26.86 1.04 27.9 60.77% s38417 71.8 14.58 86.38 34.51 2.83 37.34 56.77% s38584.1 65.05 0.4 65.45 27.74 0.03 27.27 58.33% b14 10.45 1.4 11.85 4.89 0.06 4.95 58.23% b17 56.8 32.98 89.78 29.35 10.14 39.49 56.01% b22 30.97 16.4 47.37 17.56 0.06 17.62 62.8% b21 20.57 10.06 30.63 12.76 0.01 12.77 58.31% b20 21.6 8.12 29.72 11.74 0.07 11.81 60.26% average - - - - - - 56.58% 表十一和表十二分別列出了診斷程序經過了重新串連和增加權 重值以後 , 比較原始不考慮重新串連的實驗結果 。 第一欄是電路名稱 , 第二到四欄分別是在原始未經過重新串連的方法下錯誤在我們診斷 結果的排名、相同分數的候選者,和在最差情況下需要插入多少候選 者(candidate)才會找到真正的錯誤,第五欄呈現我們提出的方法和原 始的診斷結果相比之後提升的百分比。表十二的第二到四欄是重新串 連的方法再加上考慮權重後的診斷結果,可以看到原先不經過重新串
  35. 35 連掃描鏈的診斷結果,錯誤所在的排名約在掃描鏈長度 38%到 62% 的位置,經過重新串連掃描鏈之後再進行一次診斷的程序,錯誤所在 的排名平均可以提升 52.35%,換句話說,之後再進行插入錯誤模擬 的時間可以減少一半 。 接著

    , 我們再考慮替回溯的掃描細胞加入權重, 由於經過加權的程序後可以大幅的減少相同分數的候選者,使得診斷 後的分數分布變的更加離散,有助於進一步的加速診斷的程序。由實 驗結果,我們可以得知加入權重值之後的診斷排名比原始不經過重新 串連掃描鏈的診斷方法排名平均提升了 56.58%。 表十三列出了 ISCAS’89 中的三個測試電路,分別經由[26]提出的 方法所實做的診斷和本文提出的診斷方法比較過後的診斷排名。由實 驗結果的表格呈現本文提出的方法得到的提升百分比平均可以達到 50%以上。 表 十三:和[26]比較診斷實驗結果 Circuit name [26] method Proposed method Improvement(%) s5378 100.2 40.8 59.28 s9234 110.4 49.7 54.98 s13207 204.8 130.3 36.38
  36. 36 第五章、結論與未來工作 5.1. 結論 這篇論文中提出一個創新的方法,利用重新串連掃描鏈的方式可 以對於測試廣播壓縮以及掃描鏈診斷都有幫助。在測試壓縮方面,利 用重新串連後得到的新掃描鏈再做一次廣播測試;而在診斷方面,我 們利用重新串連後得到的新掃描鏈合併分析將診斷的結果進一步的 提升。 5.2.

    未來工作與展望 在這篇論文中提出的重新串連掃描鏈的方式是以重新串連之後 的繞線長度做為考量,若能進一步的針對回溯得到的掃描細胞來安排 重新串連的規則,將可以提升診斷的可觀察度,所以分析診斷結果與 串連方法關聯將是未來要研究的目標。
  37. 37 參考資料: [1] S. Kundu, “On Diagnosis of Faults in

    a Scan-Chain,” in Proc. VLSI Test Symp., pp. 303-308, Apr. 1993. [2] N. A. Touba, “Survey of Test Vector Compression Techniques,” IEEE Design & Test of Computers, vol. 23, pp. 294-303, 2006. [3] L.-T. Wang, C.-W. Wu, and X. Wen, VLSI Test Principles and Architectures: Design for Testability (Systems on Silicon): Morgan Kaufmann Publishers Inc., 2006. [4] M. Tehranipour, M. Nourani, and K. Chakrabarty, “Nine-coded Compression Technique with Application to Reduced Pin-Count Testing and Flexible On-Chip Decompression,” in Proc. Design, Automation and Test in Europe Conf. and Exhibition, pp. 1284-1289 Vol.2, 2004. [5] A. Wurtenberger, C. S. Tautermann, and S. Hellebrand, “Data Compression for Multiple Scan Chains Using Dictionaries with Corrections,” in Proc. Int'l Test Conf., pp. 926-935, 2004. [6] B. Könemann, “LFSR-Coded Test Patterns for Scan Designs,” in Proc. European Test Conf., pp. 237-242, Apr. 1991. [7] S.-J. Wang, K. S.-M. Li, S.-C. Chen, H.-Y. Shiu, and Y.-L. Chu, “Scan-Chain Partition for High Test-Data Compressibility and Low Shift Power under Routing Constraint,” IEEE Trans. on Computer-Aided Design of Integrated Circuits and Systems, vol. 28, pp. 716-727, 2009.
  38. 38 [8] J.-C. Rau, J.-Y. Chang, and C.-S. Chen, “A

    Broadcast-Based Test Scheme for Reducing Test Size and Application Time,” in Proc. Int'l Symp. on Circuits and Systems, pp. 1583-1586, 2006. [9] S. Wang and W. Wei, “Cost Efficient Methods to Improve Performance of Broadcast Scan,” in Proc. Asian Test Symp., pp. 163-169, 2008. [10] I. Hamzaoglu and J. H. Patel, “Reducing Test Application Time for Full Scan Embedded Cores,” in Proc. Int'l Symp. on Fault-Tolerant Computing, pp. 260-267, 1999. [11] A. Al-Yamani, E. Chmelar, and M. Grinchuck, “Segmented Addressable Scan Architecture,” in Proc. VLSI Test Symp., pp. 405-411, May 2005. [12] F. F. Hsu, K. M. Butler, and J. H. Patel, “A Case Study on the Implementation of the Illinois Scan Architecture,” in Proc. Int'l Test Conf., pp. 538-547, 2001. [13] M. A. Shah and J. H. Patel, “Enhancement of the Illinois Scan Architecture for Use with Multiple Scan Inputs,” in Proc. IEEE Computer Society Annual Symp. on VLSI Emerging Trends in VLSI Systems Design, pp. 167-172, Feb. 2004. [14] K.-J. Lee, J.-J. Chen, and C.-H. Huang, “Broadcasting Test Patterns to Multiple Circuits,” IEEE Trans. on Computer-Aided Design of Integrated Circuits and Systems, vol. 18, pp. 1793-1802, 1999. [15] A. Chandra, H. Yan, and R. Kapur, “Multimode Illinois Scan Architecture for Test Application Time and Test Data Volume Reduction,” in Proc. VLSI Test Symp., pp. 84-92, 2007.
  39. 39 [16] K.-J. Lee, J.-J. Chen, and C.-H. Huang, “Using

    a Single Input to Support Multiple Scan Chains,” in Proc. Int'l Conf. on Computer-Aided Design, pp. 74-78, Nov. 1998. [17] P.-C. Tsai and S.-J. Wang, “Multi-Mode-Segmented Scan Architecture with Layout-Aware Scan Chain Routing for Test Data and Test Time Reduction,” IET Computers & Digital Techniques, vol. 2, pp. 434-444, 2008. [18] 吳國瑜, “在不對稱機率掃描鏈架構下可增進測試資料壓縮率之 多重模式廣播測試設計,” 碩士論文, 中興大學資訊科學研究所, 民國九十八年. [19] Y. Huang, R. Guo, W.-T. Cheng, and J. C.-M. Li, “Survey of Scan Chain Diagnosis,” IEEE Design & Test of Computers, vol. 25, pp. 240-248, 2008. [20] K. De and A. Gunda, “Failure Analysis for Full-Scan Circuits,” in Proc. Int'l Test Conf., pp. 636-645, Oct. 1995. [21] P. Song, F. Stellari, T. Xis, and A. J. Weger, “A Novel Scan Chain Diagnostics Technique Based on Light Emission from Leakage Current,” in Proc. Int'l Test Conf., pp. 140-147, Oct. 2004. [22] F. Stellari, P. Song, T. Xia, and A. J. Weger, “Broken Scan Chain Diagnostics Based on Time-Integrated and Time-Dependent Emission Measurements,” in Proc. Int'l Symp. Testing and Failure Analysis, pp. 52-57, 2004. [23] J. L. Schafer, F. A. Policastri, and R. J. McNulty, “Partner SRLs for Improved Shift Register Diagnostics,” in Proc. VLSI Test Symp., pp. 198-201, Apr. 1992.
  40. 40 [24] Y. Wu, “Diagnosis of Scan Chain Failures,” in

    Proc. Defect and Fault Tolerance in VLSI Systems, pp. 217-222, Nov. 1998. [25] K. Stanley, “High-Accuracy Flush-and-Scan Software Diagnostic,” IEEE Design & Test of Computers, vol. 18, pp. 56-62, 2001. [26] R. Guo and S. Venkataraman, “A Technique for Fault Diagnosis of Defects in Scan Chains,” in Proc. Int'l Test Conf., pp. 268-277, 2001. [27] Y. Huang, H.-Y. Tseng, W.-T. Cheng, et al., “Efficient Diagnosis for Multiple Intermittent Scan Chain Hold-Time Faults,” in Proc. Asian Test Symp., pp. 44-49, Nov. 2003. [28] R. Guo, Y. Huang, and W.-T. Cheng, “Fault Dictionary Based Scan Chain Failure Diagnosis,” in Proc. Asian Test Symp., pp. 45-52, Oct. 2007. [29] H. K. Lee and D. S. Ha, “An Efficient, Forward Fault Simulation Algorithm Based on The Parallel Pattern Single Fault Propagat,” in Proc. Int'l Test Conf., p. 946, 26-30 Oct. 1991. [30] H. K. Lee and D. S. Ha, “HOPE: An Efficient Parallel Fault Simulator for Synchronous Sequential Circuits,” IEEE Trans. on Computer-Aided Design of Integrated Circuits and Systems, vol. 15, pp. 1048-1058, 1996.