本文介紹了從一組可重用的驗(yàn)證組件中構(gòu)建測試平臺所需的步驟。UVM促進(jìn)了重用,加速了測試平臺構(gòu)建的過程。
首先對測試平臺集成者(testbench integrator)和測試編寫者(test writer )進(jìn)行區(qū)分,前者負(fù)責(zé)測試平臺的構(gòu)建和配置,后者可能對測試平臺的底層了解較少,但用它來創(chuàng)建測試用例。
基于驗(yàn)證組件創(chuàng)建測試平臺的步驟是:
Review可重用的驗(yàn)證組件配置參數(shù)。
實(shí)例化和配置驗(yàn)證組件。
為接口驗(yàn)證組件創(chuàng)建可重用的sequences(可選)。
添加一個virtual sequencer(可選)。
增加checking和functional coverage。
創(chuàng)建測試用例以實(shí)現(xiàn)覆蓋率目標(biāo)。
創(chuàng)建Top-Level Environment
Top-Level Environment是一個容器,它定義了可重用驗(yàn)證組件的拓?fù)浣Y(jié)構(gòu),實(shí)例化并配置可重用的驗(yàn)證IP,并根據(jù)需要定義該IP的默認(rèn)配置。不同的測試用例可以實(shí)例化并重新配置Top-LevelEnvironment類,以更好地實(shí)現(xiàn)其測試目的。
實(shí)例化驗(yàn)證組件
不同的測試用例可以實(shí)例化上面的top-level environment 類,并根據(jù)需要對其進(jìn)行配置,而不需要了解它被創(chuàng)建和配置的所有細(xì)節(jié)。
我們不是在ubus_example_env的new()構(gòu)造函數(shù),而是在內(nèi)置的UVM phase中創(chuàng)建驗(yàn)證子組件。
uvm_config_db::set 調(diào)用指 定masters和slaves的數(shù)量都應(yīng)該是1。這些配置 在 ubus0 build_phase()中被使用,定義ubus0環(huán)境的拓 撲結(jié)構(gòu)。
super.build_phase()作為ubus_example_env’s build()的第一行調(diào)用,如果使用了UVM字段自動化宏(UVM field automation macros ),這將更新ubus_example_tb的配置字段。
connect_phase()是一個內(nèi)置的UVM phase,用于在slave monitor 和scoreboard之間建立連接。slave monitor包含一個TLM analysis port,它與scoreboard上的TLM analysis export 相連。在build_phase()和connect_phase()函數(shù)完成后,用戶可以對一些配置進(jìn)一步進(jìn)行調(diào)整。
創(chuàng)建testcase
uvm_test類定義了測試場景(test scenario),涉及到驗(yàn)證環(huán)境的配置。盡管驗(yàn)證環(huán)境開發(fā)者提供了驗(yàn)證環(huán)境拓?fù)浜团渲脤傩缘哪J(rèn)值,測試用例開發(fā)者可以使用UVM類庫提供的配置覆蓋機(jī)制進(jìn)行覆蓋。UVM中的測試用例是由uvm_test類派生的類,通常定義一個基礎(chǔ)test case類,實(shí)例化并配置Top-Level Environment,然后被擴(kuò)展以定義特定場景。
?
審核編輯:劉清
-
UVM
+關(guān)注
關(guān)注
0文章
182瀏覽量
19171 -
TLM
+關(guān)注
關(guān)注
1文章
32瀏覽量
24750
發(fā)布評論請先 登錄
相關(guān)推薦
評論