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