進階驗證與 UVM
等價性檢驗(equivalence checking)
等價性檢驗是形式上證明「設計的兩個版本計算出完全相同邏輯」——典型情況是人類撰寫的 RTL 對上合成工具產出的閘級網表,或某次自動最佳化前後的兩份網表。它不是把兩者都拿去模擬再比對輸出(那永遠只能取樣到輸入的極小部分),而是用數學證明兩者對每一種輸入在功能上完全相同。這就像把符號重新排列來證明兩個代數式相等,而不是代入數字然後祈禱。
這正是讓設計流程值得信賴的關鍵:合成、時脈樹插入、掃描鏈縫合與 ECO 都會改造網表,每一步之後等價性檢驗都重新證明功能毫無改變——於是一個在 RTL 階段就驗證掉的臭蟲,無法在實體實作過程中偷偷溜回來。最常見的組合等價性檢驗,仰賴在兩份設計間配對關鍵點(暫存器與埠);當這些點對得上時,它既快又窮舉,這正是它能在動輒數十億閘的晶片上例行執行的原因——若要全面重新模擬,那是毫無希望的。
等價性檢驗證明閘級與 RTL 相符——它無法告訴你 RTL 一開始就是對的。那個更前面的問題,屬於模擬、UVM 與性質檢驗的範疇。
又稱
另見