假设我有一个名为“HostToDevice”的实体,它有一个“ps2c”输入信号(VHDL)。在这个实体中,我只将此信号设置为“Z”(高阻抗),因为我想要另一个实体来控制它。
我创建了一个测试台来检查行为并且发生了一些奇怪的事情(对我来说)。在测试台中,我有以下代码:
ps2ctemp_process :process
begin
ps2ctemp <= '0';
wait for ps2c_period/2;
ps2ctemp <= '1';
wait for ps2c_period/2;
end process;
之后:
stim_proc: process
begin
ps2c <= ps2ctemp;
wait;
end process;
当我运行模拟(行为)时,“ps2c”输入信号只是很低并且不会像 ps2ctemp 信号那样改变。
相反,如果我手动驱动 ps2c 信号而不使用其他信号,它工作正常;像这样:
ps2c <= '1';
wait for 10 ns;
ps2c <= '0';
wait for 10 ns;
ps2c <= '1';