




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第八章 有限狀態(tài)機(jī)設(shè)計(jì),eda技術(shù)與應(yīng)用,教學(xué)重點(diǎn),moore狀態(tài)機(jī) mealy狀態(tài)機(jī) 有限狀態(tài)機(jī)的幾種描述方式 有限狀態(tài)機(jī)的狀態(tài)編碼,8.1 有限狀態(tài)機(jī),構(gòu)成 組合邏輯 狀態(tài)譯碼、產(chǎn)生輸出 時(shí)序邏輯 存儲(chǔ)狀態(tài) 分類 moore 輸出是現(xiàn)態(tài)的函數(shù) mealy 輸出是現(xiàn)態(tài)和輸入的函數(shù),摩爾型(moore)狀態(tài)機(jī),米里型(mealy)狀態(tài)機(jī),moore型狀態(tài)圖,現(xiàn)態(tài),次態(tài),module fsm(clk,clr,z,qout);/模5計(jì)數(shù)器 input clk,clr; output reg z; output reg2:0 qout; always (posedge clk or posedge
2、clr) /此過程定義狀態(tài)轉(zhuǎn)換 begin if(clr) qout=0; /異步復(fù)位 else case(qout) 3b000: qout=3b001; 3b001: qout=3b010; 3b010: qout=3b011; 3b011: qout=3b100; 3b100: qout=3b000; default: qout=3b000;/*default語句*/ endcase end always (qout) /*此過程產(chǎn)生輸出邏輯*/ begin case(qout) 3b100: z=1b1; default:z=1b0; endcase end endmodule,mea
3、ly型狀態(tài)圖,例10.7】狀態(tài)機(jī)設(shè)計(jì)舉例 module fsm( clk, clr, out, start, step2, step3 ); input clk, clr, start, step2, step3; output2:0 out; reg2:0 out; reg1:0 state, next_state; parameter state0 = 2b00, state1 = 2b01, / 狀態(tài)編碼 state2 = 2b11, state3 = 2b10; / 格雷碼 always ( posedge clk or posedge clr ) begin if( clr ) st
4、ate = state0; / 定義初態(tài) else state = next_state; end,always ( state or start or step2 or step3 ) / 狀態(tài)轉(zhuǎn)換 begin case (state) state0: begin if( start ) next_state = state1; else next_state = state0; end state1: begin next_state = state2; end,state2: begin if( step2 ) next_state = state3; else next_state =
5、 state0;end state3: begin if( step3 ) next_state = state0; else next_state = state3;end default:next_state = state0; endcase end,always ( state ) / 狀態(tài)譯碼及輸出 begin case( state ) state0:out = 3b001; state1:out = 3b010; state2:out = 3b100; state3:out = 3b111; default:out = 3b001; endcase end endmodule,1
6、)用三個(gè)過程描述:即現(xiàn)態(tài)(cs)、次態(tài)(ns)、輸出邏輯(ol)各用一個(gè)always過程描述。 (2)雙過程描述(cs+ns、ol雙過程描述):使用兩個(gè)always過程來描述有限狀態(tài)機(jī),一個(gè)過程描述現(xiàn)態(tài)和次態(tài)時(shí)序邏輯(cs+ns);另一個(gè)過程描述輸出邏輯(ol)。 (3)雙過程描述(cs、ns+ol雙過程描述):一個(gè)過程用來描述現(xiàn)態(tài)(cs);另一個(gè)過程描述次態(tài)和輸出邏輯(ns+ol)。 (4)單過程描述:在單過程描述方式中,將狀態(tài)機(jī)的現(xiàn)態(tài)、次態(tài)和輸出邏輯(cs+ns+ol)放在一個(gè)always過程中進(jìn)行描述,8.2 有限狀態(tài)機(jī)的verilog描述,101”序列檢測(cè)器的verilog描述(三個(gè)過
7、程,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)編碼,采用格雷(gray)編碼方式*/ always (posedge clk or posedge clr) /*該過程定義當(dāng)前狀態(tài)*/ beginif(clr) state=s0; /異步復(fù)位,s0為起始狀態(tài) else state=next_state; end,101”序列檢測(cè)器的verilog描述(三個(gè)過程,alw
8、ays (state or x) /*該過程定義次態(tài)*/ begin case (state) s0:begin if(x) next_state=s1; else next_state=s0; end s1:beginif(x) next_state=s1; else next_state=s2; end,s2:begin if(x) next_state=s3; else next_state=s0; end s3:beginif(x) next_state=s1; else next_state=s2; end default:next_state=s0; /*default語句*/ e
9、ndcase end,always (state) /*該過程產(chǎn)生輸出邏輯*/ begin case(state) s3: z=1b1; default:z=1b0; endcase end endmodule,101”序列檢測(cè)器的verilog描述(三個(gè)過程,101”序列檢測(cè)器(單過程描述,module fsm4_seq101(clk,clr,x,z); input clk,clr,x; output reg z; reg1:0 state; parameter s0=2b00, s1=2b01, s2=2b11, s3=2b10;/*狀態(tài)編碼,采用格雷(gray)編碼方式*,101”序列檢
10、測(cè)器(單過程描述,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;end else begin state=s0; z=1b0;end end s1:begin if(x) begin state=s1; z=1b0;end else begin state=s2; z=1b0;end end s2:beginif(x) begin state=s3; z=1b0;end else beg
11、in state=s0; z=1b0;end end s3:begin if(x) begin state=s1; z=1b1;end else begin state=s2; z=1b1;end end default:begin state=s0; z=1b0;end /*default語句*/ endcase end endmodule,8.3 狀 態(tài) 編 碼,順序編碼 格雷編碼 約翰遜編碼 一位熱碼,常用的編碼方式,一位熱碼編碼選擇對(duì)話框(quartus,狀態(tài)編碼的定義,在verilog語言中,有兩種方式可用于定義狀態(tài)編碼,分別用parameter和define語句實(shí)現(xiàn),比如要為sta
12、te0、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來定義狀態(tài)編碼。一般使用case、casez和casex語句來描述狀態(tài)之間的轉(zhuǎn)換,用case語句表述比用if-else語句更清晰明了,狀態(tài)編碼的定義方式2:用define語句定義 define st
13、ate1 2b00 /不要加分號(hào)“;” define state2 2b01 define state3 2b11 define state4 2b10 case(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)。 2有限狀態(tài)機(jī)的同步復(fù)位 3有限狀態(tài)機(jī)的異步復(fù)位,多余狀態(tài)的處理,一般有如下兩種處理多余狀態(tài)的方法: (1)在case語句中用default分支決定如果
14、進(jìn)入無效狀態(tài)所采取的措施; (2)編寫必要的verilog源代碼明確定義進(jìn)入無效狀態(tài)所采取的行為,頻率計(jì)控制器設(shè)計(jì)舉例,設(shè)計(jì)一個(gè)自動(dòng)轉(zhuǎn)換量程的頻率計(jì)控制器,用mealy狀態(tài)機(jī)實(shí)現(xiàn),進(jìn)入100k量程(狀態(tài)a) reset = 1; std_f_sel = 00,100k量程測(cè)量(狀態(tài)b) reset = 0; std_f_sel = 00,進(jìn)入100k量程(狀態(tài)c) reset = 1; std_f_sel = 01,100k量程測(cè)量(狀態(tài)d) reset = 0; std_f_sel = 01,進(jìn)入100k量程(狀態(tài)e) reset = 1; std_f_sel = 11,1k量程測(cè)量(狀態(tài)d
15、) reset = 0; std_f_sel = 11,cntlow = 1,cntlow = 1,cntlow = 1,cntlow = 1,cntover = 1,cntover = 1,例10.8】自動(dòng)轉(zhuǎn)換量程頻率計(jì)控制器 /* 信號(hào)定義 clk: 時(shí)鐘輸入 reset: 系統(tǒng)復(fù)位信號(hào) half_dollar: 投入5角硬幣 one_dollar: 投入1元硬幣 half_out: 找零信號(hào) dispense: 機(jī)器售出飲料 collect: 提示取走飲料 *,module fsm( clk, clr, out, start, step2, step3 ); input clk, clr
16、, start, step2, step3; output2:0 out; reg2:0 out; reg1:0 state, next_state; parameter state0 = 2b00, state1 = 2b01, / 狀態(tài)編碼 state2 = 2b11, state3 = 2b10; / 格雷碼 always ( posedge clk or posedge clr ) begin if( clr ) state = state0; / 定義初態(tài) else state = next_state; end,always ( state or start or step2 or
17、 step3 ) / 狀態(tài)轉(zhuǎn)換 begin case (state) state0: begin if( start ) next_state = state1; else next_state = state0; end state1: begin next_state = state2; end,state2: begin if( step2 ) next_state = state3; else next_state = state0;end state3: begin if( step3 ) next_state = state0; else next_state = state3;end default:next_state = state0; endcase end,always ( state ) / 狀態(tài)譯碼及輸出 begin case( state ) state0:out = 3b001; state1:out = 3b010; state2:out = 3b
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 出售園林鋪面合同范本
- 保潔物料供貨合同范本
- 企業(yè)策劃宣傳合同范本
- 農(nóng)機(jī)割臺(tái)租售合同范本
- 出口螺桿驗(yàn)貨合同范本
- 公司分期手機(jī)合同范本
- 企業(yè)職員培養(yǎng)合同范本
- 企業(yè)終止租賃合同范本
- 化糞池安裝合同范本
- 2024年深圳市南山區(qū)蓓蕾幼教集團(tuán)招聘考試真題
- GB/T 22919.2-2008水產(chǎn)配合飼料第2部分:軍曹魚配合飼料
- 數(shù)字化轉(zhuǎn)型中數(shù)據(jù)底座湖倉(cāng)一體化
- 典范英語8-1-刺猬女孩艾蜜
- 《教育管理學(xué)》課件
- 水平井套內(nèi)不動(dòng)管柱滑套多段壓裂工藝技術(shù)全解課件
- 凈水設(shè)備技術(shù)參數(shù)要求
- 腦血管造影護(hù)理課件
- 稱呼禮儀精品課件
- 課題申報(bào)講座課件
- 系統(tǒng)科學(xué)與系統(tǒng)工程的理論基礎(chǔ)
- 思想道德與法治課件:第四章 第二節(jié) 社會(huì)主義核心價(jià)值觀的顯著特征
評(píng)論
0/150
提交評(píng)論