Presentation is loading. Please wait.

Presentation is loading. Please wait.

Failure Candidate Identification for Silicon Debug 指導教授:林榮彬 教授 951414 李婉如 951453 許智涵.

Similar presentations


Presentation on theme: "Failure Candidate Identification for Silicon Debug 指導教授:林榮彬 教授 951414 李婉如 951453 許智涵."— Presentation transcript:

1 Failure Candidate Identification for Silicon Debug 指導教授:林榮彬 教授 951414 李婉如 951453 許智涵

2 題目概述 當在晶片製造過程中,因製程之瑕疵,邏輯閘和導 線可能會因瑕疵而無法正常工作,進而導致整個電 路無法正常運作;我們所設計的程式將會找出電路 中可能發生製程瑕疵的地方。 我們的工作必須找出 simulation values 和 observed values 不符合的原因,是在哪些 gates 或 wires 出了錯誤,我們稱這些為 failure candidates 。

3 Input-(1)Netlist module DUT (O1, O2, O3, I1, I2, I3, I4); input I1; input I2; input I3; input I4; output O1; output O2; output O3; wire n1; wire n2; wire n3; wire n4; not G1 (n1, I1); not G2 (n2, I2); not G3 (n3, I3); or G4 (O1, n1, n2); nor G5 (n4, n2, n3); and G6 (O2, n4, I4); not G7 (O3, I4); endmodule

4 Input-(2) Simulation dump file I1 = 1 I2 = 0 I3 = 1 I4 = 1 n1 = 0 n2 = 1 n3 = 0 n4 = 0 O1 = 1 O2 = 0 O3 = 0

5 Input-(3) observed dump file O1 = 0 O2 = 1 O3 = 0

6 演算法 begin 1. 找出 simulation file 和 observed file 相異的 output 值, 從這些 output 以 Breadth-First Search 往 input 的方向 找出其路徑之交集 2.for (i=1 to 所有邏輯閘的個數 ) 利用 static approach 篩選不可能的 candidates 3. 利用 dynamic approach 往前篩選不可能的 candidates 4.for (i=1 to 篩選過後的 candidates 個數 ) 執行 ”what-if” analysis end

7 演算法 Step 1: 找出 simulation file 和 observed file 相異的 output 值,從這 些 output 以 Breadth-First Search 往 input 的方向找出其路徑之交集 Step 1: 找出 simulation file 和 observed file 相異的 output 值,從這 些 output 以 Breadth-First Search 往 input 的方向找出其路徑之交集 我們先依照 sim.dump 檔和 obs.dump 檔,比 對出兩個檔案中有哪些 output 的值不一樣,此時我 們會將這些 outputs 利用 BFS 演算法往前追溯,並 且建立一個經過路徑 (path) 的表格,記錄每條 wire 有無經過這些篩選過後的 outputs ;全部跑完後, 檢查所有 wires ,將路徑之交集的 wires 放入候選清 單 (candidates list) 中。

8 演算法 PathI1I2I3I4I5I6I7O1O2O3 O11111110100 O21111110110 PathW1W2W3W4W5W6W7W8W9 O1111101111 O2111101111

9 演算法 Step 2: 利用 static approach 篩選不可能的 signal Step 2: 利用 static approach 篩選不可能的 signal 在找完交集後,利用 static approach 把不可能的 wires 從 candidates list 中篩選掉。先檢查所有的 gates ,並利用 input 、 output 和 gate 之間的關係來進行篩檢。 Gate Output Value 規則 AND0 1. 當 input wire 的值為 1 時, 該 input wire 即不為 candidate 。 2. 當 input wire 的值全部皆為 0 時, 該 gate 所有 input wires 即不為 candidates 。 OR1 1. 當 input wire 的值為 0 時, 該 input wire 即不為 candidate 。 2. 當 input wire 的值全部皆為 1 時, 該 gate 所有 input wires 即不為 candidates 。

10 演算法 Step 3: 利用 dynamic approach 往 前篩選不可能的 signal Step 3: 利用 dynamic approach 往 前篩選不可能的 signal 完成 static approach 後,進行 dynamic approach 來更進一步地減少 candidates 的個 數。我們檢查 candidates list 中 wire 的 check 值,若 check 值已被設為 false ,就將該 wire 前方的 wires 之 check 值亦設為 false ,並從 candidates list 中移除。必須注意的是若該 wire 連至兩個以上不同的 gates ,則要再檢查 wire 是否在 candidates list 中。

11 演算法 W2 在執行完 static approach 後就不在 candidates list 中,故 W2 之前的 wires 可不用考慮, 即 I4 跟② I3 不為 candidates ;但由於 I3 接到兩個不同 的 gates ,因此我們仍須檢查在執行完 static approach 後① I3 是否仍在 candidates list 裡,若是如 此, I3 便不能在此階段被移除。

12 演算法 Step 4: 執行 ’what-if’ analysis Step 4: 執行 ’what-if’ analysis 經過前三種方法篩選後,相信已經篩檢了許多 candidates ,再來我們將 candidates list 中的 wires 進行 ’what-if’ analysis 。在選定一條 wire 後,改變這條 wire 的值 (0 → 1 或 1 → 0) ,而此 wire 改變後會影響到其他 wires 的值也會跟著變動。

13 流程圖 Input files: 1. Verilog file 2. Simulation value 3. Silicon valuse Start Static Approach Intersection Dynamic Approach Print Final Candidates Finish What-if Analysis Output file: FC.rpt

14 Test Case-(1)Netlist module testcase1(I1, I2, I3, I4, I5, O1, O2); input I1; input I2; input I3; input I4; input I5; output O1; output O2; wire W1; wire W2; wire W3; wire W4; nand G1 (W1, I1, I3); nand G2 (W2, I3, I4); nand G3 (W3, I2, W2); nand G4 (W4, W2, I5); nand G5 (O1, W1, W3); nand G6 (O2, W3, W4); endmodule

15 Test Case-(2),(3) I1=1 I2=0 I3=1 I4=1 I5=0 W1=0 W2=0 W3=1 W4=1 O1=1 O2=0 O1=0 O2=0

16 Test Case- Output Number of performing the 'what-if' analysis: 5 I1 I3 W1 W3 O1 Number of final candidates: 4 I1 I3 W1 O1

17 成果分析 Test Case 1Test Case 2Test Case 3Test Case 4 時間 < 1 sec 1~2 sec 記憶體使用量 68 K132 K1232 K150000 K

18 Thanks for your listening! 951414 李婉如 951453 許智涵


Download ppt "Failure Candidate Identification for Silicon Debug 指導教授:林榮彬 教授 951414 李婉如 951453 許智涵."

Similar presentations


Ads by Google