HDLbits/自用/FSM部分/p1
一些關(guān)于fsm(有限狀態(tài)機(jī))的基礎(chǔ)知識:
? ? ? ? ?1. Moore state: 輸出只與觸發(fā)器狀態(tài)有關(guān),不受電路中輸入信號的影響或者沒有輸入信號;
? ? ? ? ? ? ?Miley state: 輸出不僅與觸發(fā)器狀態(tài)有關(guān),還受電路中輸入信號的影響。
? ? ? ? ?2. fsm的verilog寫法一般分為三步走:
? ? ? ? ? ? ? ? ? ? (1)State transition logic:一個組合邏輯always塊(always@(*)塊),描述在當(dāng)前狀態(tài)下,下一個狀態(tài)會變成什么樣的;
? ? ? ? ? ? ? ? ? ? (2)State flip-flops:邊沿觸發(fā)的always塊(always@(posedge clk)等),描述何時會復(fù)位以及變成下一個狀態(tài);
? ? ? ? ? ? ? ? ? ? (3)Output logic:組合邏輯,描述最終輸出與狀態(tài)的關(guān)系。

具體題目
fsm1


2. fsm1(synchronous?reset)
? ?與1相同,除了復(fù)位方式有所不同。
3. fsm2(synchronous?reset)


仍然是相同的方法。
4.?fsm2(asynchronous?reset)
與3相同
5. fsm3comb


6.? Fsm3onehot



7. Fsm3

這題也沒有什么特殊的,就是多了一個異步復(fù)位至state A的條件。再次復(fù)習(xí)fsm三步走:狀態(tài)轉(zhuǎn)移邏輯、狀態(tài)觸發(fā)器、輸出邏輯。

語法注意點(diǎn):如line 25中的寫法,state必須是packed array,不可以是unpacked,否則無法比較。
8. Fsm3s
此題是上一題的同步復(fù)位版本,沒有特別的。