EDA第8章-有限狀態(tài)機設計技術_第1頁
EDA第8章-有限狀態(tài)機設計技術_第2頁
EDA第8章-有限狀態(tài)機設計技術_第3頁
EDA第8章-有限狀態(tài)機設計技術_第4頁
EDA第8章-有限狀態(tài)機設計技術_第5頁
已閱讀5頁,還剩21頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第8章有限狀態(tài)機設計技術

有限狀態(tài)機的簡介基本概念有限狀態(tài)機用來實現(xiàn)一個數(shù)字電路設計的控制部分,與CPU的功能類似,綜合了時序邏輯和組合邏輯電路。有限狀態(tài)機與CPU功能比較控制功能的實現(xiàn)

CPU通過操作指令和硬件操作單元。

有限狀態(tài)機通過狀態(tài)轉(zhuǎn)移。有限狀態(tài)機適用于可編程邏輯器件。通過恰當?shù)腣erilog語言描述和EDA工具綜合,可以生成性能優(yōu)越的有限狀態(tài)機,在執(zhí)行時間、運行速度和占用資源等方面優(yōu)于CPU實現(xiàn)的設計方案。有限狀態(tài)機分類Moore型有限狀態(tài)機和Mealy型有限狀態(tài)機。Moore型有限狀態(tài)機次態(tài)邏輯狀態(tài)寄存器輸出邏輯輸入次態(tài)現(xiàn)態(tài)輸出時鐘復位Moore型:輸出信號僅與當前狀態(tài)有關。有限狀態(tài)機的簡介Mealy型有限狀態(tài)機Mealy型:輸出信號不僅與當前狀態(tài)有關,還與所有

輸入信號有關。次態(tài)邏輯狀態(tài)寄存器輸出邏輯輸入次態(tài)現(xiàn)態(tài)輸出時鐘復位有限狀態(tài)機的簡介8.1.2狀態(tài)機的一般結(jié)構(gòu)有限狀態(tài)機(FSM,F(xiàn)initeStateMachine)是時序電路設計中經(jīng)常采用的一種方式,尤其適于設計數(shù)字系統(tǒng)的控制模塊。用Verilog的case、if-else等語句能很好地描述基于狀態(tài)機的設計。1.說明部分狀態(tài)轉(zhuǎn)換變量的定義和所有可能狀態(tài)的說明

2005版參數(shù)說明關鍵字parameter2.主控時序過程:狀態(tài)機的運轉(zhuǎn)和狀態(tài)轉(zhuǎn)換的過程8.1.2狀態(tài)機的一般結(jié)構(gòu)3.主控組合過程:根據(jù)當前狀態(tài)和外部的信號發(fā)出控制信號,同時確定下一狀態(tài)的走向

4.輔助過程:配合狀態(tài)機工作的組合過程和時序過程。

8.1.2狀態(tài)機的一般結(jié)構(gòu)說明部分主控時序過程8.1.2狀態(tài)機的一般結(jié)構(gòu)主控組合過程8.1.3初始控制與表述打開“狀態(tài)機萃取”開關參數(shù)的定義狀態(tài)變量定義用狀態(tài)機設計一個二進制序列檢測器,其功能是檢測一個4位二進制序列“1111”,即輸入序列中如果有4個或4個以上連續(xù)的“1”出現(xiàn),輸出為1,其它情況下,輸出為0。有限狀態(tài)機(FSM)設計舉例輸出z:000000000000000100001110000其輸入輸出如下所示:輸入x:000101010110111101111110101有限狀態(tài)機(FSM)設計“1111”序列檢測器狀態(tài)轉(zhuǎn)換圖“1111”序列檢測器的Verilog描述modulefsm_seq(x,z,clk,reset,state);inputx,clk,reset;outputz;output[2:0]state;regz;parameters0=0,s1=1,s2=2,s3=3,s4=4;reg[2:0]current_state,next_state;assignstate=current_state;always@(posedgeclkorposedgereset)beginif(reset)current_state<=s0;elsecurrent_state<=next_state;endalways@(current_stateorx)begin casex(current_state)“1111”序列檢測器的Verilog描述

s0:begin if(x==0)beginnext_state<=s0;z<=0;end elsebeginnext_state<=s1;z<=0;endends1:begin if(x==0)beginnext_state<=s0;z<=0;endelsebeginnext_state<=s2;z<=0;endends2:begin if(x==0)beginnext_state<=s0;z<=0;endelsebeginnext_state<=s3;z<=0;endends3:beginif(x==0)beginnext_state<=s0;z<=0;end elsebeginnext_state<=s4;z<=1;endends4:begin if(x==0)beginnext_state<=s0;z<=0;end elsebeginnext_state<=s4;z<=1;endenddefault: beginnext_state<=s0;endendcaseendendmodule8.2Moore型狀態(tài)機及其設計

Moore型有限狀態(tài)機次態(tài)邏輯狀態(tài)寄存器輸出邏輯輸入次態(tài)現(xiàn)態(tài)輸出時鐘復位Moore型:輸出信號僅與當前狀態(tài)有關。屬于同步輸出狀態(tài)機,當輸入發(fā)生變化時還必須等待一個時鐘的到來,輸出才變化。8.2Moore型狀態(tài)機及其設計

ADC0809采樣控制器設計:

工作時序8.2Moore型狀態(tài)機及其設計

狀態(tài)轉(zhuǎn)換圖:8.2Moore型狀態(tài)機及其設計

8.2.1多過程結(jié)構(gòu)型狀態(tài)機

8.2Moore型狀態(tài)機及其設計

8.2.1多過程結(jié)構(gòu)型狀態(tài)機

接下頁8.2Moore型狀態(tài)機及其設計

8.2.1多過程結(jié)構(gòu)型狀態(tài)機

接上頁8.2Moore型狀態(tài)機及其設計

描述方式過程描述功能過程數(shù)3段式描述方式過程1:描述次態(tài)邏輯過程2:輸出邏輯過程3:描述狀態(tài)寄存器32段式描述方式過程1:主控組合過程次態(tài)、輸出邏輯過程2:主控時序過程狀態(tài)寄存器21段式描述方式過程1:次態(tài)、狀態(tài)、輸出1描述方式輸出次態(tài)邏輯輸出邏輯8.3Mealy型狀態(tài)機設計Mealy型有限狀態(tài)機Mealy型:輸出信號不僅與當前狀態(tài)有關,還與所有

輸入信號有關。次態(tài)邏輯狀態(tài)寄存器輸出邏輯輸入次態(tài)現(xiàn)態(tài)輸出時鐘復位設計舉例:檢測序列11010011基于狀態(tài)機的設計要點1.起始狀態(tài)的選擇起始狀態(tài)是指電路復位后所處的狀態(tài),選擇一個合理的起始狀態(tài)將使整個系統(tǒng)簡潔高效。有的EDA軟件會自動為基于狀態(tài)機的設計選擇一個最佳的起始狀態(tài)。2.狀態(tài)編碼狀態(tài)編碼主要有二進制編碼、順序編碼和一位獨熱編碼等方式?!舳M制編碼(BinaryStateMachine)◆順序編碼(SequentialStateMachine)◆一位熱碼編碼(One-HotStateMachineEncoding)一位熱碼編碼即采用n位(或n個觸發(fā)器)來編碼具有n個狀態(tài)的狀態(tài)機。比如對于state0、state1、state2、state3四個狀態(tài)可用碼字1000、0100、0010、0001來代表?;跔顟B(tài)機的設計要點3.狀態(tài)編碼的定義在Verilog語言中,有兩種方式可用于定義狀態(tài)編碼,分別用parameter和'define語句實現(xiàn),比如要為state0、state1、state2、state3四個狀態(tài)定義碼字為:00、01、11、10,可采用下面兩種方式。方式1:用parameter參數(shù)定義parameterstate1=2'b00,state2=2'b01,state3=2'b11,state4=2'b10;……case(state)state1: …; //調(diào)用state2: …;……基于狀態(tài)機的設計要點4.狀態(tài)轉(zhuǎn)換的描述一般使用case語句來描述狀態(tài)之間的轉(zhuǎn)換,用case語句表述比用if-else語句更清晰明

溫馨提示

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

評論

0/150

提交評論