Verilog-有限状态机设计说明课件.ppt
《Verilog-有限状态机设计说明课件.ppt》由会员分享,可在线阅读,更多相关《Verilog-有限状态机设计说明课件.ppt(37页珍藏版)》请在三一办公上搜索。
1、第八章 有限状态机设计,EDA技术与应用,第八章 有限状态机设计EDA技术与应用,教学重点,MOORE状态机 MEALY状态机 有限状态机的几种描述方式 有限状态机的状态编码,教学重点 MOORE状态机,8.1 有限状态机,构成 组合逻辑 状态译码、产生输出 时序逻辑 存储状态 分类Moore 输出是现态的函数Mealy 输出是现态和输入的函数,8.1 有限状态机 构成,摩尔型(Moore)状态机,米里型(Mealy)状态机,摩尔型(Moore)状态机 米里型(Mealy)状态机,Moore型状态图,现态,次态,输入 / 输出,Moore型状态图现态次态输入 / 输出,module fsm(c
2、lk,clr,z,qout);/模5计数器input clk,clr; output reg z; output reg2:0 qout;always (posedge clk or posedge clr) /此过程定义状态转换 begin if(clr) qout=0; /异步复位 else case(qout)3b000: qout=3b001;3b001: qout=3b010;3b010: qout=3b011;3b011: qout=3b100;3b100: qout=3b000;default: qout=3b000;/*default语句*/ endcase endalways
3、 (qout) /*此过程产生输出逻辑*/ begin case(qout)3b100: z=1b1;default:z=1b0; endcase endendmodule,module fsm(clk,clr,z,qout);/模,Mealy型状态图,start = 0,step3 = 0,State2out = 100,step3 = 1,step2 = 0,Mealy型状态图start = 0State0clr =,【例10.7】状态机设计举例module FSM( clk, clr, out, start, step2, step3 );input clk, clr, start, s
4、tep2, step3;output2:0 out;reg2:0 out;reg1:0 state, next_state;parameter state0 = 2b00, state1 = 2b01, / 状态编码 state2 = 2b11, state3 = 2b10; / 格雷码always ( posedge clk or posedge clr )beginif( clr ) state = state0; / 定义初态else state = next_state;end,【例10.7】状态机设计举例,always ( state or start or step2 or ste
5、p3 ) / 状态转换begin case (state)state0: beginif( start ) next_state = state1;else next_state = state0;endstate1:beginnext_state = state2;end,always ( state or start or st,state2:beginif( step2 ) next_state = state3;else next_state = state0;endstate3:beginif( step3 ) next_state = state0;else next_state
6、= state3;enddefault:next_state = state0; endcaseend,state2:,always ( state ) / 状态译码及输出begincase( state )state0:out = 3b001;state1:out = 3b010;state2:out = 3b100;state3:out = 3b111;default:out = 3b001;endcaseendendmodule,always ( state ) / 状态译码及输出,(1)用三个过程描述:即现态(CS)、次态(NS)、输出逻辑(OL)各用一个always过程描述。(2)双
7、过程描述(CS+NS、OL双过程描述):使用两个always过程来描述有限状态机,一个过程描述现态和次态时序逻辑(CS+NS);另一个过程描述输出逻辑(OL)。(3)双过程描述(CS、NS+OL双过程描述):一个过程用来描述现态(CS);另一个过程描述次态和输出逻辑(NS+OL)。(4)单过程描述:在单过程描述方式中,将状态机的现态、次态和输出逻辑(CS+NS+OL)放在一个always过程中进行描述。,8.2 有限状态机的Verilog描述,(1)用三个过程描述:即现态(CS)、次态(NS)、输出逻辑,“101”序列检测器的Verilog描述(三个过程),module fsm1_seq101
8、(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; /*状态编码,采用格雷(Gray)编码方式*/always (posedge clk or posedge clr) /*该过程定义当前状态*/beginif(clr) state=S0; /异步复位,s0为起始状态else state=next_state;end,“101”序列检测器的Verilog描述(三个过程) mod,“101”序列检测器的Verilog描述(三个
9、过程),always (state or x) /*该过程定义次态*/begincase (state)S0:begin if(x) next_state=S1; else next_state=S0; endS1:beginif(x) next_state=S1; else next_state=S2; end,“101”序列检测器的Verilog描述(三个过程) alw,S2:beginif(x) next_state=S3;else next_state=S0; endS3:beginif(x) next_state=S1;else next_state=S2; enddefault:n
10、ext_state=S0; /*default语句*/endcaseend,always (state) /*该过程产生输出逻辑*/ begin case(state)S3: z=1b1;default:z=1b0; endcase endendmodule,“101”序列检测器的Verilog描述(三个过程),S2:beginalways (state) “101”序,“101”序列检测器(单过程描述),module fsm4_seq101(clk,clr,x,z);input clk,clr,x;output reg z; reg1:0 state;parameter S0=2b00,S1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Verilog 有限状态机 设计 说明 课件

链接地址:https://www.31ppt.com/p-1289763.html