本系列主要針對有限狀態機進行分析和設計,其中主要包括兩部分:時鐘同步狀態機的分析和時鐘同步狀態機的設計,預計會有五篇文章進行展開,其中介紹一篇,分析和設計分別有兩篇,每一部分都會有相應的實例。
文章目錄
‘SHIT’上最全有限狀態機設計研究(一)-狀態機介紹
‘SHIT’上最全有限狀態機設計研究(二)-時鐘同步狀態機分析1
‘SHIT’上最全有限狀態機設計研究(三)-時鐘同步狀態機分析2
‘SHIT’上最全有限狀態機設計研究(四)-時鐘同步狀態機設計1
‘SHIT’上最全有限狀態機設計研究(五)-時鐘同步狀態機設計2
時鐘同步狀態機分析Clocked Synchronous State Machine Analysis
2.1時鐘同步狀態機的描述
圖3 時鐘同步狀態機的組成框圖
其中,
組合邏輯電路包括:
激勵=F(當前狀態,輸入)<–激勵方程
輸出=G(當前狀態,輸入)<–輸出方程
狀態轉移:從Q到Q*
圖4 狀態機舉例
2.2時鐘同步狀態機的分析
分析大致遵從如下步驟:
1)進行電路描述,得到激勵方程、輸出方程、轉移方程;
2)構建轉移/輸出表(或狀態轉移圖),描述電路功能。
如下圖所示的狀態圖:
第一步,寫出激勵方程:
D0 = EN·Q0’ + EN’ ·Q0
D1 = EN’ ·Q1 + EN·Q1’·Q0 + EN·Q1·Q0’
第二步,寫出輸出方程:
MAX= EN·Q1·Q0
第三步,寫出轉移方程:
MAX= EN·Q1·Q0
D觸發器特徵方程:
Q0 = D0, Q1 = D1
將激勵方程帶入觸發器的特徵方程,得
Q0 = EN·Q0’ + EN’·Q0
Q1 = EN’·Q1 + EN·Q1’·Q0 + EN·Q1·Q0
第四步,寫出狀態轉移表:
轉移表實質就是真值表,由轉移表和狀態表組成。
第4(1)步,轉移表
由狀態轉移方程很好得到,從中可以看出:當EN=0保持原狀態,當EN=1時表示當前變量+1操作,所以這是一個2 bit的加法計數器:
第4(2)步,狀態表:
狀態表和轉移表的區別就是,轉移表是利用狀態變量的取值進行表示,狀態表利用狀態的變量名進行表示:
第4(3)步,狀態轉移表:
狀態表和轉移表合成就是狀態轉移表。
帶使能端的2-bit二進制計數器 ( mealy machine )
第五步,構建狀態轉移圖:
狀態轉移圖,圈圈表示狀態,箭頭表示狀態轉移,箭頭上標註轉移和輸出信息。
MAX= EN·Q1·Q0
D觸發器特徵方程: Q0* = D0, Q1* = D1
將激勵方程帶入觸發器的特徵方程,得
Q0* = EN·Q0’ + EN’·Q0
Q1* = EN’·Q1 + EN·Q1’·Q0 + EN·Q1·Q
歡迎大家訂閱我的公衆號,關於FPGA相關資料和新聞我會第一時間更新到公衆號中,謝謝大家!