形式驗證與斷言驗證

斷言式驗證(Assertion-Based Verification, ABV)

斷言式驗證是一種方法論:在設計各處——介面、狀態機內部、匯流排上——散佈許多小斷言,讓臭蟲在案發現場自首,而非很久之後才浮現。沒有斷言時,藏在某模組深處的臭蟲可能默默污染資料,要到數千週期後才以錯誤結果現身,逼你像大海撈針般往回除錯。斷言則是直接放在規則所在處的絆線,使失敗訊息直指壞掉的邏輯。

ABV 的回報有三。它能定位臭蟲(斷言在病因附近觸發,而非在症狀處);它以可執行形式記錄設計意圖(「FIFO 永不溢位」這條規則既是註解也是檢查);它還是設計者與驗證者之間的共享契約——設計者撰寫關於該區塊所保證行為的斷言,而這些相同斷言可原封不動地重用於模擬、形式證明,甚至編譯進硬體用於矽後除錯。大型晶片公司的研究指出,ABV 攔下了相當比例、單靠隨機模擬會漏掉的臭蟲。

業界的經驗法則:邊設計邊寫斷言,而非事後補。剛寫完 FIFO 的設計者最清楚它的不變量,趁邏輯記憶猶新時捕捉只需幾分鐘,卻能省下日後數日的除錯。

又称
ABV斷言式驗證