vhdl快速入門教程青創(chuàng)原創(chuàng)-第六講狀態(tài)機(jī)_第1頁
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡介

1、VHDL 的結(jié)構(gòu)非常適合編寫狀態(tài)機(jī),而且編寫方式不唯一,電路的集成也會隨著編寫的方式而改變。狀態(tài)機(jī)的設(shè)計主要用到 case when 和 if else 兩種語句。Case when 用來指定并行的行為,而 if then else 用來設(shè)計優(yōu)先度的編碼邏輯。分析狀態(tài)機(jī)有如下特點(diǎn):1.對于狀態(tài)的描述一般先一個枚舉數(shù)據(jù)類型,語句如下:Type se_type is(idle,tap1,tap2,tap3,tap4);對于當(dāng)前狀態(tài)的對象一般用是一個信號,即:Signal se: se_type;對于狀態(tài)機(jī)的下一個狀態(tài)的判斷一般是通過對時鐘上升沿判斷的 if then else 語句內(nèi)嵌case w

2、hen 語句2.3.4.語句,或者再用一個 case 語句來對于狀態(tài)機(jī)的輸出則可以用一個條件或者選擇信號實(shí)現(xiàn)信號輸出。狀態(tài)機(jī)分為三大類型:Moore 狀態(tài)機(jī):次態(tài)=f(現(xiàn)狀),輸出=f(現(xiàn)狀),即輸出信號是直接由狀態(tài)寄存器譯碼得到Mealy 狀態(tài)機(jī):次態(tài)=f(現(xiàn)狀,輸入),輸出=f(現(xiàn)狀,輸入),即以現(xiàn)時的輸入信號結(jié)合即將變成次態(tài)的現(xiàn)狀編碼成信號輸出?;旌闲蜖顟B(tài)機(jī)用一個序列信號發(fā)生器的實(shí)例來做練習(xí)。(狀態(tài)機(jī)將在以后的很多實(shí)例中加以運(yùn)用,請掌握其編寫方法)序列信號就是一些串行的周期性信號,這些信號在每個循環(huán)周期內(nèi) 1 和 0 數(shù)碼按一定的規(guī)則順序排列。下面所講解的序列發(fā)生器能夠按規(guī)定輸出 8 位

3、0,1序列。代碼如下:逐行解釋:10:清零復(fù)位信號,復(fù)位清零。12:序列信號輸出。因?yàn)槭?8 位的端口,但序列信號是串行的,所以相當(dāng)于有 8 路的序列信號,任取一位端口就是一個序列信號輸出。17:用 type一種枚舉類型。共 8 中狀態(tài),每個狀態(tài)都對應(yīng)唯一的一種輸出,至于在什么狀態(tài)輸出什么信號則由程序決定。18:定義一個 se 類型信號量,其初始的狀態(tài)為 s0。19-26:用 constant 定義一些常量,這些常量將作為在不同狀態(tài)時的輸出信號。32-34:清零復(fù)位時執(zhí)行的動作。33,輸出為value0,34,狀態(tài)為 s0。35-65 : 用 case 語句實(shí)現(xiàn)狀態(tài)的變換。在上升沿的驅(qū)動下,狀態(tài)從 s0-s1-s2-s3-s4-s5-s6-s7-s0 循環(huán)。61-63,若狀態(tài)機(jī)跑飛,及時將狀態(tài)置為為 s0,這樣狀態(tài)機(jī)就能恢復(fù)正常了。其狀態(tài)機(jī)轉(zhuǎn)換圖:仿真波形圖:可任取 seq_sig 的一位作為序列信號的輸出,如若選擇 seq_sig7作為序列信號輸出,則為“01000111”,若選擇 seq_sig6 作為序列信號輸出,則為“0

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論