




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、第8講有限狀態(tài)機(jī)設(shè)計8.1有限狀態(tài)機(jī)的優(yōu)點(diǎn)及轉(zhuǎn)移圖描述8.2有限狀態(tài)機(jī)的VHDL描述8.3有限狀態(tài)機(jī)編碼8.4有限狀態(tài)機(jī)剩余狀態(tài)碼的處理8.5有限狀態(tài)機(jī)設(shè)計實例8.1 有限狀態(tài)機(jī)的優(yōu)點(diǎn)及轉(zhuǎn)移圖描述有限狀態(tài)機(jī)的優(yōu)點(diǎn)及轉(zhuǎn)移圖描述8.1.1 有限狀態(tài)機(jī)的優(yōu)點(diǎn)有限狀態(tài)機(jī)的優(yōu)點(diǎn)有限狀態(tài)機(jī)可以描述和實現(xiàn)大部分有限狀態(tài)機(jī)可以描述和實現(xiàn)大部分時序邏輯系統(tǒng)。時序邏輯系統(tǒng)。用用VHDL可以設(shè)計不同表達(dá)方式和不同實可以設(shè)計不同表達(dá)方式和不同實用功能的有限狀態(tài)機(jī),這些有限狀態(tài)機(jī)用功能的有限狀態(tài)機(jī),這些有限狀態(tài)機(jī)的的VHDL描述都具有相對固定的語句和程描述都具有相對固定的語句和程序表達(dá)方式。序表達(dá)方式。 與基于與基于V
2、HDL的其他設(shè)計方案或者與的其他設(shè)計方案或者與使用使用CPU編制程序的解決方案相比,有編制程序的解決方案相比,有限狀態(tài)機(jī)都有其難以超越的優(yōu)越性。限狀態(tài)機(jī)都有其難以超越的優(yōu)越性。 (1) 有限狀態(tài)機(jī)是純硬件數(shù)字系統(tǒng)中的順序控制電路,具有純硬件電路的速度和軟件控制的靈活性。(2) 由于有限狀態(tài)機(jī)的結(jié)構(gòu)模式相對簡單,設(shè)計方案相對固定,特別是可以定義符號化枚舉類型的狀態(tài),這一切都為VHDL綜合器盡可能發(fā)揮其強(qiáng)大的優(yōu)化功能提供了有利條件。而且,性能良好的綜合器都具備許多可控或自動的專門用于優(yōu)化有限狀態(tài)機(jī)的功能。(3) 有限狀態(tài)機(jī)容易構(gòu)成性能良好的同步時序邏輯模塊,這對于解決大規(guī)模邏輯電路設(shè)計中令人深感棘
3、手的競爭冒險現(xiàn)象無疑是一個上佳的選擇。為了消除電路中的毛刺現(xiàn)象,在有限狀態(tài)機(jī)設(shè)計中有多種設(shè)計方案可供選擇。(4) 與VHDL的其他描述方式相比,有限狀態(tài)機(jī)的VHDL表述豐富多樣,程序?qū)哟畏置?,結(jié)構(gòu)清晰,易讀易懂,在排錯、修改和模塊移植方面也有其獨(dú)到之處。(5) 在高速運(yùn)算和控制方面,有限狀態(tài)機(jī)更有其巨大的優(yōu)勢。由于在VHDL中,一個有限狀態(tài)機(jī)可以由多個進(jìn)程構(gòu)成,一個結(jié)構(gòu)體中可以包含多個有限狀態(tài)機(jī),而一個單獨(dú)的有限狀態(tài)機(jī)(或多個并行運(yùn)行的有限狀態(tài)機(jī))以順序方式所能完成的運(yùn)算和控制方面的工作與一個CPU的功能類似。因此,一個設(shè)計實體的功能便類似于一個含有并行運(yùn)行的多CPU的高性能系統(tǒng)的功能。應(yīng)用V
4、HDL設(shè)計有限狀態(tài)機(jī)的具體步驟如下:(1) 根據(jù)系統(tǒng)要求確定狀態(tài)數(shù)量、狀態(tài)轉(zhuǎn)移的條件和各狀態(tài)輸出信號的賦值,并畫出狀態(tài)轉(zhuǎn)移圖。(2) 按照狀態(tài)轉(zhuǎn)移圖編寫有限狀態(tài)機(jī)的VHDL設(shè)計程序。(3) 利用EDA工具對有限狀態(tài)機(jī)的功能進(jìn)行仿真驗證。8.1.2 有限狀態(tài)機(jī)的轉(zhuǎn)移圖描述有限狀態(tài)機(jī)的轉(zhuǎn)移圖描述根據(jù)輸出與輸入、系統(tǒng)狀態(tài)的關(guān)系,有限根據(jù)輸出與輸入、系統(tǒng)狀態(tài)的關(guān)系,有限狀態(tài)機(jī)又可分為狀態(tài)機(jī)又可分為Moore型有限狀態(tài)機(jī)和型有限狀態(tài)機(jī)和Mealy型有限狀態(tài)機(jī)。型有限狀態(tài)機(jī)。 Moore型有限狀態(tài)機(jī)是指輸出僅與系統(tǒng)狀型有限狀態(tài)機(jī)是指輸出僅與系統(tǒng)狀態(tài)有關(guān),與輸入信號無關(guān)的狀態(tài)機(jī)。優(yōu)點(diǎn)是將態(tài)有關(guān),與輸入信號無
5、關(guān)的狀態(tài)機(jī)。優(yōu)點(diǎn)是將輸入和輸出分隔開。輸入和輸出分隔開。Mealy型有限狀態(tài)機(jī)是指型有限狀態(tài)機(jī)是指輸出與系統(tǒng)狀態(tài)和輸入均有關(guān)系的有限狀態(tài)機(jī)。輸出與系統(tǒng)狀態(tài)和輸入均有關(guān)系的有限狀態(tài)機(jī)。 通常采用轉(zhuǎn)移圖對有限狀態(tài)機(jī)的功能進(jìn)行通常采用轉(zhuǎn)移圖對有限狀態(tài)機(jī)的功能進(jìn)行描述。描述。 轉(zhuǎn)移圖是一種有向圖,由圓表示有限狀態(tài)機(jī)的狀態(tài),有向曲線表示系統(tǒng)的狀態(tài)轉(zhuǎn)移過程,有向線段的起點(diǎn)表示初始的狀態(tài),終點(diǎn)表示轉(zhuǎn)移后的狀態(tài)。 對于Mealy型有限狀態(tài)機(jī)在有向曲線段上的字符表示系統(tǒng)的輸入和輸出,用“/”分隔。 對于Moore型有限狀態(tài)機(jī),通常在狀態(tài)后標(biāo)出輸出值,用“/”分隔,輸入信號仍然在有向線段上標(biāo)注。圖8.1所示就是一
6、個簡單的Mealy型有限狀態(tài)機(jī)的轉(zhuǎn)移圖。該有限狀態(tài)機(jī)只有一位輸入、一位輸出,兩個狀態(tài)A1和A2,左側(cè)繪制的指向A1的箭頭表示系統(tǒng)的初始狀態(tài)為A1;在A1的上方,繪制一個起點(diǎn)和終點(diǎn)都在A1上的有向曲線,以及曲線上的標(biāo)注“1/0表示,當(dāng)狀態(tài)為A1,輸入信號為1時,有限狀態(tài)機(jī)的狀態(tài)不變,輸出為0;由A1指向A2的標(biāo)注為“0/1的箭頭表示,當(dāng)系統(tǒng)狀態(tài)為A1,輸入為0時,系統(tǒng)狀態(tài)變?yōu)锳2,且輸出為1。同理,由轉(zhuǎn)移圖可知,當(dāng)系統(tǒng)處于A2狀態(tài)時,輸入為1時狀態(tài)不變,輸出為1;當(dāng)輸入為0時,狀態(tài)變?yōu)锳1,輸出為0。對于比較復(fù)雜的有限狀態(tài)機(jī),在有向箭頭的標(biāo)識上還可以添加字符說明。圖8.2所示為一個Moore型有
7、限狀態(tài)機(jī)的轉(zhuǎn)移圖。圖8.2所示的Moore型有限狀態(tài)機(jī)只有一位輸入、一位輸出,兩個狀態(tài)A1和A2,左側(cè)繪制的指向A1的箭頭表示系統(tǒng)的初始狀態(tài)為A1;標(biāo)注“A1/1表示處于狀態(tài)A1時,輸出為1;同理“A2/0表示處于狀態(tài)A2時,系統(tǒng)輸出為0;在狀態(tài)A1上方繪制的起點(diǎn)和終點(diǎn)均在A1上的有向曲線,以及曲線上的標(biāo)注“1表示,當(dāng)狀態(tài)為A1,輸入信號為1時,有限狀態(tài)機(jī)的狀態(tài)不變;由A1指向A2的標(biāo)注為“0的箭頭表示,當(dāng)狀態(tài)為A1,輸入為0時,有限狀態(tài)機(jī)的狀態(tài)變?yōu)锳2。當(dāng)有限狀態(tài)機(jī)處于A2狀態(tài)時,如果輸入為1,有限狀態(tài)機(jī)的狀態(tài)就會變?yōu)锳1。 對于這種輸出在0,1二值區(qū)間的Moore型有限狀態(tài)機(jī),一般稱之為有
8、限狀態(tài)自動機(jī),對于有限狀態(tài)自動機(jī)還有另一種轉(zhuǎn)移圖的表示方法,即用雙圓環(huán)表示輸出為1的狀態(tài),并稱之為接受狀態(tài)。使用這種轉(zhuǎn)移圖畫法后,圖8.2所示的有限狀態(tài)機(jī)可繪制為如圖8.3所示的轉(zhuǎn)移圖。圖8.3所示的有限狀態(tài)自動機(jī)的轉(zhuǎn)移圖中狀態(tài)A1為接受狀態(tài),用雙圓環(huán)表示。 8.2 有限狀態(tài)機(jī)的有限狀態(tài)機(jī)的VHDL描述描述用用VHDL設(shè)計的有限狀態(tài)機(jī)有多種形式:設(shè)計的有限狀態(tài)機(jī)有多種形式:從有限狀態(tài)機(jī)的信號輸出方式上分:從有限狀態(tài)機(jī)的信號輸出方式上分:Mealy型型和和Moore型;型;從結(jié)構(gòu)上分:單進(jìn)程有限狀態(tài)機(jī)和多進(jìn)程有限從結(jié)構(gòu)上分:單進(jìn)程有限狀態(tài)機(jī)和多進(jìn)程有限狀態(tài)機(jī);狀態(tài)機(jī);從狀態(tài)表達(dá)方式上分:符號化有
9、限狀態(tài)機(jī)和確從狀態(tài)表達(dá)方式上分:符號化有限狀態(tài)機(jī)和確定狀態(tài)編碼的有限狀態(tài)機(jī);定狀態(tài)編碼的有限狀態(tài)機(jī);從編碼方式上分:順序編碼有限狀態(tài)機(jī)、一位從編碼方式上分:順序編碼有限狀態(tài)機(jī)、一位熱碼編碼有限狀態(tài)機(jī)或其他編碼方式的有限狀熱碼編碼有限狀態(tài)機(jī)或其他編碼方式的有限狀態(tài)機(jī)。態(tài)機(jī)。無論有限狀態(tài)機(jī)屬于何種類型,其結(jié)構(gòu)均無論有限狀態(tài)機(jī)屬于何種類型,其結(jié)構(gòu)均可分為狀態(tài)說明、主控時序進(jìn)程、主控組合進(jìn)可分為狀態(tài)說明、主控時序進(jìn)程、主控組合進(jìn)程和輔助進(jìn)程幾個部分。程和輔助進(jìn)程幾個部分。8.2.1 狀態(tài)說明狀態(tài)說明狀態(tài)說明用于說明有限狀態(tài)機(jī)可能的所有狀態(tài)說明用于說明有限狀態(tài)機(jī)可能的所有狀態(tài)。根據(jù)有限狀態(tài)機(jī)狀態(tài)的編碼方
10、式的不同,狀態(tài)。根據(jù)有限狀態(tài)機(jī)狀態(tài)的編碼方式的不同,有兩種狀態(tài)說明結(jié)構(gòu):一種是自動狀態(tài)編碼,有兩種狀態(tài)說明結(jié)構(gòu):一種是自動狀態(tài)編碼,這種編碼方式不指定編碼的具體順序和方式,這種編碼方式不指定編碼的具體順序和方式,只是說明編碼的個數(shù)以及名稱,由綜合器自動只是說明編碼的個數(shù)以及名稱,由綜合器自動進(jìn)行二進(jìn)制編碼,這種方式的進(jìn)行二進(jìn)制編碼,這種方式的VHDL描述比較描述比較簡潔;另一種是指定狀態(tài)編碼,由設(shè)計者分別簡潔;另一種是指定狀態(tài)編碼,由設(shè)計者分別指定各個狀態(tài)的二進(jìn)制編碼,采用這種編碼方指定各個狀態(tài)的二進(jìn)制編碼,采用這種編碼方式后,可根據(jù)需要設(shè)置各個狀態(tài)的編碼,但狀式后,可根據(jù)需要設(shè)置各個狀態(tài)的編
11、碼,但狀態(tài)說明的描述過程比較繁瑣。態(tài)說明的描述過程比較繁瑣。采用自動狀態(tài)編碼方式的狀態(tài)說明部分的核心是用TYPE語句定義的新的描述狀態(tài)的枚舉數(shù)據(jù)類型,其元素都用狀態(tài)機(jī)的狀態(tài)名來定義。用來存儲狀態(tài)編碼的狀態(tài)變量應(yīng)定義為信號,便于信息傳遞;并將狀態(tài)變量的數(shù)據(jù)類型定義為含有既定狀態(tài)元素的新定義的數(shù)據(jù)類型。說明部分一般放在結(jié)構(gòu)體的ARCHITECTURE和BEGIN之間。例8.1ARCHITECTURE ISTYPE FSM_ST IS(A1,A2);SIGNAL cur_st,next_st:FSM_ST; 采用指定狀態(tài)編碼方法的狀態(tài)說明部分就比較繁瑣,需要使用關(guān)鍵詞“CONSTANT一一列出指定的
12、狀態(tài)的二進(jìn)制編碼,用來存儲狀態(tài)編碼的狀態(tài)變量也應(yīng)定義為信號,且類型必須與狀態(tài)編碼的類型相同。例8.2ARCHITECTURE ISCONSTANT A1:STD_LOGIC:= 1 ;CONSTANT A2:STD_LOGIC:= 0 ;SIGNAL cur_st,next_st:STD_LOGIC;8.2.2 主控時序進(jìn)程主控時序進(jìn)程主控時序進(jìn)程是負(fù)責(zé)有限狀態(tài)機(jī)狀態(tài)轉(zhuǎn)化主控時序進(jìn)程是負(fù)責(zé)有限狀態(tài)機(jī)狀態(tài)轉(zhuǎn)化的進(jìn)程。有限狀態(tài)機(jī)是隨外部時鐘信號以同步的進(jìn)程。有限狀態(tài)機(jī)是隨外部時鐘信號以同步時序方式工作的,即保證在時鐘發(fā)生有效跳變時序方式工作的,即保證在時鐘發(fā)生有效跳變時,有限狀態(tài)機(jī)的狀態(tài)才發(fā)生變化
13、。時,有限狀態(tài)機(jī)的狀態(tài)才發(fā)生變化。 一般地,主控時序進(jìn)程負(fù)責(zé)系統(tǒng)的初始和一般地,主控時序進(jìn)程負(fù)責(zé)系統(tǒng)的初始和復(fù)位的狀態(tài)設(shè)置,不負(fù)責(zé)下一狀態(tài)的具體狀態(tài)復(fù)位的狀態(tài)設(shè)置,不負(fù)責(zé)下一狀態(tài)的具體狀態(tài)取值。取值。例8.3PROCESS (reset,clk)BEGIN IF (reset = 1 ) THEN cur_st = st1; ELSIF (clk= 1 AND clkevent ) THEN cur_st IF (inputs=1)THEN output=0;next_st=A1; ELSE output=1;next_st IF ( inputs=1)THEN output=1; next_
14、st=A2; ELSE output=0; next_st next_st= st0;其中next_st是編碼變量,st0是初始狀態(tài)編碼。這種方式適用于采用符號編碼的有限狀態(tài)機(jī)。 8.5 有限狀態(tài)機(jī)設(shè)計實例有限狀態(tài)機(jī)設(shè)計實例本節(jié)將通過控制本節(jié)將通過控制ADC0809進(jìn)行進(jìn)行AD采采樣的有限狀態(tài)機(jī)的實例設(shè)計完整地介紹樣的有限狀態(tài)機(jī)的實例設(shè)計完整地介紹有限狀態(tài)機(jī)的設(shè)計過程。有限狀態(tài)機(jī)的設(shè)計過程。ADC0809是是CMOS的的8位位A/D轉(zhuǎn)換器,轉(zhuǎn)換器,片內(nèi)有片內(nèi)有8路模擬開關(guān),可控制路模擬開關(guān),可控制8個模擬量個模擬量中的一個進(jìn)入轉(zhuǎn)換器中。中的一個進(jìn)入轉(zhuǎn)換器中。ADC0809的精的精度為度為8位,
15、轉(zhuǎn)換時間約位,轉(zhuǎn)換時間約100 s,含鎖存控,含鎖存控制的制的8路多路開關(guān),輸出由三態(tài)緩沖器控路多路開關(guān),輸出由三態(tài)緩沖器控制,單制,單5 V電源供電。電源供電。ADC0809的轉(zhuǎn)換過程時序如圖的轉(zhuǎn)換過程時序如圖8.4所所示。示。圖8.4 ADC0809的轉(zhuǎn)換過程時序START是轉(zhuǎn)換啟動信號,高電平有效ALE是3位通道選擇地址(ADDC、ADDB、ADDA)信號的鎖存信號,當(dāng)模擬量送至某一輸入端(如IN1或IN2等)后,由3位地址信號選擇,而地址信號由ALE鎖存EOC是轉(zhuǎn)換情況狀態(tài)信號,當(dāng)啟動轉(zhuǎn)換約100 s后,EOC產(chǎn)生一個負(fù)脈沖,以示轉(zhuǎn)換結(jié)束;在EOC的上升沿后,若使輸出使能信號OE為高電平,則控制打開三態(tài)緩沖器,把轉(zhuǎn)換好的8位數(shù)據(jù)結(jié)果輸送至數(shù)據(jù)總線。根據(jù)ADC0809的轉(zhuǎn)換時序,控制ADC0809的狀態(tài)機(jī)中共設(shè)置了7個狀態(tài),計為“st0st6”,這7個狀態(tài)在時序圖中的位置如圖8.5所示。圖8.5
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 工程資料員承包合同
- 仿古建設(shè)工程施工合同書
- 2024屆高考語文寫作指導(dǎo)家鄉(xiāng)風(fēng)俗
- 2025年四川貨運(yùn)從業(yè)資格證模擬版本
- 中外合資經(jīng)營企業(yè)合同常用版樣書8篇
- 2025年安徽貨運(yùn)從業(yè)資格證題
- 2025年寧德道路運(yùn)輸從業(yè)資格證考試
- 數(shù)據(jù)模型構(gòu)建表-模型構(gòu)成
- 醫(yī)院對口支援協(xié)議書
- 2025年南寧從業(yè)資格貨運(yùn)資格考試題庫答案大全
- 2025年山東泰山財產(chǎn)保險股份有限公司招聘筆試參考題庫含答案解析
- 初中物理競賽及自主招生講義:第7講 密度、壓強(qiáng)與浮力(共5節(jié))含解析
- 高中主題班會 梁文鋒和他的DeepSeek-由DeepSeek爆火開啟高中第一課-高中主題班會課件
- 污水處理設(shè)施運(yùn)維服務(wù)投標(biāo)方案(技術(shù)標(biāo))
- 一年級下冊書法教案 (一)
- 《浙江省應(yīng)急管理行政處罰裁量基準(zhǔn)適用細(xì)則》知識培訓(xùn)
- 2024年全國職業(yè)院校技能大賽高職組(康復(fù)治療技術(shù)賽項)考試題庫(含答案)
- 2025年山東健康集團(tuán)招聘筆試參考題庫含答案解析
- 《中外廣播電視史》課件
- 微信公眾號運(yùn)營
- DLT 593-2016 高壓開關(guān)設(shè)備和控制設(shè)備
評論
0/150
提交評論