在開發(fā)和使用驗證IP中都發(fā)揮了作用,我認(rèn)為交易類是VIP中最重要的組成部分。事務(wù)類的質(zhì)量定義了 VIP 的質(zhì)量。無論是UVM還是任何其他方法,決定交易類結(jié)構(gòu)都需要充分的規(guī)劃,因為它會影響整個VIP架構(gòu)和驗證環(huán)境。
讓我列出一些我認(rèn)為相關(guān)的準(zhǔn)則:
協(xié)議的所有變體都應(yīng)在事務(wù)類中定義。這使得事務(wù)類可用于生成各種可能的激勵(同時驅(qū)動DUT)。然后,監(jiān)視器的總線功能模型還能夠從 DUT 接口中提取信息并填充事務(wù)類的相關(guān)字段。特別是對于總線協(xié)議,我們應(yīng)該在事務(wù)類中具有隨機屬性,不僅用于信號值,還用于所有可能的延遲。這將使生成器能夠使用約束隨機生成來模擬不同的速度,并在交易中創(chuàng)建不同的延遲。然后,BFM 可以使用事務(wù)類中嵌入的信息,而不是自行生成任何信息。
分層與扁平化事務(wù)模型:扁平化事務(wù)易于維護(hù),并且更容易添加新約束。但是,當(dāng)協(xié)議很復(fù)雜并且需要在程序上隨機化字段時,最好讓父類實例化子類對象數(shù)組。
在下面的示例中,AXI 突發(fā)類實例化特定于突發(fā)的每個節(jié)拍的數(shù)據(jù)類隊列。生成突發(fā)字段后,將在突發(fā)的 post randomize() 方法中生成數(shù)據(jù)字段。如果此事務(wù)模型被平展,則axi_data類的所有字段都將是axi_burst類中的數(shù)組。這里的缺點是什么?如果必須生成隨機突發(fā),則所有數(shù)組都將并行生成。如果您有復(fù)雜的約束,這可能會導(dǎo)致額外的性能開銷。
配置信息應(yīng)該可以從事務(wù)類中訪問。任何可重用的 VIP 都必須是可配置的,并且通常具有與之關(guān)聯(lián)的配置描述符。不同的交易需要根據(jù)VIP的配置生成信息。因此,通過分層選項 (VMM) 或資源/配置數(shù)據(jù)庫 (UVM) 將 VIP 配置句柄作為引用傳遞給事務(wù)。
提供一組豐富的實用程序方法:UVM 提供了一組預(yù)定義的宏,這些宏定義了事務(wù)中的復(fù)制、比較、顯示等實用程序方法。特別是對于驗證IP中使用的事務(wù),與要驗證的總線協(xié)議相關(guān)的其他實用程序方法可能非常有用。這可用于 VIP 的不同組件。在下面的AXI示例中,方法get_trans_addr_by_idx()計算并提供“數(shù)據(jù)節(jié)拍”的地址,用戶不必?fù)?dān)心“突發(fā)”是包裝型、固定型還是增量型。類似地,你可以有一個 get_data() 方法,它可以提供一個字節(jié)隊列以及相應(yīng)的數(shù)據(jù)。因此,用戶無需在其記分牌中單獨計算此信息。
我們可以進(jìn)一步完善這些。最后,重要的是要知道構(gòu)建有效的事務(wù)模型將產(chǎn)生高效的驗證IP。在這里,我放下了我的想法。根據(jù)要驗證的協(xié)議和所涉及的復(fù)雜性,不同的人可能希望以不同的方式構(gòu)建他們的交易類。但是,我相信上述準(zhǔn)則可以納入當(dāng)今使用的大多數(shù)協(xié)議中。希望這對您有用,我絕對有興趣知道您對這個主題的看法。
審核編輯:郭婷
-
IP
+關(guān)注
關(guān)注
5文章
1802瀏覽量
152415 -
UVM
+關(guān)注
關(guān)注
0文章
182瀏覽量
19522 -
AXI
+關(guān)注
關(guān)注
1文章
136瀏覽量
17223
發(fā)布評論請先 登錄
關(guān)于功能驗證、時序驗證、形式驗證、時序建模的論文
Saber軟件功率MOSFET自建模與仿真驗證
什么是IP開發(fā)及FPGA建模?
《TCP-IP詳解_卷3_TCP事務(wù)協(xié)議,HTTP,NNTP
基于VHDL語言的IP核驗證
基于SystemC事務(wù)級的建模仿真研究
一種基于事務(wù)的SoC功能驗證方法
基于事務(wù)斷言驗證及SDH芯片驗證平臺
基于OVM驗證平臺的IP芯片驗證
符合驗證方法手冊VMM的基于SystemVerilog事務(wù)的測試平臺詳細(xì)介紹

事務(wù)級建模使IP加速

評論