verilog有限状态机的设计.ppt

verilog有限状态机的设计.ppt

ID:56448233

大小:246.50 KB

页数:19页

时间:2020-06-18

verilog有限状态机的设计.ppt_第1页
verilog有限状态机的设计.ppt_第2页
verilog有限状态机的设计.ppt_第3页
verilog有限状态机的设计.ppt_第4页
verilog有限状态机的设计.ppt_第5页
资源描述:

《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状态编码◆顺序编码◆格雷

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。