1.什么是狀態(tài)機关筒?有什么用途呢座硕?
狀態(tài)機是一些數(shù)字電路中的核心柱蟀,用于描述當(dāng)前信號的具體狀態(tài),比如大街上常見的自動售賣機饥脑,就是一個狀態(tài)機的很好的例子纠俭,開始時刻惊暴,機器處于“待機”狀態(tài),我們要買一瓶2.5元的可樂夸浅,可以投0.5元的幣和1元的幣仑最,當(dāng)我們投0.5元時候,機器進入“已付款0.5元”狀態(tài)题篷,判斷這些錢是否可以買一瓶飲料词身,直到當(dāng)我們投入的錢夠我們買一瓶飲料時,機器進入“成功購買”狀態(tài)番枚。當(dāng)然,真實的自主售賣機的狀態(tài)機更加復(fù)雜损敷;
我們平時所說的狀態(tài)機一般是有限狀態(tài)機葫笼,即狀態(tài)的個數(shù)是有限的,狀態(tài)機的使用范圍非常廣拗馒,在數(shù)字電路中可以用于一個特定序列的檢測等路星。狀態(tài)機中當(dāng)前狀態(tài)和下一狀態(tài)被稱為現(xiàn)態(tài)和次態(tài),設(shè)計狀態(tài)機的關(guān)鍵诱桂,就是理清現(xiàn)態(tài)和次態(tài)之間的關(guān)系洋丐;
2.狀態(tài)機的分類以及設(shè)計
一般把狀態(tài)機分為moore型和mealy型兩種,根據(jù)輸出與當(dāng)前狀態(tài)挥等、輸入之間的關(guān)系選擇具體類型的狀態(tài)機友绝;
moore型狀態(tài)機特點:輸出僅僅只與當(dāng)前狀態(tài)有關(guān),和輸入無關(guān)肝劲;
mealy型狀態(tài)機特點:輸出不僅只與當(dāng)前狀態(tài)有關(guān)迁客,而且還和輸入有關(guān);
狀態(tài)機的設(shè)計步驟:
1.選擇合適的狀態(tài)機類型(moore or mealy);
2.分析設(shè)計要求辞槐,列出所有的狀態(tài)掷漱,并對每一個狀態(tài)進行編碼(類似每一個人有一個特定的身份證號碼一樣);
3.根據(jù)狀態(tài)轉(zhuǎn)移關(guān)系榄檬,畫出狀態(tài)轉(zhuǎn)移圖卜范;
4.根據(jù)3中的轉(zhuǎn)臺轉(zhuǎn)移關(guān)系,用Verilog 進行狀態(tài)機的描述鹿榜;
狀態(tài)機的描述法:一般采用三段式描述法:
(第一段:用時序邏輯說明現(xiàn)態(tài)和次態(tài)之間的轉(zhuǎn)移關(guān)系)
(第二段:用組合邏輯描述狀態(tài)轉(zhuǎn)移圖中的轉(zhuǎn)移關(guān)系)
(第三段:用組合邏輯描述電路的最終輸出信號)
3.根據(jù)狀態(tài)機設(shè)計步驟海雪,設(shè)計一個狀態(tài)機:檢測序列1010,當(dāng)檢測到該序列時候犬缨,輸入信號led_out變?yōu)楦唠娖?/h5>
1.選擇mealy型狀態(tài)機: