VHDL 信号分配无缘无故不起作用
VHDL signal assigement doesnt work for no apparent reason
我在我的测试台中为一个简单的 2out/1in reg 文件实体编写了这个过程,这里是测试台的相关部分:
(注意 - 这些信号是 std_logic_vector(X 下降到 0))
input : process is
begin
wait for 30 ns;
input_adr1 <= "00000";
input_adr3 <= "00000";
input_data3 <= "00000000000000000000000000000000";
input_en3 <= '1';
wait for 10 ns;
input_en3 <= '0';
wait for 10 ns;
input_adr1 <= "00001";
input_adr3 <= "00001";
input_data3 <= "00000000000000000000000000000001";
input_en3 <= '1';
wait for 10 ns;
input_en3 <= '0';
wait for 10 ns;
input_adr1 <= "00010";
input_adr3 <= "00010";
input_data3 <= "00000000000000000000000000000010";
input_en3 <= '1';
wait for 10 ns;
input_en3 <= '0';
wait for 10 ns;
wait;
end process input;
然而,当我转到 ModelSim 检查波时,信号 input_data3
从未改变 - 即使我在顺序代码中为其分配值 0000、0001、0002(十六进制)。请注意,信号 input_en3
、input_adr3
都正常运行。检查一下:
drivers input_data3
Drivers for /procesor_tstbnch/input_data3(31:0):
U : Signal /procesor_tstbnch/input_data3(31)
0 : Driver /procesor_tstbnch/input
U : Element /procesor_tstbnch/register_file/in_data3(31)
U : Signal /procesor_tstbnch/input_data3(30)
0 : Driver /procesor_tstbnch/input
U : Element /procesor_tstbnch/register_file/in_data3(30)
U : Signal /procesor_tstbnch/input_data3(29)
0 : Driver /procesor_tstbnch/input
U : Element /procesor_tstbnch/register_file/in_data3(29)
U : Signal /procesor_tstbnch/input_data3(28)
0 : Driver /procesor_tstbnch/input
U : Element /procesor_tstbnch/register_file/in_data3(28)
U : Signal /procesor_tstbnch/input_data3(27)
0 : Driver /procesor_tstbnch/input
U : Element /procesor_tstbnch/register_file/in_data3(27)
U : Signal /procesor_tstbnch/input_data3(26)
0 : Driver /procesor_tstbnch/input
U : Element /procesor_tstbnch/register_file/in_data3(26)
U : Signal /procesor_tstbnch/input_data3(25)
0 : Driver /procesor_tstbnch/input
U : Element /procesor_tstbnch/register_file/in_data3(25)
U : Signal /procesor_tstbnch/input_data3(24)
0 : Driver /procesor_tstbnch/input
U : Element /procesor_tstbnch/register_file/in_data3(24)
U : Signal /procesor_tstbnch/input_data3(23)
0 : Driver /procesor_tstbnch/input
U : Element /procesor_tstbnch/register_file/in_data3(23)
U : Signal /procesor_tstbnch/input_data3(22)
0 : Driver /procesor_tstbnch/input
U : Element /procesor_tstbnch/register_file/in_data3(22)
U : Signal /procesor_tstbnch/input_data3(21)
0 : Driver /procesor_tstbnch/input
U : Element /procesor_tstbnch/register_file/in_data3(21)
U : Signal /procesor_tstbnch/input_data3(20)
0 : Driver /procesor_tstbnch/input
U : Element /procesor_tstbnch/register_file/in_data3(20)
U : Signal /procesor_tstbnch/input_data3(19)
0 : Driver /procesor_tstbnch/input
U : Element /procesor_tstbnch/register_file/in_data3(19)
U : Signal /procesor_tstbnch/input_data3(18)
0 : Driver /procesor_tstbnch/input
U : Element /procesor_tstbnch/register_file/in_data3(18)
U : Signal /procesor_tstbnch/input_data3(17)
0 : Driver /procesor_tstbnch/input
U : Element /procesor_tstbnch/register_file/in_data3(17)
U : Signal /procesor_tstbnch/input_data3(16)
0 : Driver /procesor_tstbnch/input
U : Element /procesor_tstbnch/register_file/in_data3(16)
U : Signal /procesor_tstbnch/input_data3(15)
0 : Driver /procesor_tstbnch/input
U : Element /procesor_tstbnch/register_file/in_data3(15)
U : Signal /procesor_tstbnch/input_data3(14)
0 : Driver /procesor_tstbnch/input
U : Element /procesor_tstbnch/register_file/in_data3(14)
U : Signal /procesor_tstbnch/input_data3(13)
0 : Driver /procesor_tstbnch/input
U : Element /procesor_tstbnch/register_file/in_data3(13)
U : Signal /procesor_tstbnch/input_data3(12)
0 : Driver /procesor_tstbnch/input
U : Element /procesor_tstbnch/register_file/in_data3(12)
U : Signal /procesor_tstbnch/input_data3(11)
0 : Driver /procesor_tstbnch/input
U : Element /procesor_tstbnch/register_file/in_data3(11)
U : Signal /procesor_tstbnch/input_data3(10)
0 : Driver /procesor_tstbnch/input
U : Element /procesor_tstbnch/register_file/in_data3(10)
U : Signal /procesor_tstbnch/input_data3(9)
0 : Driver /procesor_tstbnch/input
U : Element /procesor_tstbnch/register_file/in_data3(9)
U : Signal /procesor_tstbnch/input_data3(8)
0 : Driver /procesor_tstbnch/input
U : Element /procesor_tstbnch/register_file/in_data3(8)
U : Signal /procesor_tstbnch/input_data3(7)
0 : Driver /procesor_tstbnch/input
U : Element /procesor_tstbnch/register_file/in_data3(7)
U : Signal /procesor_tstbnch/input_data3(6)
0 : Driver /procesor_tstbnch/input
U : Element /procesor_tstbnch/register_file/in_data3(6)
U : Signal /procesor_tstbnch/input_data3(5)
0 : Driver /procesor_tstbnch/input
U : Element /procesor_tstbnch/register_file/in_data3(5)
U : Signal /procesor_tstbnch/input_data3(4)
0 : Driver /procesor_tstbnch/input
U : Element /procesor_tstbnch/register_file/in_data3(4)
U : Signal /procesor_tstbnch/input_data3(3)
0 : Driver /procesor_tstbnch/input
U : Element /procesor_tstbnch/register_file/in_data3(3)
U : Signal /procesor_tstbnch/input_data3(2)
0 : Driver /procesor_tstbnch/input
U : Element /procesor_tstbnch/register_file/in_data3(2)
U : Signal /procesor_tstbnch/input_data3(1)
1 : Driver /procesor_tstbnch/input
U : Element /procesor_tstbnch/register_file/in_data3(1)
U : Signal /procesor_tstbnch/input_data3(0)
0 : Driver /procesor_tstbnch/input
U : Element /procesor_tstbnch/register_file/in_data3(0)
我错过了什么?我不确定我是否理解为什么这个信号分配没有通过。
编辑:我也试图在另一个过程中将所有作业移至 input_data3,它仍然没有改变。
以下是 input_data3 的驱动程序:
查看您的驱动程序列表。例如,对于位 1,您的进程 (Driver /procesor_tstbnch/input
) 正在驱动 1
。但是,信号 也 被称为 /procesor_tstbnch/register_file/in_data3(1)
的东西驱动,它正在驱动 U
。总体结果是该位未定义 (U
)。
什么是register_file/in_data3
?
我在我的测试台中为一个简单的 2out/1in reg 文件实体编写了这个过程,这里是测试台的相关部分: (注意 - 这些信号是 std_logic_vector(X 下降到 0))
input : process is
begin
wait for 30 ns;
input_adr1 <= "00000";
input_adr3 <= "00000";
input_data3 <= "00000000000000000000000000000000";
input_en3 <= '1';
wait for 10 ns;
input_en3 <= '0';
wait for 10 ns;
input_adr1 <= "00001";
input_adr3 <= "00001";
input_data3 <= "00000000000000000000000000000001";
input_en3 <= '1';
wait for 10 ns;
input_en3 <= '0';
wait for 10 ns;
input_adr1 <= "00010";
input_adr3 <= "00010";
input_data3 <= "00000000000000000000000000000010";
input_en3 <= '1';
wait for 10 ns;
input_en3 <= '0';
wait for 10 ns;
wait;
end process input;
然而,当我转到 ModelSim 检查波时,信号 input_data3
从未改变 - 即使我在顺序代码中为其分配值 0000、0001、0002(十六进制)。请注意,信号 input_en3
、input_adr3
都正常运行。检查一下:
drivers input_data3
Drivers for /procesor_tstbnch/input_data3(31:0):
U : Signal /procesor_tstbnch/input_data3(31)
0 : Driver /procesor_tstbnch/input
U : Element /procesor_tstbnch/register_file/in_data3(31)
U : Signal /procesor_tstbnch/input_data3(30)
0 : Driver /procesor_tstbnch/input
U : Element /procesor_tstbnch/register_file/in_data3(30)
U : Signal /procesor_tstbnch/input_data3(29)
0 : Driver /procesor_tstbnch/input
U : Element /procesor_tstbnch/register_file/in_data3(29)
U : Signal /procesor_tstbnch/input_data3(28)
0 : Driver /procesor_tstbnch/input
U : Element /procesor_tstbnch/register_file/in_data3(28)
U : Signal /procesor_tstbnch/input_data3(27)
0 : Driver /procesor_tstbnch/input
U : Element /procesor_tstbnch/register_file/in_data3(27)
U : Signal /procesor_tstbnch/input_data3(26)
0 : Driver /procesor_tstbnch/input
U : Element /procesor_tstbnch/register_file/in_data3(26)
U : Signal /procesor_tstbnch/input_data3(25)
0 : Driver /procesor_tstbnch/input
U : Element /procesor_tstbnch/register_file/in_data3(25)
U : Signal /procesor_tstbnch/input_data3(24)
0 : Driver /procesor_tstbnch/input
U : Element /procesor_tstbnch/register_file/in_data3(24)
U : Signal /procesor_tstbnch/input_data3(23)
0 : Driver /procesor_tstbnch/input
U : Element /procesor_tstbnch/register_file/in_data3(23)
U : Signal /procesor_tstbnch/input_data3(22)
0 : Driver /procesor_tstbnch/input
U : Element /procesor_tstbnch/register_file/in_data3(22)
U : Signal /procesor_tstbnch/input_data3(21)
0 : Driver /procesor_tstbnch/input
U : Element /procesor_tstbnch/register_file/in_data3(21)
U : Signal /procesor_tstbnch/input_data3(20)
0 : Driver /procesor_tstbnch/input
U : Element /procesor_tstbnch/register_file/in_data3(20)
U : Signal /procesor_tstbnch/input_data3(19)
0 : Driver /procesor_tstbnch/input
U : Element /procesor_tstbnch/register_file/in_data3(19)
U : Signal /procesor_tstbnch/input_data3(18)
0 : Driver /procesor_tstbnch/input
U : Element /procesor_tstbnch/register_file/in_data3(18)
U : Signal /procesor_tstbnch/input_data3(17)
0 : Driver /procesor_tstbnch/input
U : Element /procesor_tstbnch/register_file/in_data3(17)
U : Signal /procesor_tstbnch/input_data3(16)
0 : Driver /procesor_tstbnch/input
U : Element /procesor_tstbnch/register_file/in_data3(16)
U : Signal /procesor_tstbnch/input_data3(15)
0 : Driver /procesor_tstbnch/input
U : Element /procesor_tstbnch/register_file/in_data3(15)
U : Signal /procesor_tstbnch/input_data3(14)
0 : Driver /procesor_tstbnch/input
U : Element /procesor_tstbnch/register_file/in_data3(14)
U : Signal /procesor_tstbnch/input_data3(13)
0 : Driver /procesor_tstbnch/input
U : Element /procesor_tstbnch/register_file/in_data3(13)
U : Signal /procesor_tstbnch/input_data3(12)
0 : Driver /procesor_tstbnch/input
U : Element /procesor_tstbnch/register_file/in_data3(12)
U : Signal /procesor_tstbnch/input_data3(11)
0 : Driver /procesor_tstbnch/input
U : Element /procesor_tstbnch/register_file/in_data3(11)
U : Signal /procesor_tstbnch/input_data3(10)
0 : Driver /procesor_tstbnch/input
U : Element /procesor_tstbnch/register_file/in_data3(10)
U : Signal /procesor_tstbnch/input_data3(9)
0 : Driver /procesor_tstbnch/input
U : Element /procesor_tstbnch/register_file/in_data3(9)
U : Signal /procesor_tstbnch/input_data3(8)
0 : Driver /procesor_tstbnch/input
U : Element /procesor_tstbnch/register_file/in_data3(8)
U : Signal /procesor_tstbnch/input_data3(7)
0 : Driver /procesor_tstbnch/input
U : Element /procesor_tstbnch/register_file/in_data3(7)
U : Signal /procesor_tstbnch/input_data3(6)
0 : Driver /procesor_tstbnch/input
U : Element /procesor_tstbnch/register_file/in_data3(6)
U : Signal /procesor_tstbnch/input_data3(5)
0 : Driver /procesor_tstbnch/input
U : Element /procesor_tstbnch/register_file/in_data3(5)
U : Signal /procesor_tstbnch/input_data3(4)
0 : Driver /procesor_tstbnch/input
U : Element /procesor_tstbnch/register_file/in_data3(4)
U : Signal /procesor_tstbnch/input_data3(3)
0 : Driver /procesor_tstbnch/input
U : Element /procesor_tstbnch/register_file/in_data3(3)
U : Signal /procesor_tstbnch/input_data3(2)
0 : Driver /procesor_tstbnch/input
U : Element /procesor_tstbnch/register_file/in_data3(2)
U : Signal /procesor_tstbnch/input_data3(1)
1 : Driver /procesor_tstbnch/input
U : Element /procesor_tstbnch/register_file/in_data3(1)
U : Signal /procesor_tstbnch/input_data3(0)
0 : Driver /procesor_tstbnch/input
U : Element /procesor_tstbnch/register_file/in_data3(0)
我错过了什么?我不确定我是否理解为什么这个信号分配没有通过。
编辑:我也试图在另一个过程中将所有作业移至 input_data3,它仍然没有改变。
以下是 input_data3 的驱动程序:
查看您的驱动程序列表。例如,对于位 1,您的进程 (Driver /procesor_tstbnch/input
) 正在驱动 1
。但是,信号 也 被称为 /procesor_tstbnch/register_file/in_data3(1)
的东西驱动,它正在驱动 U
。总体结果是该位未定义 (U
)。
什么是register_file/in_data3
?