ch08 VHDL有限狀態(tài)機(jī)設(shè)計(jì)_第1頁(yè)
ch08 VHDL有限狀態(tài)機(jī)設(shè)計(jì)_第2頁(yè)
ch08 VHDL有限狀態(tài)機(jī)設(shè)計(jì)_第3頁(yè)
ch08 VHDL有限狀態(tài)機(jī)設(shè)計(jì)_第4頁(yè)
ch08 VHDL有限狀態(tài)機(jī)設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩27頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

FPGA設(shè)計(jì)與VHDL實(shí)現(xiàn)VHDL有限狀態(tài)機(jī)設(shè)計(jì)第八章英特爾FPGA中國(guó)創(chuàng)新中心系列叢書普通高等教育”十三五”規(guī)劃教材01有限狀態(tài)機(jī)有限狀態(tài)機(jī)有限狀態(tài)機(jī)的描述根據(jù)輸出信號(hào)產(chǎn)生方法的不同,狀態(tài)機(jī)可以分為兩類:米里型(Mealy)和摩爾型(Moore)。摩爾型狀態(tài)機(jī)的輸出只是當(dāng)前狀態(tài)的函數(shù),米里型狀態(tài)機(jī)的輸出則是當(dāng)前狀態(tài)和當(dāng)前輸入的函數(shù)。米里型狀態(tài)機(jī)的輸出是在輸入變化后立即變化的,不依賴時(shí)鐘信號(hào)的同步,摩爾型狀態(tài)機(jī)的輸入發(fā)生變化時(shí)還需要等待時(shí)鐘的到來(lái),必須等狀態(tài)發(fā)生變化時(shí)才導(dǎo)致輸出的變化,因此比米里型狀態(tài)機(jī)要多等待個(gè)時(shí)鐘周期。1有限狀態(tài)機(jī)有限狀態(tài)機(jī)的描述實(shí)用的狀態(tài)機(jī)一般都設(shè)計(jì)為同步時(shí)序方式,它在時(shí)鐘信號(hào)的觸發(fā)下,完成各個(gè)狀態(tài)之間的轉(zhuǎn)換,并產(chǎn)生相應(yīng)的輸出。狀態(tài)機(jī)有三種表示方法:狀態(tài)圖(StateDiagram)、狀態(tài)表(StateTable)和流程圖,這三種表示方法是等價(jià)的,相互之間可以轉(zhuǎn)換。1有限狀態(tài)機(jī)枚舉數(shù)據(jù)類型計(jì)數(shù)器是一種較為特殊的狀態(tài)機(jī),其各個(gè)狀態(tài)的編碼一般是設(shè)定的,或者稱為直接編碼形式。在VHDL中,為了便于閱讀、編譯和優(yōu)化,可采用文字符號(hào)來(lái)表征狀態(tài)機(jī)中的狀態(tài),將狀態(tài)的數(shù)據(jù)類型定義為枚舉類型。202有限狀態(tài)機(jī)的描述方式有限狀態(tài)機(jī)的描述方式三進(jìn)程表述方式"101"序列檢測(cè)器的狀態(tài)轉(zhuǎn)換圖,共有4個(gè)狀態(tài):s0、s1、s2、s3,分別用幾種方式對(duì)其描述。首先介紹三進(jìn)程描述方式。1有限狀態(tài)機(jī)的描述方式三進(jìn)程表述方式1有限狀態(tài)機(jī)的描述方式三進(jìn)程表述方式1有限狀態(tài)機(jī)的描述方式三進(jìn)程表述方式1有限狀態(tài)機(jī)的描述方式雙進(jìn)程表述方式2有限狀態(tài)機(jī)的描述方式雙進(jìn)程表述方式2有限狀態(tài)機(jī)的描述方式雙進(jìn)程表述方式2有限狀態(tài)機(jī)的描述方式雙進(jìn)程表述方式2有限狀態(tài)機(jī)的描述方式單進(jìn)程表述方式也可以采用單進(jìn)程描述方式,將有限狀態(tài)機(jī)的現(xiàn)態(tài)、次態(tài)和輸出邏輯(CS+NS+OL)放在一個(gè)進(jìn)程中進(jìn)行描述。3有限狀態(tài)機(jī)的描述方式單進(jìn)程表述方式303狀態(tài)編碼狀態(tài)編碼常用的編碼方式常用的編碼方式有順序編碼、格雷編碼和一位熱碼編碼等。采用One-Hot編碼,雖然多用了觸發(fā)器,但可以有效節(jié)省和簡(jiǎn)化譯碼電路。對(duì)于FPGA器件來(lái)說(shuō),采用1位熱碼編碼可以有效提高電路的速度和可靠性,也有利于提高器件資源的利用率。因此,對(duì)于FPGA器件,建議采用該編碼方式。1狀態(tài)編碼用ATTRIBUTE指定編碼方式可以采用ATTRIBUTE語(yǔ)句來(lái)指定編碼方式,比如下面的語(yǔ)句使用ATTRIBUTE語(yǔ)句將state信號(hào)的編碼方式定義為gray方式。采用ATTRIBUTE語(yǔ)句定義的編碼方式包括:2狀態(tài)編碼用ATTRIBUTE指定編碼方式多數(shù)的綜合軟件可以設(shè)置編碼方式,如在QuartusPrime軟件中,選擇菜單Assignments---Settings,在出現(xiàn)的頁(yè)面的Category欄中選CompilerSettings選項(xiàng),單擊AdvancedSettings(Synthesis)..按鈕,在出現(xiàn)的對(duì)話框的StateMachineProcessing欄中選擇需要的編碼方式,可選的編碼方式有Auto、Gray、Johnson、MinimalBits、One-Hot、Sequential、User-Encoded等幾種。2狀態(tài)編碼用常量進(jìn)行編碼在采用符號(hào)化的狀態(tài)定義的狀態(tài)機(jī)設(shè)計(jì)中,綜合器在綜合時(shí),會(huì)自動(dòng)為每個(gè)狀態(tài)進(jìn)行編碼,為每個(gè)狀態(tài)選擇一組二進(jìn)制碼字。例8.10采用One-Hot編碼方式對(duì)例8.5的"101"序列檢側(cè)器進(jìn)行了改寫,程序中采用了常數(shù)定義的形式直接對(duì)sO~s3四個(gè)狀態(tài)做了One-Hot編碼。3狀態(tài)編碼用常量進(jìn)行編碼3狀態(tài)編碼用常量進(jìn)行編碼304有限狀態(tài)機(jī)設(shè)計(jì)要點(diǎn)有限狀態(tài)機(jī)設(shè)計(jì)要點(diǎn)起始狀態(tài)的選擇和復(fù)位1.起始狀態(tài)的選擇起始狀態(tài)是指電路復(fù)位后所處的狀態(tài),選擇一個(gè)合理的起始狀態(tài)將使整個(gè)系統(tǒng)簡(jiǎn)潔、高效。狀態(tài)機(jī)般都應(yīng)設(shè)計(jì)為同步方式,并由一個(gè)時(shí)鐘信號(hào)來(lái)觸發(fā)。實(shí)用的狀態(tài)機(jī)都應(yīng)該設(shè)計(jì)為由唯一時(shí)鐘邊沿觸發(fā)的同步運(yùn)行方式。時(shí)鐘信號(hào)和復(fù)位信號(hào)對(duì)每于個(gè)有限狀態(tài)機(jī)來(lái)說(shuō)都是很重要的。1有限狀態(tài)機(jī)設(shè)計(jì)要點(diǎn)起始狀態(tài)的選擇和復(fù)位2.有限狀態(tài)機(jī)的同步復(fù)位實(shí)用的狀態(tài)機(jī)都應(yīng)該有復(fù)位信號(hào)。和其他時(shí)序邏輯電路一樣,有限狀態(tài)機(jī)的復(fù)位有同步復(fù)位和異步復(fù)位兩種。1有限狀態(tài)機(jī)設(shè)計(jì)要點(diǎn)起始狀態(tài)的選擇和復(fù)位3.有限狀態(tài)機(jī)的異步復(fù)位如果只需要在上電和系統(tǒng)錯(cuò)誤時(shí)進(jìn)行復(fù)位操作,那么采用異步復(fù)位方式要比同步復(fù)位方式好。這樣做的主要原因是:同步復(fù)位方式占用較多的額外資源,而異步復(fù)位可以消除引入額外寄存器的可能性;而且?guī)в挟惒綇?fù)位信號(hào)的VHDL語(yǔ)言描述十分簡(jiǎn)單,只需在描述狀態(tài)寄存器的進(jìn)程中引入異步復(fù)位信號(hào)即可。1有限狀態(tài)機(jī)設(shè)計(jì)要點(diǎn)多余狀態(tài)的處理在狀態(tài)機(jī)設(shè)計(jì)中,通常會(huì)出現(xiàn)大量的多余狀態(tài),比如采用n位狀態(tài)編碼,則總的狀態(tài)數(shù)為2",因此經(jīng)常會(huì)出現(xiàn)多余狀態(tài),或稱為無(wú)效狀態(tài)、非法狀態(tài)等。尤其是采用One-Hot編碼后,會(huì)出現(xiàn)較多的無(wú)效狀態(tài)。205有限狀態(tài)機(jī)應(yīng)用實(shí)例有限狀態(tài)機(jī)應(yīng)用實(shí)例用有限狀態(tài)機(jī)控制流水燈采用有限狀態(tài)機(jī)設(shè)計(jì)彩燈控制器,控制4個(gè)LED燈實(shí)現(xiàn)如下的演示花型:?從右至左逐個(gè)亮;全滅。?從左至右逐個(gè)亮;全滅。?循環(huán)執(zhí)行上述過(guò)程。1有限狀態(tài)機(jī)應(yīng)用實(shí)例用有限狀態(tài)機(jī)控制A/D采樣限狀態(tài)機(jī)很適于控制AJD芯片讀取采樣數(shù)據(jù)。ADC0809是8位AID轉(zhuǎn)換器,片內(nèi)有8路模擬開關(guān),可控制8個(gè)模擬

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論