#C8# UVM中的factory机制 #S8.1.4# 约束的重载
今天,复习一下《UVM实战》一书中的 关于约束的重载 章节学习。
一 问题引导
文件:src/ch8/section8.1/8.1.2/rand_mode/my_transaction.sv
4 class my_transaction extends uvm_sequence_item;
…
17 constraint crc_err_cons{
18 crc_err == 1'b0;
19 }
20 constraint sfd_err_cons{
21 sfd_err == 1'b0;
22 }
23 constraint pre_err_cons{
24 pre_err == 1'b0;
25 }
…
55 endclass
正常的测试用例中,我们可以不用过多关心,只需要创建 my_transaction 的实例,然后发送就好了。但是对于异常测试用例:
文件:src/ch8/section8.1/8.1.2/rand_mode/my_case0.sv
10 virtual task body();
…
14 m_trans = new();
15 `uvm_info("sequence", "turn off constraint", UVM_MED