一、概述
- 比較器實作難度較大,且費時費力,同時還需要維護。
- checker負責的是模拟設計行為和功能檢查。
二、比較器的功能
- 可以緩存從各個Monitor收集到的資料。
- 将DUT輸入接口側的資料彙集給内置的reference model,它扮演了模拟硬體功能的角色。
- 通過資料比較方法,檢查實際收集到的DUT輸出端接口資料是否同reference model産生的期望資料一緻。
- 對于設計内部的關鍵功能子產品,也有相對應的線程進行獨立的檢查。
- 可以将檢查成功的資訊統一納入到檢查報告中,檢查失敗,也可以采取暫停仿真,同時報錯。
三、比較器的實作方式
- 線上比較:在仿真時收集資料和線上比較,并實時報告。
- 線下比較:在仿真時收集的資料記錄在檔案中,仿真結束後比較。
将checker添加到驗證環境中,需要它分析DUT的邊界激勵,激勵資料的輸入,并且按照硬體功能來預測輸出的資料内容,這種預測發生在reference model中,有時也稱為predictor。reference model也會内置一些緩存,分别存放從DUT輸入端觀察到的資料,以及經過功能轉換的資料,同時checker也有其它緩存來存放從輸出端采集到的資料。
四、比較器元件結
checker分散擱置
- 各自檢查對應子產品的功能。
- checker之間的通信需要特殊連接配接。
- 報告資訊較難統一。
- 對于各個checker的使能控制因其分散而變得複雜。
checker叢集擱置
- 各自檢查對應子產品的功能。
- checker各自相鄰,可以共享Monitor的輸入,減少複雜的連接配接關系。
- 可以按照統一的報告形式,寫入到記錄檔案中,集中管理各個checker。
五、比較器結構實作建議
- 對于複雜系統驗證,傾向于集中管理Stimulator和checker。
- Monitor相對更加獨立,隻作為監測方将資料傳給checker即可。
- Monitor與checker一一對應, 通常進一步将它們封裝在agent單元元件中,而checker則最終叢集擱置在中心化的位置。