VHDL Testbench 过度模拟

VHDL Testbench over simulate

为什么要在 VHDL 中创建 testbench/testbed?坐在模拟器中操纵信号以确保 VHDL 代码运行正确不是同样好吗?

创建一个测试平台。

  1. 您可以随时重新运行它并随着设计的增长扩展它。
  2. 您可以使其自检 - 将输出与预期值进行比较,在出现任何错误时进行断言,并报告任何错误的摘要。
  3. 您可以使用完整的编程语言生成综合测试,或者如果设计太大而无法测试每个输入值,则可以进行随机测试
  4. 您可以读取Matlab生成的文件或其他任何文件,并将结果写入文件以在Matlab中处理和显示以证明其准确性
  5. 除非自检报告错误,否则您无需仔细查看波形,然后显示所有信号以供进一步调试。
  6. 您可以使您的测试半自动甚至全自动。
  7. 即使您执行了其中的 none,一个仅驱动输入的最小测试台并且您必须检查波形,作为以后更好的东西的基础。
  8. (感谢 Morten)您可以快速修改现有测试用例以在仿真中重新创建报告的错误,这使您可以完全了解信号并更快地进行修复。
  9. VHDL 测试台通常是可移植的(reading/writing 二进制文件是我所知道的一个例外,但文本文件也可以)所以您不会被困在使用一个特定的工具链。

我完全支持你,伙计。当我测试我的设计时,我绝对只是强制信号。 Test-benches 只对两件事非常有用。

  1. 通讯
  2. 大型测试

解释:

  1. 您打算如何向其他人展示您的硬件工作正常?你打算坐在那里操纵每个输入然后 运行 吗?编写自动 test-bench 或强制文件效率更高且耗时更少(在查看器端)。

  2. 如果你想测试一百个不同的随机输入怎么办?或者从文件中读取输入?测试平台测试平台测试平台。