VHDL描述狀態機

2021-06-21 01:14:49 字數 666 閱讀 5944

狀態機是一種描述或處理數字控制系統的方法。一般將數字控制系統看做是乙個系統黑箱,當有來自環境的輸入刺激時,不但會改變系統現狀,同時黑箱還會輸出反應,改變後的系統狀態稱為次態。這個系統可能是一台機器裝置或乙個電路,用來表示其內部詳細動作的方式,稱為狀態機。

通常,狀態機是控制單元的主題,他接收外部訊號,以及資料單元產生的狀態資訊,產生控制訊號序列。狀態機設計的關鍵是如何把乙個時序邏輯關係抽象成乙個時序邏輯函式。

vhdl語言通常比較適合編寫狀態機,其方式也並非唯一,只是不同編寫方式會影響電路的整合。狀態機的設計主要用到case_when與if_then_else兩種語句,case_when用來指定並行的應為,而if_then_else用來設定優先度的編碼邏輯。

分析狀態機特點:

(1)對於狀態機狀態的描述一般用乙個列舉資料型別,語句列如 type  state_type is(idel,next,working,last)

(2)對於儲存當前狀態的物件一般是乙個訊號,即:signal  filter : state_type

(3)對於狀態機下乙個狀態的判斷一般是通過對時鐘上公升沿的判斷的if_then_else語句內嵌case_when語句;

(4)對於狀態機的輸出則可以用乙個條件或選擇訊號申明語句,或者再用乙個case語句來實現輸出訊號

狀態機 狀態機0

近半年都忙於做專案,沒有太多的時間去整理和總結在專案中用過的技術 個人還是覺得技術需要總結提煉和沉澱的,忙到沒時間去總結提公升其實不 是什麼好事,這次講下狀態機,在戰鬥型別的遊戲中角色有多種不同的狀態,而狀態的切換錯綜複雜,23種設計模式中有一種模式叫做狀態模式,不過 這種模式是把狀態切換條件放到各...

python 狀態機 Python 狀態機

class statemachine def init self self.handlers 狀態轉移函式字典 self.startstate none 初始狀態 self.endstate 最終狀態集合 引數name為狀態名,handler為狀態轉移函式,end state表明是否為最終狀態 de...

VHDL狀態機控制ADC0809 轉貼

以前做硬體,現在轉做軟體了,對以前做的東西還是很懷念,想當年做的乙個用altera公司的epm7128slc84 7和adc0809做的乙個簡單系統,玩得團團轉,多有成就感啊。特別覺得狀態機的思想很奇妙。所以現在找了一篇vhdl狀態機的程式,懷念。基於vhdl語言實現對adc0809簡單控制原始碼 ...