在ModelSim中使用测试平台而不是“.do”文件有什么好处?
“.do”文件允许我强制和检查端口。测试平台似乎做了完全相同的事情。那么为什么要用……
除了@Tricky的答案之外,“do”文件将特定于您正在使用的实际模拟器。用VHDL编写的测试平台将在任何VHDL模拟器上运行。
强制端口是一种非常简单的驱动设计的方法。其主要目的是覆盖已经在HDL中生成的内容(如故障注入),但可用于驱动UUT。
使用force的问题是你只能提供非常简单的测试用例。当你需要开始编写自检测试平台,BFM(总线功能模型),随机化,覆盖,然后来自TCL的Force不会有太大用处。
例如 - 你有一些接口有一些行为来写一个字节的数据。我知道我宁愿写HDL:
send_byte(x"AB", some_if);
而不是
force some_if 0 10ns, 1 20 ns, 0 30ns ....... etc
过程调用对另一个读者有更多的意义,并且可以很容易地重用以发送许多字节并在许多测试中。