IC验证面试中常问知识点总结(一)附带详细回答!!!

1、 uvm_do 和uvm_send、uvm_create 的区别?(start_item与uvm_send有何区别联系?)

uvm_do的功能主要是先创建一个transaction的实例,再将其随机化,最终将其送给sequencer。uvm_do宏封装了从transaction实例化到发送的一系列操作,封装的越多,则其灵活性越差。为了增加uvm_do系列宏的功能,UVM提供了三个接口:pre_do、mid_do与post_do。
uvm_do_with除了有uvm_do的功能外,还可以在随机化时提供对某些字段的约束。
uvm_do_on_pri_with,它有四个参数。第一个参数是transaction的指针,第二个是sequencer的指针,当在sequence中使用uvm_do等宏时,其默认的sequencer就是此sequence启动时为其指定的sequencer,sequence将这个sequencer的指针放在其成员变量m_sequencer中。第三个是优先级,第四个是约束。
uvm_do系列的其他七个宏其实都是用uvm_do_on_pri_with宏来实现的。
uvm_create宏的作用是实例化transaction。当一个transaction被实例化后,可以对其做更多的处理,处理完毕后使用uvm_send宏发送出去。这种使用方式比uvm_do系列宏更加灵活,也完全可以不使用uvm_create宏,而直接调用new进行实例化。uvm_send_pri宏还可以在将transaction交给sequencer时设定优先级。
uvm_rand_send宏与uvm_send宏类似,唯一的区别是它会对transaction进行随机化。这个宏使用的前提是transaction已

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Francis7777777

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值