2015-11-06 57 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;