Presentation is loading. Please wait.

Presentation is loading. Please wait.

專題題目 Failure Candidate Identification for SiliconFailure Candidate Identification for Silicon Debug.

Similar presentations


Presentation on theme: "專題題目 Failure Candidate Identification for SiliconFailure Candidate Identification for Silicon Debug."— Presentation transcript:

1 專題題目 Failure Candidate Identification for SiliconFailure Candidate Identification for Silicon Debug

2 組員  951512 陳柏遠 年齡 21  951538 李劭鵬 年齡 21  951463 陳雋為 年齡 21

3 學弟妹加油!?  因為這次聽說有學弟妹也要聽,怕學弟妹 不知道我們在做什麼內容或聽不太懂,所 以題目就從頭盡量詳細介紹!也請教授們 多多包涵. 還有記得拿便當來吃.

4 題目大致介紹  在架構相同的情況下在 simulation values 與 observed values 發現了差 異, 這可能是其中的 WIRE 或 INPUT 有 問題, 而我們必須找出問題所在.

5 題目說明 (不要問我介紹跟說明哪裡不一樣,我也不知 道 … )  簡單來說這個題目是要我們比較主辦單 位給我們的 obs 檔跟 sim 檔給的數值, obs 檔給的是正確的結果, sim 檔中則是有包 含著錯誤的點,然後用方法去判斷由 testcase 檔所形成類似以下的邏輯閘圖中, 哪一個地方的數值出錯

6 舉例  obs 檔  O1=0  O2=0  I 代表 INPUT  W 代表 WIRE  O 代表 OUTPUT  sim 檔  I 1=1  I 2=0  I 3=1  I 4=1  I 5=0  W1=0  W2=0  W3=1  W4=1  O1=1  O2 = 0  很明顯的 O1 不一樣  所以我們要找出是  不是前面哪裡的數值有問題

7 所以 … ?  所以我們這次專題的目標就是要把比 賽主辦單位所給的 CASE 檔想辦法比對出 SIM 檔跟 OBS 檔中 OUTPUT 不同的地方然 後找找出前面的 WIRE 或是 INPUT 哪裡有 錯,並算出有錯誤的數量也就是算出 final candidates.  此外主辦單位還要我們計算出我們專題用 到的 what if analysis 的數量

8 什麼是 what If analysis  剛剛一直說要比較 obs 檔跟 sim 檔的結果並且 找出錯誤的地方,那我們要怎麼找呢?答案 就是 what if analysis.  簡單來說 what if analysis 就是 0 變成 1 , 1 變 成 0 ,也就是 0 跟 1 的互換,由於整個邏輯閘 給的數值是用 0 跟 1 組成的,那我們只要把原 來某個地方給的 1 變成 0 ,這樣可能就會影響 到後面 output 的結果,用這種 0 跟 1 互換的方 式來找出哪裡是錯誤的地方.

9 這個題目需要注意的地方  使用 what if 分析的數量越少越好(這關 係到演算法跟跑點的方法)  整個程式跑完的時間(假如有很多點可能 要跑很久)  程式方面記憶體的配置(因為點真的可能 有很多,沒寫好點來個幾十萬就爆了)

10 程式流程

11 ‧ 取得參數並讀入檔案內容,並記錄訊號的值 。 ‧ 取得 I W O G 四種元件各別總數,定義指向訊號陣列 的指標與其大小。 ‧從 design.v 得知有幾個 input output wire 訊號 ‧配置記憶体空間 配置所有訊號、邏輯閘的資料結構並把邏輯閘的輸 出入訊號連接起來

12 ‧ 指派每個 gate 的 Level 參數,愈接近 input 訊號的閘 level 愈低, 訊號從最低 level 的閘開始傳遞到高的閘,等最後傳到最高的閘 之後就會傳到輸出端 指派每個 gate 的 Level 參數,愈接近 input 訊號的 閘 level 愈低,訊號從最低 level 的閘開始傳遞到高 的閘,等最後傳到最高的閘之後就會傳到輸出端

13 ‧ 把所有的元件另外再依 Level 大小用 Array 組織起來,先把同 level 的閘用鏈結串列組織起來,再把不同 level 的鏈結串列第一個元素 用 Array 組識起。利用 pGateLevelArray 依 Level 大小順序逛完所有 GATE

14 ‧ 依輸入訊號更新所有訊號值,包含各元件的輸出訊號,計算模 擬的結果,應該要跟檔案的內容一樣 ‧ 判斷那些該做 what-if analysis ,不需要分析的話,則 RunAnalysis 欄位設為 false

15 我們的程式架構

16 減少使用 WHAT IF 的方法  Static:Static approach 比對 obs 和 sim 兩 個輸出的 output, 先找有同樣 output 的, 照 順序找出相對的 wire 跟 input, 因為輸出值 相同, 可以判斷 wire 是對的, 我們就不用去 找這些 wire 因為是對的, 把他們的 finish 設 成 true  Dynamic:Dynamic approach 是經過 Static approach 分析動作之後 wire 前面的 點就不用再判斷了, 可以減少 what-if 判斷 的次數

17  經由主辦單位提供的四個測試檔作測試, 以下表格為測試資料: 實做的結果 Case1Case2Case3Case4 final candidates 46820 what-if analysis 71012215385 Cpu time 1sec 16sec Memory Usage 904kb


Download ppt "專題題目 Failure Candidate Identification for SiliconFailure Candidate Identification for Silicon Debug."

Similar presentations


Ads by Google