2012-05-03 60 views
0

我是VHDL的初學者,我需要做登錄終端。例如我有固定密碼7010.我只需要實現自動機的功能。我想定義一個信號,它將保存按鍵次數,並且每次都會增加。VHDL登錄終端

但我不知道如何初始化信號和incerement它,因爲當我初始化信號在一個進程中,我不能增加其他進程中的值。如果我不初始化信號,那麼我的代碼不工作,我不知道爲什麼。例如doSomething不會運行,如果我不把這個信號變成「0000」。但我需要在doSomething中增加它的價值...... Sry爲我的英語不好。

if(mySignal = "0000") 
    doSomething 

回答

1

你正在嘗試做聽起來像一個課堂作業。

解決問題。

畫出你想要

在synthisisable VHDL你是在說,除非信號可以是高Z正確的框圖,多個驅動器是不允許的。
但是沒有什麼可以阻止你獲取信號的副本,並在另一個過程中使用它。

。利用無符號的類型櫃檯或有任何幅度的信號,它使生活變得更輕鬆

doSomething:process(clk,mySignal 
begin 
    if rising_Edge(clk) then 
     if mySignal = "0000" then 
      count<=count+1; 
     end if; 
    end if; 
end process;