本系列主要針對有限狀態機進行分析和設計,其中主要包括兩部分:時鐘同步狀態機的分析和時鐘同步狀態機的設計,預計會有五篇文章進行展開,其中介紹一篇,分析和設計分別有兩篇,每一部分都會有相應的實例。
文章目錄
‘SHIT’上最全有限狀態機設計研究(一)-狀態機介紹
‘SHIT’上最全有限狀態機設計研究(二)-時鐘同步狀態機分析1
‘SHIT’上最全有限狀態機設計研究(三)-時鐘同步狀態機分析2
‘SHIT’上最全有限狀態機設計研究(四)-時鐘同步狀態機設計1
‘SHIT’上最全有限狀態機設計研究(五)-時鐘同步狀態機設計2
雷鳥車尾燈-用狀態圖設計狀態機
上圖爲常見的汽車燈示意圖,輸入Inputs: Left, Right, Hazard, Clock;輸出Outputs: six lamps。這是一個典型的狀態決定輸出的例子。用表格表示如下:
第一步,構造狀態圖
狀態圖應該具有如下特點:
- 狀態圖應該是明確的(unambiguous)
- 弧線上的轉移表達式應滿足互斥性和完備性
- mutual exclusion (互斥性)
- 離開某狀態的弧線上的任意兩轉移表達式的邏輯積爲 0
- all inclusion (完備性)
- 離開某狀態的弧線上的所有轉移表達式的邏輯和爲1
利用上面特點,繼續改進狀態圖
第二步,狀態分配
合理的狀態賦值主要注意以下幾點:
-
選擇復位時容易進入的狀態作爲初始狀態
-
使每次轉移時要發生改變的狀態變量數最小化
-
使一組相關狀態中不變化的狀態變量數最大化
-
發現和利用問題描述中的對稱性
-
將狀態變量組分解爲有明確含義的位或字段
狀態賦值結果如下:
第三步,轉移表
完成剩餘步驟
歡迎大家訂閱我的公衆號,關於FPGA相關資料和新聞我會第一時間更新到公衆號中,謝謝大家!