马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
1.验证的目的或指标?
2.driver和sequencer交互的方式?
3.sequence启动的方式? - 在main_phase中通过.start启动
- 在env或test的build phase中通过default_sequence启动(eg:uvm_config_db#(uvm_object_wrapper)::set(this,”env.vir_sequencer.main_phase”,”default_sequence”,degamma_vir_base_seq::type_id::get())),在sequence中通过starting_phase来控制raise_objection和drop_objection.
4.base_test的主要工作?
实例化env 设置default_sequence 设置超时退出,打印test状态等
5.启动test的方式?
top中使用run_test(),run_test()通过UVM_TEST_NAME从命令行中寻找测试用例名字,然后创建它的实例并启动。
6.uvm_component和uvm_object的关系?
7.monitor和scoreboard可以直接从uvm_component派生吗?
通过在顶层模块中调用run test(“test1”)来启动UVM phase。当调用run test()方法时,它首先会创建一个test_top的对象然后调用所有phase。
8.uvm_component_utils_begin/uvm_object_utils_begin的作用?
供需要同时使用factory机制和field_automation注册的类使用,与uvm_xxx_utils_end成对出现。
9.uvm_component具有uvm_object的所有特性吗?为什么?
不是,由于uvm_component是uvm层次化结构(树)的结点,所以某些特性无法享有。比如clone函数(new+copy),因为一旦使用在uvm_component上,新clone出来的类,parent参数无法指定。
10.uvm_top是局部变量还是全局变量? uvm_top是全局变量,可以在其他uvm组件中直接使用,另外还可以通过uvm_root::get()来获得它的指针。 eg:uvm root top; top = uvm_root::get();
11.field_automation机制提供的函数/功能?
copy(用于实例的复制,使用前需先使用new函数分配内存),compare,pack/unpack,clone以及自动获得config_db::set设置的参数。
12.field_automation如何控制copy等操作的开关?
通过17bit的标志位来控制,默认状态UVM_ALL_ON(‘b000000101010101) eg:UVM_ALL_ON | UVM_NOPACK
关注公众号并回复”UVMBOOK”可获取更多UVM学习资料
欢迎扫描二维码关注
|