www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當前位置:首頁 > 公眾號精選 > 芯片驗證工程師
[導讀]配置對象可以通過使用uvm_config_db::set方法中的路徑參數來分別控制,更常見的做法是層次化配置對象和配置過程。這樣中間驗證組件也可以進行一些配置,即在中間組件中對上層的配置對象進行解析,然后再打包相應的配置對象給下層組件。?下面是一個SPIblocklevel驗證環(huán)...

配置對象可以通過使用uvm_config_db::set方法中的路徑參數來分別控制,更常見的做法是層次化配置對象和配置過程


這樣中間驗證組件也可以進行一些配置,即在中間組件中對上層的配置對象進行解析,然后再打包相應的配置對象給下層組件。

?

下面是一個SPI block level驗證環(huán)境的一個層次化配置案例,其中每一個agent都有一個單獨的配置對象。

?


envs配置對象中針對每一個agent都有一個配置對象的句柄。在test case中構建和配置env配置對象,然后將實際的agent配置對象賦值給env配置對象內的句柄。


class spi_env_config extends uvm_object;`uvm_object_utils(spi_env_config)bit has_functional_coverage = 1;bit has_reg_scoreboard = 0;bit has_spi_scoreboard = 1;// Configurations for the sub_components apb_config m_apb_agent_cfg;spi_agent_config m_spi_agent_cfg;extern function new(string name = "spi_env_config");endclass: spi_env_config
function spi_env_config::new(string name = "spi_env_config");super.new(name);endfunction
function void spi_test_base::build_phase( uvm_phase phase );m_env_cfg = spi_env_config::type_id::create("m_env_cfg");m_apb_cfg = apb_agent_config::type_id::create("m_apb_cfg");m_env_cfg.m_apb_agent_cfg = m_apb_cfg;m_spi_cfg = spi_agent_config::type_id::create("m_spi_cfg");m_env_cfg.m_spi_agent_cfg?=?m_spi_cfg;endfunction: build_phase


整個配置過程對于所有測試用例都是一樣的,所以通常會先創(chuàng)建一個base test,然后基于此基類擴展出其他的測試用例。


在上述的配置中,spi_env的配置對象包含針對SPI?agent和APB?agent配置對象的句柄,這允許使用env配置對象將所有agent配置對象傳遞下去。這種“俄羅斯套娃”式的配置方式非常適合擴展到多個層次,但是如果不考慮驗證環(huán)境的多層次復用就無需這樣做了


本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內容真實性等。需要轉載請聯(lián)系該專欄作者,如若文章內容侵犯您的權益,請及時聯(lián)系本站刪除。
關閉
關閉