2015-11-06 58 views
0

我一直在寻找这个职位 Flip-Flop triggered on the edge of two signalsVHDL信号在两个单独的信号的边沿改变

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

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

“Marty”提供的解决方案可以解决这个问题。 在他的一份答复,“giroy”说: “我知道这是不是做的最好的方式,但是这是我的控制之外,我坚持了它的工作”

我是新来的VHDL并且想知道什么是实现上述

+0

的可能的复制[触发器触发两个信号的边缘(http://stackoverflow.com/questions/1301673/flip-flop-triggered在两个信号的边缘) –

+0

您可能需要根据您的期望定义“更好”和“最佳”。 SO倾向于用那些主观表达的话来阻止问题。 –

回答

1

问题的一个更好的方法,你只需要一个(主频),RS-FF:

  • set =启动
  • 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;