在 ModelSim 中使用测试平台而不是“.do”文件有什么优势?

What is the advantage of using a testbench rather than a ".do" file in ModelSim?

在 ModelSim 中使用测试台而不是“.do”文件有什么优势?

“.do”文件允许我强制和检查端口。测试台似乎做完全相同的事情。那么为什么要使用测试台而不是“.do”文件呢?

谢谢!

强制端口是一种非常简单的驱动设计的方法。它的主要目的是覆盖 HDL 中已经生成的内容(如故障注入),但可用于驱动 UUT。

强制使用的问题是你只能提供非常简单的测试用例。当您需要开始编写自检测试平台、BFM(总线功能模型)、随机化、覆盖率时,TCL 的 Force 不会有太大用处。

例如 - 你有一些接口,它有一些行为来写入一个字节的数据。我知道我宁愿写 HDL :

send_byte(x"AB", some_if);

而不是

force some_if 0 10ns, 1 20 ns, 0 30ns ....... etc

过程调用对另一个 reader 有更多意义,并且可以很容易地重复使用以发送许多字节和进行许多测试。

除了@Tricky 的回答之外,"do" 文件将特定于您正在使用的实际模拟器。用 VHDL 编写的测试平台将 运行 在任何 VHDL 模拟器上。