本文的实例二相对于上一篇的实例一有以下变化:

  • 实例二在env中采用了default_sequence隐式的方式启动sequence发送数据,不同于上文中的start显式方式启动;
  • 实例二中添加了新的数据包,该包继承原来的包,增补了约束,用于后续的覆盖;
  • 实例二增加了测试用例,在测试用例中利用factory机制,实现了数据包packet_da_3对于packet的覆盖(override),而不用新建sequence,提高了代码的重用性。
  • test_collection.sv中的分别采用了set_inst_override_by_type()set_type_override_by_type()方法实现数据包的覆盖,由于用来覆盖的数据包一致,所以最终效果一致。
03-28 19:42