我想为一个实例化几个组件但没有重要输出的模块编写一个测试平台。为了测试正确性,我必须访问uut组件的变量。至少能够访问uut的变量会有所帮助。
我想这会像这样工作:
uut: top_module port map(
i_clk => clk,
i_reset => reset
);
testbench: process
begin
wait for CLK_PERIOD;
report STD_LOGIC'image(top_module.flag) severity note;
end process;
当然,我可以用替换顶级模块的方式编写测试平台,但之后我无法测试该模型。扩展顶层模块/ uut的输出也不是一个真正的选择。
答案 0 :(得分:1)
使用VHDL 2008,您可以使用新的external names语法:
alias int1 << signal .tb_top.u_ioc.int1 : std_logic >>;
使用早期的VHDL标准,您必须使用特定于供应商的工具,例如Questa / ModelSim的 signal_spy 。
另一种方法是在较低级别编写测试平台,例如:连接测试平台内的子组件,而不是测试最高级别的实体。