如何在不使用 vhdl 中的 wait 语句的情况下等待信号在进程中被分配新值

How to wait for a signal to be assigned new value within a process without using wait statement in vhdl

基本上我必须用 vhdl 编写一个大学项目。主要问题是,在一个过程中,我需要为 std_logic 信号分配一个“1”值,以便可以启动辅助过程。我知道信号的分配是在下一个时钟周期。但问题是我需要创建一个可综合的硬件组件,所以我不能真正使用等待语句。那么问题来了:如何在不使用等待语句的情况下等待一个时钟周期?

您需要使用结构如下的时钟进程。 Process_2将在设置start_signal后的时钟周期开始。

process_1 : process(clock)
begin
  if rising_edge(clock) then
    start_signal <= '1';
  end if;
end process;

process_2 : process(clock)
begin
  if rising_edge(clock) then
    if start_signal then
      --do stuff
    end if;
  end if;
end process;