为什么在VHDL代码测试平台中没有声明端口?
答案 0 :(得分:2)
测试平台是一个封闭的系统。被测设计(DUT)的所有输入均由测试平台驱动。测试平台可以观察测试设计的所有输出。因此,测试平台没有输入或输出。
答案 1 :(得分:0)
VHDL标准中没有定义Testbench,只能向其他机构提出申诉。
参见 电子设计自动化手册 ,Dirk Jansen编辑,2003年,第137页:
4.10测试台
VHDL模型的正确功能测试最好在开发过程中开始。首先,输入信号如时钟和数据以刺激电路并在输出端产生响应是有意义的。在开发周期的后期,输出信号的行为是主要的兴趣。
为了建立一个所谓的测试平台的仿真环境,VHDL非常适合。 VHDL的功能可以不受任何限制地使用。从外部角度来看,测试台是围绕被测物体的封闭盒,从而产生自主系统。测试台应该是对电路所处环境的良好和完整的描述。
测试平台最重要的特性是在VHDL描述中所述的空端口列表,其上面是一级层次结构。这里,测试中的描述被实例化为组件。测试台的目的是产生合适的输入信号,并以不需要耗时的视觉控制的方式检查输出。有三个部分决定了试验台的结构:
•刺激模型或输入处测试向量的定义;
•正在测试的VHDL描述(被测设备,DUT);
•用于检查或存储模拟结果的响应模型。
因此,它是一个模拟模型,包含被测设备(您的可实施设计模型),输入激励,并且可能还提供预期结果和验证它们的方法。
参见 IEEE Std 1076-2008 14.2详细设计层次结构,第7段:
实现可以允许(但不是必须)允许设计层次结构的根设计实体具有泛型和端口。 ......“。
不需要VHDL实现来详细说明和模拟具有顶级接口列表的模型。如果您的模型的顶层没有任何泛型端口,那么您可以安全地使用。如果允许存在泛型,那么他们就不会做任何有趣的事情。
基于激励的VHDL模型模拟 - 信号事件的发生。一旦没有更多的信号事件被安排,模拟时间将提前到Time'HIGH并且模拟将结束。
具有未连接端口的顶级模型将简单地执行初始化并且完全没有测试平台,禁止包含松弛振荡器的模型调用延迟 - 并且无法合成。
我们在测试平台中提供用VHDL编写的算法激励模型,以便在执行验证时运行功能时保持模拟活动。