推荐答案
测试一下
题目
关于’uvm_do_on和’uvm_do_on_with,表述正确的是
A、在使用之前对应的对象需要进行实例化
B、都有三个参数
C、第二个参数可以是virtual sequencer
D、第一个参数必须是transaction指针或者sequence指针
参考答案与知识点
参考答案
正确选项为C、D。A错误:'uvm_do_on宏对于transaction类型参数会自动创建对象,无需提前实例化;但对于sequence类型参数,需要先创建序列对象,因此表述不准确。B错误:'uvm_do_on有两个参数(item/seq和sequencer),'uvm_do_on_with有三个参数(多一个约束)。C正确:第二个参数是sequencer类型,virtual sequencer继承自uvm_sequencer,因此可作为参数传入。D正确:第一个参数必须是transaction对象或sequence对象的句柄(宏内部会将其作为指针处理),不支持其他类型。
涉及知识点
- uvm_do_on宏的参数数量
- uvm_do_on_with宏的约束用法
- virtual sequencer作为sequencer参数
- UVM宏中transaction与sequence的实例化规则
- 宏内建对象创建机制