首页 > 解决方案 > 在具有敏感性列表的进程中创建等待语句需要什么

问题描述

我想有一个与接收过滤器的进程并行的进程(代码如下)。如果我在 data_to_memory 信号中有 16 位,则此过滤器将更改,然后我将在另一个进程中将其存储在变量中并执行一些过滤器计算。我认为我的代码是正确的,但仍然给我错误:等待语句对于具有敏感性列表的进程是非法的。我将这两个进程放在一个文件中,而我的测试台放在另一个文件中。

process(bits_received)
begin

        if rising_edge(bits_received) then
    bits_data_rec(7 downto 0)<=data_in;
    filter<='0';
    wait until rising_edge(bits_received);
    data_to_memory<=bits_data_rec&data_in;
    filter<='1';
    wait for clock_period;
    filter<='0';
end if;
end process;

我的测试台中的过程:

file_open(file_pointer,"inputs.txt",READ_MODE);
file_open(file_RESULTS,"target.txt",WRITE_MODE);
reset<='1';
wait for clock_period/2;
reset<='0';
wait for clock_period/2;

    
    
      while not endfile(file_pointer) loop
      readline(file_pointer, line_num);
      read(line_num, data);
     
      data_in<=data(7 downto 0);
      bits_received<='1';
      wait for clock_period;
      bits_received<='0';
      data_in<=data(15 downto 8);
      bits_received<='1';
      wait for clock_period;
      bits_received<='0';
      wait for clock_period;
        
WRITE(v_OLINE,out_filter);
writeline(file_RESULTS, v_OLINE);
wait for clock_period;

        wait for clock_period;


end loop;

我的测试台是否影响进程(bits_received)?

标签: vhdl

解决方案


推荐阅读