版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第8章有限狀態(tài)機(jī)設(shè)計(jì)技術(shù) 硬件(芯片)設(shè)計(jì)講究并行設(shè)計(jì)思想,雖然用verilog描述的電路大都是并行執(zhí)行的,但是對(duì)于實(shí)際的工程應(yīng)用,往往需要讓硬件實(shí)現(xiàn)一些具有一定順序的工作,這就要用到狀態(tài)機(jī)的思想。狀態(tài)機(jī)-就是通過(guò)不同的狀態(tài)遷移來(lái)完成一些特定的順序邏輯。有限狀態(tài)機(jī)的簡(jiǎn)介有限狀態(tài)機(jī)的簡(jiǎn)介硬件(芯片)設(shè)計(jì)講究并行設(shè)計(jì)思想,雖然用verilog描述的電路大都是并行執(zhí)行的,但是對(duì)于實(shí)際的工程應(yīng)用,往往需要讓硬件實(shí)現(xiàn)一些具有一定順序的工作,這就要用到狀態(tài)機(jī)的思想。狀態(tài)機(jī)-就是通過(guò)不同的狀態(tài)遷移來(lái)完成一些特定的順序邏輯。 有限狀態(tài)機(jī)是由寄存器組和組合邏輯構(gòu)成的硬件時(shí)序電路,其狀態(tài)(即由寄存器組的1和0的組
2、合狀態(tài)所構(gòu)成的有限個(gè)狀態(tài))只可能在同一時(shí)鐘跳變沿的情況下才能從一個(gè)狀態(tài)轉(zhuǎn)向另一個(gè)狀態(tài),究竟轉(zhuǎn)向哪一狀態(tài)還是留在原狀態(tài)不但取決于各個(gè)輸入值,還取決于當(dāng)前所在狀態(tài)。(這里指的是米里Mealy型有限狀態(tài)機(jī),而莫爾Moore型有限狀態(tài)機(jī)究竟轉(zhuǎn)向哪一狀態(tài)只決于當(dāng)前狀態(tài)。)狀態(tài)機(jī)的結(jié)構(gòu)有限狀態(tài)機(jī)的簡(jiǎn)介基本概念有限狀態(tài)機(jī)用來(lái)實(shí)現(xiàn)一個(gè)數(shù)字電路設(shè)計(jì)的控制部分,與CPU 的功能類(lèi)似,綜合了時(shí)序邏輯和組合邏輯電路。有限狀態(tài)機(jī)與CPU功能比較控制功能的實(shí)現(xiàn) CPU通過(guò)操作指令和硬件操作單元。 有限狀態(tài)機(jī)通過(guò)狀態(tài)轉(zhuǎn)移。有限狀態(tài)機(jī)適用于可編程邏輯器件。通過(guò)恰當(dāng)?shù)腣erilog語(yǔ)言描述和EDA工具綜合,可以生成性能優(yōu)越的有
3、限狀態(tài)機(jī),在執(zhí)行時(shí)間、運(yùn)行速度和占用資源等方面優(yōu)于CPU實(shí)現(xiàn)的設(shè)計(jì)方案。有限狀態(tài)機(jī)分類(lèi)Moore型有限狀態(tài)機(jī)和Mealy型有限狀態(tài)機(jī)。Moore型有限狀態(tài)機(jī)次態(tài) 邏輯狀態(tài) 寄存器輸出 邏輯輸入次態(tài)現(xiàn)態(tài)輸出時(shí)鐘復(fù)位Moore型:輸出信號(hào)僅與當(dāng)前狀態(tài)有關(guān)。有限狀態(tài)機(jī)的簡(jiǎn)介Mealy型有限狀態(tài)機(jī)Mealy型:輸出信號(hào)不僅與當(dāng)前狀態(tài)有關(guān),還與所有 輸入信號(hào)有關(guān)。次態(tài) 邏輯狀態(tài) 寄存器輸出 邏輯輸入次態(tài)現(xiàn)態(tài)輸出時(shí)鐘復(fù)位有限狀態(tài)機(jī)的簡(jiǎn)介8.1.2 狀態(tài)機(jī)的一般結(jié)構(gòu) 有限狀態(tài)機(jī)(FSM,F(xiàn)inite State Machine)是時(shí)序電路設(shè)計(jì)中經(jīng)常采用的一種方式,尤其適于設(shè)計(jì)數(shù)字系統(tǒng)的控制模塊。用Veril
4、og的case、if-else等語(yǔ)句能很好地描述基于狀態(tài)機(jī)的設(shè)計(jì)。1. 說(shuō)明部分狀態(tài)轉(zhuǎn)換變量的定義和所有可能狀態(tài)的說(shuō)明 2005版參數(shù)說(shuō)明關(guān)鍵字parameter2. 主控時(shí)序過(guò)程:狀態(tài)機(jī)的運(yùn)轉(zhuǎn)和狀態(tài)轉(zhuǎn)換的過(guò)程8.1.2 狀態(tài)機(jī)的一般結(jié)構(gòu)3. 主控組合過(guò)程 :根據(jù)當(dāng)前狀態(tài)和外部的信號(hào)發(fā)出控制信號(hào),同時(shí)確定下一狀態(tài)的走向 4. 輔助過(guò)程:配合狀態(tài)機(jī)工作的組合過(guò)程和時(shí)序過(guò)程。 8.1.2 狀態(tài)機(jī)的一般結(jié)構(gòu)說(shuō)明部分主控時(shí)序過(guò)程8.1.2 狀態(tài)機(jī)的一般結(jié)構(gòu)主控組合過(guò)程主控組合過(guò)程 用狀態(tài)機(jī)設(shè)計(jì)一個(gè)二進(jìn)制序列檢測(cè)器,其功能是檢測(cè)一個(gè)4位二進(jìn)制序列“1111”,即輸入序列中如果有4個(gè)或4個(gè)以上連續(xù)的“1”
5、出現(xiàn),輸出為1,其它情況下,輸出為0。有限狀態(tài)機(jī)(FSM)設(shè)計(jì)舉例輸出z:000 000 000 000 000 100 001 110 000其輸入輸出如下所示:輸入x:000 101 010 110 111 101 111 110 101有限狀態(tài)機(jī)(FSM)設(shè)計(jì)“1111”序列檢測(cè)器狀態(tài)轉(zhuǎn)換圖 先畫(huà)出狀態(tài)轉(zhuǎn)換圖:(可以不寫(xiě)代碼,用quartus II自動(dòng)生成 Verilog代碼)狀態(tài)輸入輸出“1111”序列檢測(cè)器的Verilog描述module fsm_seq(x,z,clk,reset,state);input x,clk,reset;output z;output2:0 state;r
6、eg z;parameter s0=0,s1=1,s2=2,s3=3,s4=4;reg 2:0 current_state,next_state;assign state=current_state;always (posedge clk or posedge reset)begin if(reset) current_state=s0; else current_state=next_state; endalways (current_state or x)begin casex(current_state) “1111”序列檢測(cè)器的Verilog描述 s0: beginif(x=0) be
7、gin next_state=s0; z=0; endelse begin next_state=s1; z=0; end end s1: beginif(x=0) begin next_state=s0; z=0; end else begin next_state=s2; z=0; end ends2: beginif(x=0) begin next_state=s0; z=0; end else begin next_state=s3; z=0; end ends3: begin if(x=0) begin next_state=s0; z=0; endelse begin next_s
8、tate=s4; z=1; end ends4: beginif(x=0) begin next_state=s0; z=0; endelse begin next_state=s4; z=1; end end default: begin next_state=s0; end endcase endendmodule(1)用三個(gè)過(guò)程描述:即現(xiàn)態(tài)(CS)、次態(tài)(NS)、輸出邏輯(OL)各用一個(gè)always過(guò)程描述。(2)雙過(guò)程描述(CS+NS、OL雙過(guò)程描述):使用兩個(gè)always過(guò)程來(lái)描述有限狀態(tài)機(jī),一個(gè)過(guò)程描述現(xiàn)態(tài)和次態(tài)時(shí)序邏輯(CS+NS);另一個(gè)過(guò)程描述輸出邏輯(OL)。(3)雙過(guò)程描
9、述(CS、NS+OL雙過(guò)程描述):一個(gè)過(guò)程用來(lái)描述現(xiàn)態(tài)(CS);另一個(gè)過(guò)程描述次態(tài)和輸出邏輯(NS+OL)。(4)單過(guò)程描述:在單過(guò)程描述方式中,將狀態(tài)機(jī)的現(xiàn)態(tài)、次態(tài)和輸出邏輯(CS+NS+OL)放在一個(gè)always過(guò)程中進(jìn)行描述。8.2 有限狀態(tài)機(jī)的幾種描述方式“101”序列檢測(cè)器的Verilog描述(三個(gè)過(guò)程) module fsm1_seq101(clk,clr,x,z);input clk,clr,x; output reg z; reg1:0 state,next_state;parameter S0=2b00,S1=2b01,S2=2b11,S3=2b10; /*狀態(tài)編碼,采用格雷
10、(Gray)編碼方式*/always (posedge clk or posedge clr) /*該過(guò)程定義當(dāng)前狀態(tài)*/beginif(clr) state=S0; /異步復(fù)位,s0為起始狀態(tài)else state=next_state;endalways (state or x) /*該過(guò)程定義次態(tài)*/begincase (state)S0:begin if(x) next_state=S1;else next_state=S0; endS1:beginif(x) next_state=S1;else next_state=S2; endS2:beginif(x) next_state=S3
11、;else next_state=S0; endS3:beginif(x) next_state=S1;else next_state=S2; enddefault:next_state=S0; /*default語(yǔ)句*/endcaseendalways (state) /*該過(guò)程產(chǎn)生輸出邏輯*/begin case(state)S3: z=1b1;default:z=1b0;endcaseendendmodule“101”序列檢測(cè)器的Verilog描述(三個(gè)過(guò)程) “101”序列檢測(cè)器(單過(guò)程描述) module fsm4_seq101(clk,clr,x,z);input clk,clr,
12、x; output reg z; reg1:0 state;parameter S0=2b00,S1=2b01,S2=2b11,S3=2b10;/*狀態(tài)編碼,采用格雷(Gray)編碼方式*/always (posedge clk or posedge clr)Begin if(clr) state=S0; /異步復(fù)位,s0為起始狀態(tài)else case(state)S0:begin if(x) begin state=S1; z=1b0;endelse begin state=S0; z=1b0;end endS1:begin if(x) begin state=S1; z=1b0;endels
13、e begin state=S2; z=1b0;end endS2:beginif(x) begin state=S3; z=1b0;endelse begin state=S0; z=1b0;end endS3:begin if(x) begin state=S1; z=1b1;endelse begin state=S2; z=1b1;end enddefault:begin state=S0; z=1b0;end /*default語(yǔ)句*/endcaseendendmodule摘自深入淺出玩轉(zhuǎn)FPGA 8.3 狀 態(tài) 編 碼 順序編碼 格雷編碼 約翰遜編碼一位熱碼常用的編碼方式 一位熱碼
14、編碼選擇對(duì)話(huà)框(Quartus ) 狀態(tài)編碼的定義在Verilog語(yǔ)言中,有兩種方式可用于定義狀態(tài)編碼,分別用parameter和define語(yǔ)句實(shí)現(xiàn),比如要為state0、state1、state2、state3四個(gè)狀態(tài)定義碼字為:00、01、11、10,可采用下面兩種方式。方式1:用parameter參數(shù)定義 parameter state1=2b00,state2=2b01,state3=2b11,state4=2b10; case(state) state1:; /調(diào)用 state2:; 要注意兩種方式定義與調(diào)用時(shí)的區(qū)別,一般情況下,更傾向于采用方式1來(lái)定義狀態(tài)編碼。一般使用case、
15、casez和casex語(yǔ)句來(lái)描述狀態(tài)之間的轉(zhuǎn)換,用case語(yǔ)句表述比用if-else語(yǔ)句更清晰明了。 狀態(tài)編碼的定義方式2:用define語(yǔ)句定義define state1 2b00 /不要加分號(hào)“;”define state2 2b01define state3 2b11define state4 2b10case(state)state1:; /調(diào)用,不要漏掉符號(hào)“”state2:;狀態(tài)編碼的定義8.4 有限狀態(tài)機(jī)設(shè)計(jì)要點(diǎn)1起始狀態(tài)的選擇 :起始狀態(tài)是指電路復(fù)位后所處的狀態(tài),選擇一個(gè)合理的起始狀態(tài)將使整個(gè)系統(tǒng)簡(jiǎn)潔、高效。多數(shù)EDA軟件會(huì)自動(dòng)為基于狀態(tài)機(jī)的設(shè)計(jì)選擇一個(gè)最佳的起始狀態(tài)。 8.4 有限狀態(tài)機(jī)設(shè)計(jì)要點(diǎn)2有限狀態(tài)機(jī)的同步復(fù)位 3有限狀態(tài)機(jī)的異步復(fù)位多余狀態(tài)的處理一般有如下兩種處理多余狀態(tài)的方法:(1)在case語(yǔ)句中用default分支決定如果進(jìn)入無(wú)效狀態(tài)所采取的措施;(2)編寫(xiě)必要的Veril
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年中國(guó)炸雞腿市場(chǎng)調(diào)查研究報(bào)告
- 投資銀行資產(chǎn)管理合同
- 2025年度租賃房屋續(xù)租合同及智能化改造服務(wù)協(xié)議
- 二零二五年度工業(yè)設(shè)備場(chǎng)地租賃及改造合同
- 2025年度水利工程包工頭與工人安全責(zé)任合同范本
- 二零二五年度學(xué)校食堂保潔員聘用與食品安全合同
- 2025年度辣椒產(chǎn)業(yè)大數(shù)據(jù)分析與市場(chǎng)調(diào)研服務(wù)合同
- 2025年度合同臺(tái)賬自動(dòng)提醒系統(tǒng)實(shí)施與調(diào)試服務(wù)合同
- 2025年度教育信息化項(xiàng)目連帶責(zé)任保證合同
- 2025至2030年中國(guó)鋼滾塑立式儲(chǔ)罐數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 2025民政局離婚協(xié)議書(shū)范本(民政局官方)4篇
- 2024年03月四川農(nóng)村商業(yè)聯(lián)合銀行信息科技部2024年校園招考300名工作人員筆試歷年參考題庫(kù)附帶答案詳解
- GB/T 18103-2022實(shí)木復(fù)合地板
- 釀酒工藝教案
- 地形圖的識(shí)別及應(yīng)用涉密地圖的保密管理課件
- 小學(xué)四年級(jí)語(yǔ)文閱讀理解專(zhuān)項(xiàng)訓(xùn)練
- 輔導(dǎo)班合伙人合同范本(2篇)
- 2021年嘉興市法院書(shū)記員招聘考試試題及答案解析
- 《念奴嬌赤壁懷古》名量教學(xué)實(shí)錄(特級(jí)教師程翔)
- 港股通知識(shí)點(diǎn)、港股通開(kāi)通測(cè)評(píng)題及答案(全)
- 《直播電商平臺(tái)運(yùn)營(yíng)》-教案全套 第1-8章 直播電商電商營(yíng)銷(xiāo)新風(fēng)口-案例解析拆解典型直播成功秘訣
評(píng)論
0/150
提交評(píng)論