有限狀態機


有限狀態機功能強大,但是不代表提倡;借助綜合工具實現電路功能,對狀態轉移圖或者verilog描述過程產生錯誤或者錯誤理解的話可能會出問題。

 

對狀態轉移圖充分理解

 

有限狀態機的狀態不能太多,要盡可能小。

設計一個

 

 

三大方程:輸出方程、狀態轉移方程、激勵方程;

moore型速度快,僅受限於輸出邏輯決定,mealy受輸入信號和輸出邏輯影響。

 

有限狀態機是唯一可以不用知道相關的電路結構,

 

 

編碼方式:二進制編碼(功耗大,還存在競爭冒險,最簡化);格雷碼(相鄰狀態跳轉時僅有一個bit發生變化);one-hot編碼(任意狀態跳轉只有2個bit變化)

 

寫法:兩段式 (狀態轉移方程,輸出方程&激勵方程),三段式(狀態轉移方程,輸出方程,激勵方程)

 

因為僅有狀態轉移方程在存儲電路中進行

使用case將狀態隔離,

 

不建議,電路中可能會出問題,即使語法沒問題:next_state=x 初始化,使得系統進入正確狀態;

在if-else或者case語句中,狀態一定要寫完整,即使狀態沒有發生變化也要寫上,分支一定要寫全,每個分枝條件下狀態和輸出都要進行賦值,即使轉態沒有發生變化

 

兩段式狀態機

優點:把狀態碼的指定與狀態機控制的輸出聯系起來,把狀態的變化直接用作輸出,可以提高輸出信號的開關速度,並節省電路器件。

缺點:輸出開關的維持時間必須與狀態的維持時間一致。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM