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_en3input_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