- 新功能和更改功能
变量uvm_sequence_base::starting_phase已弃用,并由两个新方法set_starting_phase和get_starting_phase取代,这些方法阻止在phase中间修改starting_phase。此更改与UVM 1.1不向后兼容,但变量starting_phase虽然已弃用,但尚未从基类库中删除。
新方法uvm_sequence_base::set_automatic_phase_objection将在在sequence执行前后自动调用raise_objection和drop_objection,从而避免在一种常见情况下手动调用raise / drop_objection。
消息系统改造提供基于对象的API以向报告添加属性,使用新的宏`uvm_info_begin /`uvm_info_end等等。现在可以扩展uvm_report_server类,并且可以链接扩展报表服务器。
记录系统改造以为类uvm_recorder提供基于对象的API。
现在可以通过显式恢复默认类型来撤消工厂覆盖。
标准工厂可以替换为用户定义的工厂,例如提供改进的调试功能。
可以使用新方法uvm_objection::set_propagate_mode关闭objections的分层传播(通常是冗余的),以加快执行速度。objections的传播最终将被弃用。
新方法uvm_phase::get_objection_count提供了一种清除所有异议的方法,即
phase.drop_objection(this,“msg”,phase.get_objection_count(this));
用于phase计划内省的新方法uvm_phase :: get_adjacent_predecessor / successor_nodes。
新的回调类uvm_phase_cb允许在phase时进行回调。
现在扩展自uvm_object的每个类都必须具有构造函数。
现在uvm_event类使用(可选)事件有效内容的类型进行参数化。
类型uvm_bitstream_t已被策略对象和字段宏中的类型uvm_integral_t替换。
新类uvm_reg_transaction_order_policy用于指定超宽寄存器访问时的总线事务的顺序。
前缀UVM_已添加到类型为uvm_sequence_state_enum和uvm_sequencer_arb_mode的枚举值中。
new version宏`UVM_MAJOR_REV,`UVM_MINOR_REV等。
- 下列特性成为官方标准的一部分
内置运行时phase(例如reset_phase)的进入和退出标准已记录在类参考手册中。
类uvm_sequence_library现已记录并正式发布。
变量uvm_sequence :: req和rsp现已记录并正式发布。
uvm_sequencer#():: get_next_item,try_next_item,item_done,get,peek和put方法现已记录在案并正式发布。
- 不推荐的功能
set / get_config_int,set / get_config_string,set / get_config_object不建议使用。
不推荐使用uvm_component :: status,kill和do_kill_all。
不推荐使用stop_request,global_stop_request,set_global_timeout,set_global_stop_timeout和stop_timeout。
uvm_component :: stop_phase和变量enable_stop_interrupt已弃用。
不推荐使用变量uvm_test_done。
不推荐使用宏`uvm_sequence_utils,`uvm_declare_sequence_lib和`uvm_update_sequence_lib。
不推荐使用配置数据库参数“default_sequence”,“count”,“max_random_count”和“max_random_depth”。
不推荐使用方法uvm_sequencer_base :: add_sequence,get_seq_kind和get_sequence。
有新的迁移脚本可替换某些已修改或已弃用的功能。