Config_db是UVM中非常重要和实用的机制,其作用可以简单概括为全局对象之间的数据共享。 本文将介绍UVM中Config_db这套数据共享机制的基本内容,包含config_db的概念、使用方法、应用示例,并扩展介绍资源优先级的概念。当然,后续还有文章《SystemVerilog|UVM|深入Config_db机制》去深入介绍Config_db的实现原理。我尽可能在...
ConfigDatabase机制。翻译过来就是配置数据库,缩写是config_db。数据库无非就是用来存放数据的,UVM提供的这个配置数据库功能很齐全,它可以存放一切你想要存放的数据,并且提供完善的匹配查询服务。配置数据库的用处在于,可以在不同对象之间传递数据。 Phase机制。这套机制定义了基于UVM的仿真步调,也就是说它将整个仿真分...
+UVM_CONFIG_DB_TRACE:打开访问Config_db的追踪(tracing)功能,可以看到config_db的set和get操作在什么时间由什么组件发起。 +UVM_PHASE_TRACE:打开Phase执行的追踪功能,可以看到不同phase的执行顺序。 +UVM_OBJECTION_TRACE:打开Objection相关活动...
`uvm_info("INT_CONFIG", $sformatf("Config for field 'some_int' at context '%s' has value %0h", get_full_name(),i),UVM_NONE) if (!uvm_config_db #(string)::get(this,"","some_string",str)) `uvm_error("NO_STRING_CONFIG",{"No configuration for field 'some_string'", " fou...
同样地,其默认verbosity为UVM_NONE,始终会被打印出来以提醒用户。除了灵活的verbosity设置,UVM还提供了众多调试宏,如+UVM_CONFIG_DB_TRACE、+UVM_PHASE_TRACE和+UVM_OBJECTION_TRACE,它们能帮助用户从仿真日志中洞察配置数据库状态、phase执行情况和objection状态等关键信息。综上所述,UVM在信息打印和调试方面提供了...
UVM component classes Structure of a simple environment Packaging and directory structures Configuration Configuration database (uvm_config_db) How configuration works, with rules, examples and debugging set_configmethod calls (deprecated in UVM1.2) ...
uvm_config_db类是基于静态方法构建的,因此你需要使用以下语法进行调用。 uvm_config_db::set(…) uvm_config_db::get(…) 如果没有静态方法,则必须构造一个数据库(DB)对象,并将其句柄传递到测试平台的每个角落。这违反了简化配置信息共享的整个目标。
if(!uvm_config_db#(virtualmy_if)::get(this,"","vif", vif))//使用返回值 `uvm_fatal("my_driver","virtual interface must be set for vif!!!") endfunction SystemVerilog中成功返回非零值: SystemVerilog总返回值的使用: if(!$cast(bad2,tr)) ...
其中max/min_random_count都是int类型,而seleciton_mode是枚举类型uvm_sequence_lib_mode,有四个枚举值: 至于配置方法,可以在例化完sequence library之后直接修改对象中成员变量,也可以在使用default_sequence时通过uvm_config_db来传递配置参数。 // 总结全文,如果你有一堆sequence,可以玩的方案有很多,但一定要注重...
UVM出了这套完备的打印信息控制机制之外,还提供了很多调试宏,比如+UVM_CONFIG_DB_TRACE、+UVM_PHASE_TRACE、+UVM_OBJECTION_TRACE等,用来方便用户从仿真日志中观测配置数据库(configuration database)状态、phase执行状态和objection状态等。 总而言之,信息的打印方法有很多,UVM在report机制上也给到了足够的控制手段,...