资源描述:
《verilog有限状态机的设计.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第8章Verilog有限状态机设计8.1有限状态机摩尔型(Moore)状态机米里型(Mealy)状态机用状态机设计模5计数器modulefsm(clk,clr,z,qout);inputclk,clr;outputregz;outputreg[2:0]qout;always@(posedgeclkorposedgeclr)//此过程定义状态转换beginif(clr)qout<=0;//异步复位elsecase(qout)3'b000:qout<=3'b001;3'b001:qout<=3'b010;3'b010:qou
2、t<=3'b011;3'b011:qout<=3'b100;3'b100:qout<=3'b000;default:qout<=3'b000;/*default语句*/endcaseendalways@(qout)/*此过程产生输出逻辑*/begincase(qout)3'b100:z=1'b1;default:z=1'b0;endcaseendendmodule(1)用三个过程描述:即现态(CS)、次态(NS)、输出逻辑(OL)各用一个always过程描述。(2)双过程描述(CS+NS、OL双过程描述):使用两个alw
3、ays过程来描述有限状态机,一个过程描述现态和次态时序逻辑(CS+NS);另一个过程描述输出逻辑(OL)。(3)双过程描述(CS、NS+OL双过程描述):一个过程用来描述现态(CS);另一个过程描述次态和输出逻辑(NS+OL)。(4)单过程描述:在单过程描述方式中,将状态机的现态、次态和输出逻辑(CS+NS+OL)放在一个always过程中进行描述。8.2有限状态机的几种描述方式“101”序列检测器的Verilog描述(三个过程)modulefsm1_seq101(clk,clr,x,z);inputclk,clr,x;
4、outputregz;reg[1:0]state,next_state;parameterS0=2'b00,S1=2'b01,S2=2'b11,S3=2'b10;/*状态编码,采用格雷(Gray)编码方式*/always@(posedgeclkorposedgeclr)/*该过程定义当前状态*/beginif(clr)state<=S0;//异步复位,s0为起始状态elsestate<=next_state;endalways@(stateorx)/*该过程定义次态*/begincase(state)S0:beginif
5、(x)next_state<=S1;elsenext_state<=S0;endS1:beginif(x)next_state<=S1;elsenext_state<=S2;endS2:beginif(x)next_state<=S3;elsenext_state<=S0;endS3:beginif(x)next_state<=S1;elsenext_state<=S2;enddefault:next_state<=S0;/*default语句*/endcaseendalways@(state)/*该过程产生输出逻辑*
6、/begincase(state)S3:z=1'b1;default:z=1'b0;endcaseendendmodule“101”序列检测器的Verilog描述(三个过程)“101”序列检测器(单过程描述)modulefsm4_seq101(clk,clr,x,z);inputclk,clr,x;outputregz;reg[1:0]state;parameterS0=2'b00,S1=2'b01,S2=2'b11,S3=2'b10;/*状态编码,采用格雷(Gray)编码方式*/always@(posedgeclkor
7、posedgeclr)Beginif(clr)state<=S0;//异步复位,s0为起始状态elsecase(state)S0:beginif(x)beginstate<=S1;z=1'b0;endelsebeginstate<=S0;z=1'b0;endendS1:beginif(x)beginstate<=S1;z=1'b0;endelsebeginstate<=S2;z=1'b0;endendS2:beginif(x)beginstate<=S3;z=1'b0;endelsebeginstate<=S0;z=1'
8、b0;endendS3:beginif(x)beginstate<=S1;z=1'b1;endelsebeginstate<=S2;z=1'b1;endenddefault:beginstate<=S0;z=1'b0;end/*default语句*/endcaseendendmodule8.3状态编码◆顺序编码◆格雷