模擬器的故障目標只有在能對上實體現象時才有工程意義。校準要用可追溯量測評估注入目標、時窗、效果、重現性與未知差異;參數看起來符合預期,仍須由量測驗證。
學習目標與課堂安排
完成本課後,你應能:
- 逐筆重算六個門檻的混淆矩陣與錯誤成本。
- 依明定抽樣假設計算 recall 的 Wilson 區間。
- 將矩陣內 FN 與模型外 unknown 分開安排驗證。
建議 50 分鐘的教師安排:標籤定義 10 分鐘、門檻與互動 15 分鐘、區間手算 15 分鐘、獨立驗證計畫 10 分鐘。時間含學生手算、互動與討論;這是教學規劃,尚未做學生課堂時間量測。
從儀器讀數到邏輯效果
醫療體溫計需要用可追溯標準比對,不能只因讀值平滑就相信準確。電壓/時鐘 glitch、laser 或 EM 注入也要記錄儀器設定、探頭/位置、供電/溫度、觸發時間、晶片版本與重複試驗。類比只是提醒校正來源,沒有宣稱某種注入方式必然造成特定 RTL flip。
先將物理 attempt 的可觀察 outcome 分成無效化、reset、skip、延遲、錯誤資料、檢查器告警、永久損壞與未觀察到效應。對應到數位模型時,要建立條件式 mapping:在設定 X、位置 Y、時間窗 Z 的樣本中,某類 effect 出現比例與區間;不要把一次成功映射成確定性 bit flip。
把模型與量測放在同一分層表:可觀測物理操作、可觀測晶片反應、netlist effect、RTL abstraction。報告 sample count、未命中、不可重現、位置解析度與信賴區間;若平台只看得到 reset 而看不到內部節點,就標成觀測限制,不推定內部 state 改變。
校準集與驗證集要分開。用一組資料估計模型,再用獨立區段檢查預測覆蓋率;依晶片、lot、環境與版本分層。結果不能外推到未測位置或別種工具。互動實驗只用合成樣本;它沒有讀取實體量測,也沒有執行故障注入。
找出模型失配
在已定義的效應類別與觀測條件下,以 confusion matrix 比較量測標籤與模型預測,特別找 false negative:標籤為陽性、預測卻為陰性。模型外效應另列 unknown。修訂模型後重新 hash 版本並重跑 campaign。安全結論只能涵蓋校準域;低樣本與零觀察不能推出事件不可能。
實作案例:把一張「命中率」表拆開
第十四課的數位 campaign 指定 target、time 與 effect,但我們還不知道這些抽象故障能否代表真實刺激。現在審查者拿到一張八筆資料的表格,上面只寫「模型預測命中一半」。先不要接受這個摘要:一半是模型說會發生,還是實體真的發生?模型漏掉了哪些正例?這三個問題有不同分母。
下面照本課互動模型列出八筆合成配對。Score 是模型輸入,physicalLabel 是另一個人工指定的教學標籤;不是先施加實體刺激,再由量測估出 score。模型只用 score >= threshold 產生預測陽性。名稱中的 physical 不代表本課真的測過晶片。
| 合成 row | score | physicalLabel | threshold 3 預測 | threshold 4 預測 |
|---|---|---|---|---|
| 1 | 1 | 1 | 0 | 0 |
| 2 | 4 | 1 | 1 | 1 |
| 3 | 5 | 1 | 1 | 1 |
| 4 | 2 | 1 | 0 | 0 |
| 5 | 1 | 0 | 0 | 0 |
| 6 | 3 | 0 | 1 | 0 |
| 7 | 5 | 0 | 1 | 1 |
| 8 | 2 | 0 | 0 | 0 |
Threshold 3 時,rows 2、3 是 true positive;rows 6、7 是 false positive;rows 1、4 是 false negative;rows 5、8 是 true negative。因此 TP = 2、FP = 2、FN = 2、TN = 2。預測陽性 4/8,真實標籤陽性也為 4/8,但兩個集合並不相同;不能只因比例相等便宣稱模型已校準。
提高門檻,改善了什麼,留下了什麼?
Threshold 改為 4,只有 row 6 的預測由 1 變 0。它的標籤為 0,所以 FP 減少一筆、TN 增加一筆;TP 與 FN 都保持 2。新矩陣是 TP = 2、FP = 1、FN = 2、TN = 3,預測陽性降成 3/8。這一組有限資料中,門檻調整降低了誤報,並沒有補回兩個漏報。
若要看比率,必須寫清楚分母。Threshold 3 的 precision 是 TP/(TP+FP) = 2/4;recall 是 TP/(TP+FN) = 2/4。Threshold 4 的 precision 變成 2/3,recall 仍為 2/4。整體 accuracy 則由 (TP+TN)/8 = 4/8 變成 5/8。這些是八筆合成資料的手算,沒有附帶實體可信度或泛化保證。
安全審查還要問漏報的後果。若一個未涵蓋的實體效應能越過 key release 邊界,它可能比數個誤報更值得追查;但這不表示可以隨意把 threshold 降到最低。降低門檻可能增加誤報與評估負擔,真正的決策應依資產、效應種類、量測成本與剩餘未知項決定。這個小模型沒有替產品選擇門檻,也沒有賦予八筆資料統計代表性。
從數位 effect 走回儀器,需要哪些橋梁?
假設數位模型評估「某旗標在一個接受邊緣被翻轉」。實體端卻只記錄到電壓刺激後系統重啟。兩者之間還缺內部狀態、時序與因果對應;不能把一次 reset 當成指定旗標 flip 的量測證據。實驗計畫應先寫可觀察物:刺激波形與觸發位置、板端供電與溫度、晶片對外反應,以及能否觀察所需的內部訊號。看不到的層級要保留為限制。
對應表可以從「實體刺激條件 → 可觀察反應 → 候選數位 effect → 仍需的證據」逐層列起來。候選 effect 可能不只一種:同一反應可能來自資料破壞、延遲或 reset,沒有更多觀測前不應挑一個最方便的解釋。校準要估計指定條件下各效應的分布與重現性。若要把刺激對應到特定 RTL 位元操作,還須取得能區分其他效應的證據。
本課另列 multi-bit upset 與 power-rail coupling 兩個模型外未知效應。這兩項不屬於八筆 confusion matrix,不能硬塞成 TN,也不能在隱藏清單後說未知數變成 0。清單顯示與否只是介面操作,狀態仍是兩項未知。若以後取得新證據,應更新效應模型、版本與 campaign,再說明舊結論哪些仍成立。
延伸練習:修正、驗證與外推
練習 A:逐筆核對 threshold。 不看摘要,自己將 threshold 從 3 改成 4。找出唯一改變的 row,計算新矩陣、precision、recall 與 accuracy。
解答與推導: Row 6 改變;新矩陣為 2、1、2、3,precision 2/3、recall 2/4、accuracy 5/8。請保留分數而不只寫小數,讓讀者看見分母很小。這一組資料沒有新增 FN,不代表其他資料提高門檻也不會新增 FN。
練習 B:留出真正的新樣本。 工程師用這八筆挑 threshold 4,再用同樣八筆的 5/8 宣稱驗證成功。這份結果少了什麼?請列一份下一輪取樣計畫。
解答與推導: 這仍是調參資料上的結果,缺少獨立驗證。下一輪先固定版本與判準,再取得未用於調參的樣本,按裝置、條件與效應種類分層,保留未命中與不可觀察案例。具體樣本數需依評估目的與實驗條件決定;本課不虛構一個足以簽核的數量。
練習 C:保留未知項。 報告只有八筆矩陣,沒有兩個模型外效應。加入哪幾欄,才能讓第十六課審查者判斷下一步?
解答與推導: 為每項未知記錄效應名稱、可觀察條件、目前缺少的證據、可能影響的資產邊界、負責人與處理狀態。未完成的量測保持未完成,不能用一個總 accuracy 將它歸為已覆蓋。這是一份待執行計畫,不是本課已取得的實體資料。
課堂推導:掃描門檻、成本與小樣本區間
先釐清兩個不同集合。矩陣內 FN 是「已定義的陽性標籤為 1,但模型預測為 0」;模型外 unknown 則是效應類別或觀測方法尚未納入定義。八筆資料中 rows 1、4 是前者。Multi-bit upset 與 power-rail coupling 在本教具中屬於後者,沒有參與八筆標籤的分母。報告應將兩者分開,不能用 FN 的改善遮住模型外缺口。
把 threshold 從 1 掃到 6,每次都對同樣八筆資料套用 score >= threshold。我們可以看到完整變化,而非只挑兩個表現較好看的點。Threshold 6 沒有預測陽性,因此 precision 的分母為 0,程式輸出 null;這表示未定義,不能填成 0% 或 100%。
原 HTML 滑桿只提供 threshold 1–5;第 6 列是下載程式新增的推導,用來示範沒有預測陽性時的邊界。
| threshold | TP | FP | FN | TN | 假設成本 10×FN + FP |
|---|---|---|---|---|---|
| 1 | 4 | 4 | 0 | 0 | 4 |
| 2 | 3 | 3 | 1 | 1 | 13 |
| 3 | 2 | 2 | 2 | 2 | 22 |
| 4 | 2 | 1 | 2 | 3 | 21 |
| 5 | 1 | 1 | 3 | 3 | 31 |
| 6 | 0 | 0 | 4 | 4 | 40 |
成本欄假設一次 FN 成本為 10、一次 FP 為 1,其餘成本為 0。以 threshold 4 為例,10×2+1=21。在這組數據與這組假設下,threshold 1 成本最低,為 4;它也把所有八筆預測為陽性。這是有限教具上的最佳選擇,仍未決定真實量測、服務損失或其他錯誤類別的成本。更沒有解決兩個模型外 unknown。
改變成本就可能改變選擇。例如只計 FP 成本、忽略 FN,threshold 6 會變得便宜,卻漏掉所有四筆陽性。這種目標函數顯然不能支持原本的安全需求。設定權重前先說明每種錯誤影響哪個資產與接受邊界,再用獨立資料評估選定門檻;在八筆調參資料找到最低值只是流程中的一步。
2/4 的 recall 到底有多不確定?
將已知陽性樣本中的成功辨識視為同一固定條件下的獨立 Bernoulli 試驗,令 p̂=2/4=0.5、n=4、z≈1.96。Wilson 的雙側 95% 區間先計中心 c=(p̂+z²/(2n))/(1+z²/n),再計半寬 h=z×sqrt(p̂(1−p̂)/n+z²/(4n²))/(1+z²/n)。代入後 c=0.5、h≈0.349961,區間約為 [0.150039, 0.849961]。
這個寬區間讓「四筆陽性太少」有了數值意義。Wilson 是指定抽樣模型下的近似區間;本課八筆是人工構造的固定資料,所以計算在此展示方法,不能宣稱這些數字是實體校準的 95% 信賴範圍。未知效應與裝置差異也不在這份 Bernoulli 模型裡。
若另外取得 30 個獨立陽性試驗、全都沒有 FN,可用第十四課公式示範 FN 機率的單側 95% 上界:1−0.05^(1/30) 約 9.5034%,3/n 近似約 10%。即使零漏報,也不能推成漏報不可能;這裡的 n 只計陽性試驗,不是把所有陰性與重複案例都加進分母。這三十筆並未在本課取得。
計算練習: 將成本改為 2×FN + FP,六個門檻的成本是多少?再說明為何即使選出最低門檻,兩項 unknown 仍不能改成 covered。
完整解答: 成本依序為 4、5、6、5、7、8,最低仍在 threshold 1。計算只對八筆已標記資料發生作用;兩個 unknown 的效應定義與觀測仍未納入,調門檻不會產生缺少的證據。下一輪要先固定模型與成本,再獨立取樣,並另外安排模型外效應的量測與歸類。
重算與核對
下載程式與結果 JSON 到同一資料夾,以 Python 3.8 以上執行:
python rtl-university-workbook-v1.py --output replay.json
比對 replay.json 與提供的結果檔,先核對本課的 lesson15 欄位。sourceSha256 記錄程式檔案的位元組身分,與算例正確性分開檢查;若編輯內容或把 LF 另存成 CRLF,這個值也會改變。保留原下載檔再做練習,並將學生改版另存,才能分辨方法改變與檔案改變。
離線互動實驗
RTL/SVA 審查方向
物理注入校準必須以實際量測結果對照模型預測。RTL assertion 無法代替這組物理證據。
檢核問題
- 辨認:校準時出現 false negative 代表什麼? 推理: 在已定義的標籤集合內,陽性效應出現,但模型預測為陰性;這是矩陣內的漏報。尚未定義或無法觀察的效應另列 unknown,不進同一分母。
- 比較:提高 score threshold 時,哪些預測可能改變? 推理: 預測陽性可以不變或減少,不可能增加。True positive 或 false positive 可能下降,false negative 或 true negative 可能上升。
- 情境:晶片出現模型未涵蓋的 multi-bit upset,該如何記錄? 推理: 記錄模型外效應及其實體條件。不可算成模型陰性,也不能從 unknowns 中略過。
- 故障診斷:unknown 清單被隱藏後,報告顯示 unknown effects 為零,問題在哪? 推理: 隱藏清單不會消除未知項。數量與狀態要保留,不能把未觀察或省略說成不存在。
- 設計風險/轉移:你在一塊板上調模型,又用同一批資料測試,能證明什麼? 推理: 只能說明模型符合該校準集,不能證明能泛化。另留實體樣本測試,並註明裝置、設備、條件與限制。
延伸閱讀
Analysis of laser-induced errors: RTL fault models versus layout locality characteristics · SYNFI pre-silicon fault analysis
MY ACADEMY · LESSON FILM
教學影片
影片依序說明本課的資料路徑。看完一段,可以回到下面的互動練習,改變輸入或故障條件。動畫呈現教學模型;它沒有替代 RTL 模擬。
左右滑動影片,或用方向鍵查看圖卡。
圖卡的範圍說明
教學模型 · 非 RTL 模擬或晶片實測
概念與合成教學圖;不是物理量測、確定 bit flip 或泛化證明
旁白使用合成聲音。互動教學與動畫均有模型邊界;請以本課的來源與驗證範圍解讀結果。
Wrap-up|把這一課帶回設計審查
- 威脅模型與成立條件
物理 campaign 有可追溯設定與晶片反應;數位模型 target/effect 是待校準假設。
- 失效原因
單次命中被當成必然 bit flip,或無內部可觀測卻推定特定暫存器改變。
- 防護方法
分層對映 effect、保留未命中與未知類別,以獨立資料檢驗模型預測並記錄區間。
- 驗證方式與待做檢查
報樣本/位置/時序/環境/版本/儀器設定、confusion matrix與版本hash;模型僅覆蓋校準域。
- 防護界線與未驗證項目
樣本少、內部節點不可觀測、不同晶粒/封裝/工具、類比耦合與未建模故障限制外推。
換個情境再想一次
拿一類模型外效應建立新的測試分層,說明需增加什麼感測與樣本才能納入。
以上整理對照本課的教學案例、參考資料與實驗範圍;未列為已完成的驗證,都是後續工作。