01
復(fù)合狀態(tài)
復(fù)合狀態(tài)是一個非常有用的工具,可以幫助分解和分組一些相關(guān)的狀態(tài)( 復(fù)合狀態(tài)的作用 ),它們可以對它們進(jìn)行過渡,這將傳播到所有子狀態(tài)。復(fù)合狀態(tài)必須滿足某些格式良好的條件才能有效:
- 復(fù)合狀態(tài)必須具有初始狀態(tài)(可視為默認(rèn)端口)。
- 從子項到子項的轉(zhuǎn)換不能“跨越”復(fù)合狀態(tài)的邊界(使用輸入/輸出端口獲得相同的效果)。
當(dāng)走過指向復(fù)合狀態(tài)的過渡時,將從復(fù)合的初始(默認(rèn))狀態(tài)繼續(xù)執(zhí)行。
02
歷史機(jī)制
歷史機(jī)制將以復(fù)合狀態(tài)存儲最后一個活動狀態(tài),并在任何后續(xù)轉(zhuǎn)換到相同復(fù)合狀態(tài)時“恢復(fù)”其激活( 這就是歷史機(jī)制的作用 )。此機(jī)制不會影響輸入端口,輸入端口的行為就像以前沒有保存的歷史記錄一樣( 歷史機(jī)制的特點 )。

在這個例子中,我們模擬了兩個鐘擺在每個時鐘事件中切換,每 0.51 秒在兩者之間交替一次。在 TicTac1 中,我們從狀態(tài)“ Starter 1 ”開始,然后在“Tic 1”和“Tac 1”之間繼續(xù)。然后我們跳到 TicTac2,繼續(xù)“Starter 2”。在“Tic 2”和“Tac 2”之間跳躍0.51秒后,我們回到“TicTac1”。
然后,由于歷史節(jié)點,我們記住上次訪問的狀態(tài)并直接進(jìn)入它,在本例中為“Tic1”,Starter 1 不會重新激活。當(dāng)返回到 TicTac2 時,由于沒有歷史記錄狀態(tài),我們從“Starter 2”狀態(tài)重新啟動。
所有這些都可以在下面顯示的模擬該狀態(tài)圖的計時圖上看到。(一定要結(jié)合上面的話與下面的圖)

-
信號處理器
+關(guān)注
關(guān)注
1文章
263瀏覽量
26229 -
有限狀態(tài)機(jī)
+關(guān)注
關(guān)注
0文章
52瀏覽量
10679 -
狀態(tài)機(jī)
+關(guān)注
關(guān)注
2文章
499瀏覽量
29141 -
fsm
+關(guān)注
關(guān)注
0文章
36瀏覽量
13112 -
邏輯控制器
+關(guān)注
關(guān)注
0文章
44瀏覽量
9767
發(fā)布評論請先 登錄
有限狀態(tài)機(jī)有什么類型?
什么是有限狀態(tài)機(jī)呢
有限狀態(tài)機(jī)的建模與優(yōu)化設(shè)計
VHDL有限狀態(tài)機(jī)設(shè)計-ST
初學(xué)者對有限狀態(tài)機(jī)(FSM)的設(shè)計的認(rèn)識
如何使用FPGA實現(xiàn)序列檢測有限狀態(tài)機(jī)
有限狀態(tài)機(jī)設(shè)計是HDL Designer Series的關(guān)鍵應(yīng)用
基于事件驅(qū)動的有限狀態(tài)機(jī)介紹
如何以面向?qū)ο蟮乃枷朐O(shè)計有限狀態(tài)機(jī)
基于事件驅(qū)動的有限狀態(tài)機(jī)介紹
FPGA有限狀態(tài)機(jī)編寫如何選擇狀態(tài)編碼?
一個基于事件驅(qū)動的有限狀態(tài)機(jī)
有限狀態(tài)機(jī)分割設(shè)計
什么是有限狀態(tài)機(jī)?如何解決傳統(tǒng)有限狀態(tài)機(jī)「狀態(tài)爆炸」問題?
有限狀態(tài)機(jī)復(fù)合狀態(tài)與歷史機(jī)制是什么意思?
評論