文章目录
- 前言
- 一、如何override已经存在的约束
- 总结
前言
在验证过程中,我们基本都是基于spec,做正常的约束,当我们测特定corner场景的时候,希望能够用新的约束,去override已经存在的约束。
一、如何override已经存在的约束
如下所示,data中约束的是正常场景下的数据包,当我们需要构造corner场景时,首先,从已有的约束中,继承一个类,在这个类中带上corner场景的约束,然后,在使用的时候,将子类约束的句柄赋给父类约束的句柄,这样利用类的多态特性,在random的时候,就会调用子类的约束。
总结
本文主要记录如何override已经存在的约束,当然这里还可以用random with操作,只不过random with约束的范围,必须在base约束的范围内。