2013-11-02 96 views
0

在VHDL使用FSM已申報狀態,即是將要使用:FSM與結構說明

type state_values is (ST0,ST1,ST2,ST3,ST4,ST5,ST6,ST7,ST8,ST9,ST10,ST11,ST12,ST13,ST14,ST15,ST16); 
    signal pres_state, next_state: state_values; 

我試着使用狀態作爲LOGIC_VECTOR,但隨後的狀態定義wouldn'沒有必要。在使用Structural實現時,有沒有辦法在組件之間使用狀態定義?有沒有一種方法來實現組件的FSM?

回答

3

在包中聲明你的狀態類型,然後你可以在這兩個組件中使用包,它們將共享狀態類型;您可以將它們與信號和該類型的端口互連等。

但是我的問題是爲什麼?狀態機的單一進程形式通常更簡單和更可靠(它只是「狀態」而不是「present_state」和「next_state」)。將SM分成幾個進程而不僅僅是幾個組件?

+0

老師的瘋狂想法......感謝您的幫助 – Mac

+1

如果老師正在使用FSM作爲安全的方法來教授結構VHDL,那麼確定。但如果他建議這是開發真正的VHDL的方法......找一個更好的老師? –