1
我在进程之间进行通信时遇到问题。我曾经使用flag和clearFlag来解决这个问题,但它有点烦人,看起来不太好。处理这个问题的最佳做法是什么?以下是我之前做过的示例代码:VHDL中进程之间的通信
Proc_A : process (clk, reset, clrFlag)
begin
if clrFlag = '1' then
flag <='0';
elsif reset = '0' then
A <= (others => '0');
elsif rising_edge (clk) then
A <= in;
flag <= '1';
end if;
end process;
Proc_B : process (clk, reset)
begin
if reset = '0' then
B <= (others => '0');
elsif rising_edge (clk) then
if flag = '1' then
B <= data;
clrFlag <= '1';
else
clrFlag <= '0';
end if;
end if;
end process;
这种方法可行,但我不认为这是很好的方法。我必须写一个标志和clrFlag对来完成这个任务。我想要做的就是发生某些事情时(例如A < = in;),它会触发另一个proc,例如Proc_B运行一次或多次。这个问题的最佳做法是什么?谢谢!