FPGA狀態機設計

2021-10-24 10:59:39 字數 906 閱讀 4404

一、狀態機應用設計

一、狀態機基本概念

1.狀態機的描述方法

狀態機描述時關鍵是要描述清楚幾個狀態機的要素,即如何進行狀態轉移,每個狀態的輸出是什麼,狀態轉移的條件等。具體描述時方法各種各樣,最常見的有三種描述方式:

(1)一段式:整個狀態機寫到乙個always模組裡面,在該模組中既描述狀態轉移,又描述狀態的輸入和輸出;

(2)二段式:用兩個always模組來描述狀態機,其中乙個always模組採用同步時序描述狀態轉移;另乙個模組採用組合邏輯判斷狀態轉移條件,描述狀態轉移規律以及輸出;

(3)三段式:在兩個always模組描述方法基礎上,使用三個always模組,乙個always模組採用同步時序描述狀態轉移,乙個always採用組合邏輯判斷狀態轉移條件,描述狀態轉移規律,另乙個always模組描述狀態輸出(可以用組合電路輸出,也可以時序電路輸出)。

一般而言,推薦的fsm 描述方法是後兩種。這是因為:fsm和其他設計一樣,最好使用同步時序方式設計,以提高設計的穩定性,消除毛刺。狀態機實現後,一般來說,狀態轉移部分是同步時序電路而狀態的轉移條件的判斷是組合邏輯。

2.三種狀態機設計的對比

第二種描述方法同第一種描述方法相比,將同步時序和組合邏輯分別放到不同的always模組中實現,這樣做的好處不僅僅是便於閱讀、理解、維護,更重要的是利於綜合器優化**,利於使用者新增合適的時序約束條件,利於布局佈線器實現設計。

在第二種方式的描述中,描述當前狀態的輸出用組合邏輯實現,組合邏輯很容易產生毛刺,而且不利於約束,不利於綜合器和布局佈線器實現高效能的設計。

第三種描述方式與第二種相比,關鍵在於根據狀態轉移規律,在上一狀態根據輸入條件判斷出當前狀態的輸出,從而在不插入額外時鐘節拍的前提下,實現了暫存器輸出。

一、狀態機應用設計

(待更新)

verilog 狀態機設計

一,狀態機的基本概念 硬體設計講究並行設計的思想,雖然用verilog描述的電路大都是並行實現的,但是對於實際的工程應用,往往需要讓硬體來實現一些具有一定順序的工作,這就要用到狀態機的思想,什麼是狀態機呢?簡單的說,就是通過不同的狀態遷移來完成一些特定的順序邏輯,硬體的並行性決定了用verilog描...

FPGA設計 狀態機構架

在複雜的流程控制中,控制狀態是亂序的,使用狀態機構架進行設計,可以很清晰的設計出複雜的狀態轉換關係,從而可以提高fpga的設計效率,減少出錯的可能。狀態機設計規則1 四段式寫法 第一段 同步時序邏輯設計,次態到現態的遷移。第二段 組合邏輯設計 狀態轉移轉移條件判斷。第三段 定義轉移新增。第四段 根據...

基於proteus的狀態機設計

參考資料 理論上說,任何乙個需要周而復始的執行一系列任務 例如cpu中按順序從儲存器取出指令 再執行指令 的時序系統都可以用狀態機 state machine 模型來描述。時序系統的執行週期可以描述為乙個預定順序的時間週期序列,每個週期都對應狀態機中乙個指定的狀態。狀態機在每個週期中產生特定的操作,...