VHDL信号在两个独立信号的边缘发生变化

时间:2015-11-06 15:33:42

标签: signals vhdl edge

我正在看这篇文章 Flip-Flop triggered on the edge of two signals

我有类似的问题,我的电路将有一个信号充当“开始”而另一个信号充当“结束”以控制发射器。逻辑是这样的:

if (start) then 
    running <= true 
else if (end) then 
    running <= false

“Marty”提供的解决方案解决了这个问题。 在他的一篇回复中,“giroy”说: “我意识到这不是最好的方式,但这是我无法控制的,而且我一直在努力工作”

我是VHDL的新手,想知道实现上述问题的更好方法是什么

1 个答案:

答案 0 :(得分:1)

你只需要一个(时钟控制的)RS-FF:

  • set = start
  • reset =结束

SR-FF的示例代码:

process(Clock)
begin
  if rising_edge(Clock) then
    if (set = '1') then
      reg <= '1';
    elsif (reset = '1') then
      reg <= '0';
    end if;
  end if;
end process;