2016-08-29 45 views
-1

我想为我的设计编写一个VHDL自检测试台。我很困惑要测试哪些值。我应该检查所有可能的值并查看它们是否正确?我的设计还包含一个通用参数,所以我也应该测试不同的位大小。测试所有可能的值对于较大的比特尺寸变得不可能。例如:人们将如何测试64位浮点加法器?我敢肯定,那么测试所有的价值在物理上是不可能的?使用VHDL自检测试台:应测试哪些值?

+0

这个问题大概需要一本书来回答。像https://www.amazon.co.uk/Writing-Testbenches-Functional-Verification-Models/dp/1402074018/ref=sr_1_3你也可以看看http://www.osvvm.org –

+0

你应该有一个就像@布莱恩 - 德拉蒙德所说的那样看待OSVVM。它会帮助你随机化你的输入数据。要使用不同值的输入泛型的自检测试平台,您还应该查看http://vunit.github.io,它可以帮助您做到这一点。 OSVVM也包含在VUnit发行版中。 免责声明:我是VUNIT的作者之一 – lasplund

回答

0

也许你可以从检查结果特定输入开始。

如果你能找出随机数在测试平台的预期值,你可以使用

种子

取决于时间戳。

您应该有一些检查函数它将输出与期望值进行比较。

我希望我的建议很有帮助。

+1

您应该使用静态的某个函数的种子值,以便您可以一次又一次运行相同的随机序列。如果它是基于时间的话,那么你可能会发现一个测试失败的序列,那么当你认为你已经修复它时,你不能再次运行相同的序列来检查修复。 –