版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
第五章有限狀態(tài)機的VHDL設(shè)計主要內(nèi)容有限狀態(tài)機的基本概念一般有限狀態(tài)機的設(shè)計摩爾狀態(tài)機設(shè)計米立狀態(tài)機設(shè)計無限狀態(tài)機用于混沌系統(tǒng)非線性系統(tǒng)本書不要求8.1有限狀態(tài)機的基本概念8.1.1有限狀態(tài)機的基本結(jié)構(gòu)和功能
有限狀態(tài)機(FiniteStateMachine,簡稱FSM)是數(shù)字邏輯電路以及數(shù)字系統(tǒng)的重要組成部分,尤其應(yīng)用于數(shù)字系統(tǒng)核心部件的設(shè)計,以實現(xiàn)高效率高可靠性的邏輯控制。有限狀態(tài)機實現(xiàn)了以下兩個基本功能:根據(jù)當(dāng)前狀態(tài)和輸入條件決定狀態(tài)機的內(nèi)部狀態(tài)轉(zhuǎn)換。根據(jù)當(dāng)前狀態(tài)和輸入條件確定產(chǎn)生輸出信號序列。8.1有限狀態(tài)機的基本概念(續(xù))8.1.2狀態(tài)機的狀態(tài)編碼有限狀態(tài)機設(shè)計是基于狀態(tài)描述的,因此首先必須對系統(tǒng)中的每一個工作狀態(tài)有一個合理的表達。對于設(shè)計者而言,為了表達簡捷方便通常使用符號化狀態(tài)機。二進制編碼方案:是用N位二進制數(shù),表示M個工作狀態(tài),當(dāng)然必須滿足2N大于等于M。一位熱碼編碼方案(獨熱碼編碼):用N位二進制數(shù)表示N個狀態(tài),每一位編碼對應(yīng)一個觸發(fā)器,狀態(tài)機中的每個狀態(tài)都由其中一個觸發(fā)器的狀態(tài)來表示。例:二進制101(5)轉(zhuǎn)換為獨熱碼為11111(5個)1101111118.1.3有限狀態(tài)機的技術(shù)優(yōu)勢設(shè)計方案相對固定,結(jié)構(gòu)模式簡單,可定義符號化枚舉類型的狀態(tài)。狀態(tài)機的VHDL描述層次分明,結(jié)構(gòu)清晰,易讀易懂?;谟邢逘顟B(tài)機技術(shù)設(shè)計的控制器其工作速度大大優(yōu)于CPU?;谟邢逘顟B(tài)機技術(shù)設(shè)計的控制器其可靠性也優(yōu)于CPU。二進制:速度慢,位數(shù)少,節(jié)省資源獨熱碼:快多浪費CASE語句:并行處理,程序最穩(wěn)定,能用則用=:賦值=》:8.2一般有限狀態(tài)機的設(shè)計8.2.1一般有限狀態(tài)機的VHDL組成
說明部分:主要是設(shè)計者使用TYPE語句定義新的數(shù)據(jù)類型,如:
TYPEstatesIS(st0,st1,st2,st3,st4,st5);
SIGNALpresent_state,next_state:states;主控時序邏輯部分:任務(wù)是負(fù)責(zé)狀態(tài)機運轉(zhuǎn)和在外部時鐘驅(qū)動下實現(xiàn)內(nèi)部狀態(tài)轉(zhuǎn)換的進程。時序進程的實質(zhì)是一組觸發(fā)器,因此,該進程中往往也包括一些清零或置位的輸入控制信號,如Reset信號。主控組合邏輯部分:任務(wù)是根據(jù)狀態(tài)機外部輸入的狀態(tài)控制信號(包括來自外部的和狀態(tài)機內(nèi)部的非進程的信號)和當(dāng)前的狀態(tài)值current_state來確定下一狀態(tài)next_state的取值內(nèi)容,以及對外部或?qū)?nèi)部其他進程輸出控制信號的內(nèi)容。輔助邏輯部分:輔助邏輯部分主要是用于配合狀態(tài)機的主控組合邏輯和主控時序邏輯進行工作,以完善和提高系統(tǒng)的性能。8.2.2一般有限狀態(tài)機的設(shè)計示例LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;
ENTITYtwo_process_state_machineIS(tpsmIS)
PORT(clk,reset:INSTD_LOGIC; state_inputs:INSTD_LOGIC; comb_outputs:OUTSTD_LOGIC_VECTOR(0TO1));ENDENTITYtwo_process_state_machine;
ARCHITECTURE
behv
OFtwo_process_state_machineIS
TYPEstatesIS(st0,st1,st2,st3);--定義states為枚舉型數(shù)據(jù)類型,構(gòu)造符號化狀態(tài)機 SIGNALcurrent_state,next_state:states;BEGINREG:PROCESS(reset,clk)--時序邏輯進程
BEGIN
IFreset='1'THEN--異步復(fù)位
current_state<=st0;
ELSIF
clk='1'AND
clk'EVENT
THEN--出現(xiàn)時鐘上升沿時進行狀態(tài)轉(zhuǎn)換
current_state<=next_state;
ENDIF;
ENDPROCESS;例8.1二進程一般狀態(tài)機的描述。8.2.2一般有限狀態(tài)機的設(shè)計示例(續(xù)1)COM:PROCESS(current_state,state_inputs)--組合邏輯進程 BEGIN
CASEcurrent_stateIS
WHENst0=>comb_outputs<="00";--系統(tǒng)輸出及其初始化
IFstate_inputs='0'THEN--根據(jù)外部輸入條件決定狀態(tài)轉(zhuǎn)換方向
next_state<=st0;
ELSEnext_state<=st1;
ENDIF;
WHENst1=>comb_outputs<="01";
IFstate_inputs=‘0’THEN
next_state<=st1;
ELSEnext_state<=st2;
ENDIF;
WHENst2=>comb_outputs<="10";
IFstate_inputs=‘0’THEN
next_state<=st2;
ELSEnext_state<=st3;
ENDIF;
WHENst3=>comb_outputs<="11";
IFstate_inputs=‘0’THEN
next_state<=st3;
ELSEnext_state<=st0;
ENDIF;
ENDCASE; ENDPROCESS;ENDARCHITECTURE
behv;例8.1二進程一般狀態(tài)機的描述。8.2.2一般有限狀態(tài)機的設(shè)計示例(續(xù)2)例8.1二進程一般狀態(tài)機的描述。例8.1的狀態(tài)轉(zhuǎn)換圖例8.1的時序仿真圖例8.1的RTL圖8.3摩爾狀態(tài)機設(shè)計LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;
ENTITYfour_state_moore_state_machineIS PORT(
Clk:INSTD_LOGIC; Input:INSTD_LOGIC; reset :INSTD_LOGIC; output:OUT STD_LOGIC_VECTOR(1DOWNTO0) );ENDENTITY;
ARCHITECTURErtlOFfour_state_moore_state_machineIS --定義枚舉類型的狀態(tài)機
TYPEstate_typeIS(s0,s1,s2,s3); --定義一個信號保存當(dāng)前工作狀態(tài)
SIGNALstate:state_type;
從狀態(tài)機的信號輸出方式上看,可以將狀態(tài)機分為摩爾型(Moore)和米立型(Mealy)狀態(tài)機。摩爾型有限狀態(tài)機輸出只與當(dāng)前狀態(tài)有關(guān),而與輸入信號的當(dāng)前值無關(guān),是嚴(yán)格的現(xiàn)態(tài)函數(shù)。例8.2四狀態(tài)摩爾型有限狀態(tài)機的描述。8.3摩爾狀態(tài)機設(shè)計(續(xù)1)BEGIN
PROCESS(clk,reset)
--狀態(tài)轉(zhuǎn)換的時序進程
BEGIN
IFreset='1'THEN state<=s0;
ELSIF(clk'EVENTandclk='1')THEN
CASEstateIS
WHENs0=> IFinput='1'THEN state<=s1;
ELSE state<=s0;
ENDIF;
WHENs1=> IFinput='1'THEN state<=s2;
ELSE state<=s1;
ENDIF;
WHENs2=> IFinput='1'THEN state<=s3;
ELSE state<=s2;
ENDIF;
WHENs3=> IFinput='1'THEN state<=s0;
ELSE state<=s3;
ENDIF;
ENDCASE;
ENDIF;
ENDPROCESS;
PROCESS(state)
--輸出由當(dāng)前狀態(tài)唯一決定的組合邏輯進程
BEGIN
CASEstateIS
WHENs0=> output<="00";
WHENs1=> output<="01";
WHENs2=> output<="10";
WHENs3=> output<="11";
ENDCASE;
ENDPROCESS;END
rtl;例8.2四狀態(tài)摩爾型有限狀態(tài)機的描述。8.3摩爾狀態(tài)機設(shè)計(續(xù)2)例8.2四狀態(tài)摩爾型有限狀態(tài)機的描述。例8.2的時序仿真圖8.4米立狀態(tài)機設(shè)計LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;
ENTITYfour_state_mealy_state_machineIS
PORT (
clk :INSTD_LOGIC; input :INSTD_LOGIC; reset :INSTD_LOGIC; output :OUTSTD_LOGIC_VECTOR(1DOWNTO0) );ENDENTITY;
ARCHITECTURE
rtl
OFfour_state_mealy_state_machineIS --定義枚舉類型的狀態(tài)機
TYPEstate_typeIS(s0,s1,s2,s3); --定義一個信號保存當(dāng)前工作狀態(tài)
SIGNALstate:state_type;
米立狀態(tài)機的輸出是現(xiàn)態(tài)和所有輸入的函數(shù),輸出隨輸入變化而隨時發(fā)生變化。因此,從時序的角度上看,米立狀態(tài)機屬于異步輸出的狀態(tài)機,輸出不依賴于系統(tǒng)時鐘,也不存在摩爾狀態(tài)機中輸出滯后一個時鐘周期來反映輸入變化的問題。例8.3四狀態(tài)米立狀態(tài)機的描述。8.4米立狀態(tài)機設(shè)計(續(xù)1)BEGINREG:PROCESS(clk,reset)
BEGIN
IFreset=‘1’THEN
state<=s0;--高電平有效的系統(tǒng)異步復(fù)位
ELSIF(rising_edge(clk))THEN
CASEstateIS
--依據(jù)當(dāng)前狀態(tài)和輸入信號同步?jīng)Q定下一個狀態(tài)
WHENs0=> IFinput='0'THEN state<=s0;
ELSE state<=s1;
ENDIF;
WHENs1=> IFinput='0'THEN state<=s1;
ELSE state<=s2;
ENDIF;
WHENs2=> IFinput='0'THEN state<=s2;
ELSE state<=s3;
ENDIF;
WHENs3=> IFinput='0'THEN state<=s3;
ELSE state<=s0;
ENDIF;
ENDCASE;
ENDIF;
ENDPROCESS;例8.3四狀態(tài)米立狀態(tài)機的描述。8.4米立狀態(tài)機設(shè)計(續(xù)2)COM:PROCESS(state,input)
--依據(jù)當(dāng)前狀態(tài)和輸入信號決定輸出信號,與時鐘無關(guān)
BEGIN
CASEstateIS
WHENs0=> IFinput='0'THEN output<="00";
ELSE output<="01";
ENDIF;
WHENs1=> IFinput='0'THEN
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 茶園股份合作協(xié)議書
- 2025年安徽淮南壽縣蜀山現(xiàn)代產(chǎn)業(yè)園投資有限公司招聘筆試參考題庫附帶答案詳解
- 中考數(shù)學(xué)一輪復(fù)習(xí)考點練習(xí)考向23 多邊形及其內(nèi)角和(含答案詳解)
- 2025年度鋼管租賃與環(huán)保處理服務(wù)合同
- 2025年度個人環(huán)保產(chǎn)品銷售代理合同
- 2025版天然氣供應(yīng)合同技術(shù)服務(wù)范本模板3篇
- 2025-2030全球汽車NVH測試解決方案行業(yè)調(diào)研及趨勢分析報告
- 2025年全球及中國摻雜碘化銫閃爍晶體行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報告
- 2025-2030全球工業(yè)數(shù)控木材激光切割機行業(yè)調(diào)研及趨勢分析報告
- 2025年度個人投資理財借款合同2篇
- 聲紋識別簡介
- 基于Android的天氣預(yù)報系統(tǒng)的設(shè)計與實現(xiàn)
- 沖鋒舟駕駛培訓(xùn)課件
- 中石化浙江石油分公司中石化溫州靈昆油庫及配套工程項目環(huán)境影響報告書
- 搞笑朗誦我愛上班臺詞
- 汽輪機熱平衡圖功率的核算方法
- 賓館旅客財物保管制度
- 鉆孔樁水下混凝土灌注記錄(自動生成)1
- nord stage 2用戶手冊簡體中文版
- 5A+Chapter+2+Turning+over+a+new+leaf 英語精講課件
- 商業(yè)計劃書(BP)行業(yè)與市場的撰寫秘籍
評論
0/150
提交評論