本文共 301 字,大约阅读时间需要 1 分钟。
1.测试时,有多种异常错误,在transaction中加入标志位:
1)大多数情况下,都应该为0。
2)每次都约束很麻烦:
2.出现概率非常低,也可以dist:
但何时取1,很难控制。
1)正常可以如下随机:
2)异常时,如下:
前提是m_trans 已经例化,否则用uvm_do:
这样回报空指针错误。(???)
3.上述只是单独关闭了某一个约束,如下关闭所有约束:
这种情况下,要分别对crc_err,pre_err,sdf_err 进行约束。
4.systemverilog 支持约束的重载。依然可以使用第一种方式的my_transaction 的定义,在其基础上派生新的transaction: