Presentation is loading. Please wait.

Presentation is loading. Please wait.

Failure Candidate Identification for Silicon Debug 指導教授 : 曾王道 學生 : 卜竹君 許正明.

Similar presentations


Presentation on theme: "Failure Candidate Identification for Silicon Debug 指導教授 : 曾王道 學生 : 卜竹君 許正明."— Presentation transcript:

1 Failure Candidate Identification for Silicon Debug 指導教授 : 曾王道 學生 : 卜竹君 許正明

2 Abstract  比較 simulation values 跟 observed values 的值是否相同來判斷前面的 wire 和 input 的值是否有錯誤,利用一個演算法快 速的解決問題。  過程需經過 simulation( 模擬的測試 ) 和 testing( 真實的測試 ) ,並將兩個所產生的 值互相比較,相同代表沒錯,反之則需要用 Silicon debug 修正。

3

4 Introduction-1  如果 simulation values 跟 observed values 有差異,代表的是 input 的值或者是 wire 值在傳送的過程中出了錯。整個程式就 是在尋找錯誤所在。首先從最後面相異的 output 值開始往回尋找錯誤,利用 what-if 這個動作來判斷是否是正確的值,直到最後 找到出錯的 input 或 wire

5 Introduction-2  我們的程式可以輕鬆的去找出錯誤的所在, 並利用 what-if 分析,從 output 端往前操作, 利用一次只改變一個 wire 的方法 ( 也就是說 0 變成 1 或是 1 變成 0) ,去檢測出所有的 final candidates ,此外還利用了 Static approach 和 Dynamic approach 來減少一 些不需要去測試的 wire ,使 what-if 執行次 數減少以便達到加速的效果。

6 想法  最一開始從 simulation values 跟 observed values 發現了差異,因此從 output 開始往前找錯誤,並利用 Static approach 先排除正確的 wire ,剩下的 wire 再透過 Dynamic approach 又在減少一次 wire ,之後對 gate 進行 what-if 分析,找出 final candidates 並印出。

7 輸入檢查 Case 檔名 sim 檔名 obs 檔名 讀取 case 內容 讀取 sim 資料 讀取 obs 資料 執行 obscheck ( 減少所需執行 what_if 的 gate 個數 ) 執行 what_if 將結果以寫檔方式 儲存起來 開始程式 結束程式 實作流程

8 讀取 CASE 內容 首先先做初始設定 接著讀取 CASE 資料 WriteActionName(str) 這函式是用來取得 gate 名稱 以 gatea 名稱來分成 nand and or not nor xor buf input output wire 這幾個,接著使用 read getline strtok 將其他資訊一一讀取 再儲存每一個 GATE input 來源

9 讀取 sim. obs 資料 將 sim 裡面的資料依照 input 、 wire 、 output 分類 讀取它們的值,此外再預設一些初始值如: Candidates 、 Real 、 ready obs 中的資料和 output 那一塊很像, 所以不用預 設其他值直接讀取檔案裡面的東西就好。

10 obscheck(); 做 obs 和 sim 的比較 比較 sim 和 obs 裡面的 output 值是否一樣 透過參數來區分是否 Static approach 接著判斷是否真的是 Dynamic approach ( 因為有時候改變這個 input 可能造成 gate1 是正 確但是 gate2 卻錯誤的情況,所以需再一次的 檢查,經過 obscheck() 就可以大量減少需要執 行 what_if 的 gate 數 )

11 what_if() 將是 Dynamic approach 找出來做 what_if , 接著執行 DFS 從最深層的一一判斷出來, 透過參數來判斷是否為 final candidates 。 每處理完一個值必須恢復成原始值,才可繼續 做下一個 what if

12 以下為範例程式執行的結果

13

14 工作平台: Ubuntu-8.00 desktop-INTEL 64 CPU 類型 :Intel core two duo 1.86Ghz 系統記憶體 :2048 MB (PC800 DDR2 RAM) 程式語言: C++ Language 編譯器: gcc version 2.95.2 19991024


Download ppt "Failure Candidate Identification for Silicon Debug 指導教授 : 曾王道 學生 : 卜竹君 許正明."

Similar presentations


Ads by Google