怎么通过验证的东西证明没有被验证的东西也是正确的?
时间:10-02
整理:3721RD
点击:
怎么通过验证的东西证明没有被验证的东西也是正确的?
比如,一个32位的加法器,要所有输入数据全部被覆盖的话,需要2~32 X 2~32 的输入数据,这样对一个大规模的设计来说,要想全部被覆盖那是要花费很多时间的,可能也是不现实的。如果我只是验证了它的部分功能,如何确保其他没验证的也是正确的?
比如,一个32位的加法器,要所有输入数据全部被覆盖的话,需要2~32 X 2~32 的输入数据,这样对一个大规模的设计来说,要想全部被覆盖那是要花费很多时间的,可能也是不现实的。如果我只是验证了它的部分功能,如何确保其他没验证的也是正确的?
穷举是不可能的。
按一定的覆盖率来验证的,
¨Statement coverage;
¨Branch coverage;
¨Condition coverage;
¨Toggle coverage
¨Path coverage
那没被覆盖到的输入怎么知道也是正确的能.有没有证明的方法?
二楼说的对,覆盖率分析是必要的.
Greetings,
For the 32-bit ALU you described, the formal verification scheme is used (instead of simulating some test vectors).
Regards,
你的意思是要保证100%应该用形式验证的方法,如果用模拟的方法将耗费很多时间是吗?
如果只用模拟的方法,不需要达到100%,那么如何确定所选用的测试点是比较有代表性的测试点呢?
个人也只能想一些边缘的corner case。同时也可以利用random加权的方式来生成数据。
也没有特别号的方法。
