【发布时间】:2015-10-22 06:53:17
【问题描述】:
我想使用 Modelsim 测试一段代码,但一个信号始终未初始化。这里截取一段代码来解释 Modelsim 的问题:
-- Signal Declaration
signal shifter : std_logic_vector(0 to 6);
signal led_out_temp : std_logic;
process (reset_reset_n) is
begin
if reset_reset_n = '0' then
shifter <= (others => '0'); -- After reset_reset_n goes to '0' shifter is '0000000'
led_out_temp <= '0'; -- Always has the value 'U'
end if;
end process;
当我逐步执行它时,我可以检查值,但即使在退出进程之后,信号 "led_out_temp" 也是 'U'。谁能告诉我为什么?
谢谢!
【问题讨论】:
-
这个最小的例子并不完整。你能提供一个完整的测试平台吗?您的进程是一个组合进程,因此
led_out_temp具有闩锁行为。 -
您的问题中没有足够的信息来复制问题,这不是Minimal, Complete, and Verifiable example。 ''U' 值的一个常见原因是多个驱动程序的默认值为 'U'。
-
该问题应该关闭。添加赏金并不能使它成为一个更好的问题。没有足够的信息来回答它。