VHDL信号配置没有明显的原因

时间:2015-08-06 14:38:19

标签: vhdl

我在我的测试平台上为一个简单的2out / 1in reg文件实体编写了这个过程,这是测试平台的相关部分: (注意 - 这些信号是std_logic_vector(X downto 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都表现正常。检查一下:

enter image description here

  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 个答案:

答案 0 :(得分:1)

查看您的驱动程序列表。例如,对于位1,您的流程(Driver /procesor_tstbnch/input)正在推动1。但是,信号由名为/procesor_tstbnch/register_file/in_data3(1)的东西驱动,该U正在驱动U。总体结果是该位未定义(register_file/in_data3)。

什么是# ...Irrelevant config... # Print only messages of level WARN or above in the package com.foo. log4j.logger.com.foo=WARN