假设我有这两个类:
class random_packet extends uvm_sequence_item;
rand int cmd;
...
endclass
及其扩展:
class good_packet extends random_packet;
constraint good_constr {
cmd inside {0,1,2};
}
...
endclass
(这里我不打算创建good_packet
对象,但我只想使用它的约束作为参考)然后我实例化 random_packet 对象并随机化它:
random_packet pkt;
pkt = random_packet::type_id::create("pkt");
pkt.randomize();
我的问题:有没有更简单的方法利用其派生类good_packet
的约束来检查结果是否pkt.cmd
属于good_packet
约束类别?这比编写冗余代码更好,例如:
if (pkt.cmd == 0 || pkt.cmd == 1 || pkt.cmd == 2) $display("good");
else $display("bad");