基于FPGA的状态机的实现

基于FPGA的状态机的实现

ID:42223317

大小:134.50 KB

页数:8页

时间:2019-09-10

基于FPGA的状态机的实现_第1页
基于FPGA的状态机的实现_第2页
基于FPGA的状态机的实现_第3页
基于FPGA的状态机的实现_第4页
基于FPGA的状态机的实现_第5页
资源描述:

《基于FPGA的状态机的实现》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、....序列检测有限状态机的实现一、有限状态机有限状态机是绝大部分控制电路的核心结构,是表示有限个状态以及在这些状态之间转移和动作等行为的数学模型。有限状态机是指输出取决于过去输入部分和当前输入部分的时序逻辑电路。一般来说,除了输入部分和输出部分外,有限状态机还含有一组具有“记忆”功能的寄存器,这些寄存器的功能是记忆有限状态机的内部状态,它们常被称为状态寄存器。在有限状态机中,状态寄存器的的下一个状态不仅与输入信号有关,而且还与该寄存器的当前状态有关,因此有限状态机又可以认为是组合逻辑和寄存器逻辑的一种组合。在实际的应用中,根据有限状态机是否使用输入信号,可将其分为Moore型有限状

2、态机和Mealy型有限状态机两种类型。Moore型有限状态机其输出信号仅与当前状态有关,即可以把Moore型有限状态的输出看成是当前状态的函数。Mealy型有限状态机其输出信号不仅与当前状态有关,而且还与所有的输入信号有关,即可以把Mealy型有限状态机的输出看成是当前状态和所有输入信号的函数。二、问题描述1、Moore型序列检测状态机的设计利用Verilog设计一个电路,对输入的一串二进制数用于检测序列中3个或者3个以上的1,其状态描述如下表所示。现态现态输入次态次态输出000000001010010000011100100000101110110001111111专业资料....

3、1、Mealy型序列检测状态机的设计利用Verilog设计一个电路,对输入的一串二进制数用于检测序列中3个或者3个以上的1,当检测到第三个1出现的时候,输出立刻变1,否则输出为0。一、设计准备本设计通过ISE软件硬件描述语言方式设计。定义一个输入端,一个清零端和一个时钟,输入端用来表示一串二进制数,清零端用来将状态机初始化,时钟用来更新当前状态。定义四个状态,分别表示当前无1输入、有一个1输入、有连续两个1输入以及连续三个或三个以上1输入。定义一个输出,用于检测序列中3个或者3个以上的1。二、硬件描述语言输入1、Moore型状态机源程序moduleMoore(inputdin,inp

4、utclk,inputrst,outputregop);reg[1:0]current,next;parameterS0=2'b00,S1=2'b01,S2=2'b10,S3=2'b11;always@(posedgeclkornegedgerst)beginif(!rst)current<=2'b00;elsecurrent<=next;endalways@(currentordin)专业资料....begincase(current)S0:beginop=0;if(din==0)next=S0;elsenext=S1;endS1:beginop=0;if(din==0)next=

5、S0;elsenext=S2;endS2:beginop=0;if(din==0)next=S0;elsenext=S3;endS3:beginop=1;if(din==0)next=S0;elsenext=S3;end专业资料....default:beginop=0;next=S0;endendcaseendendmodule2、Mealy型状态机源程序moduleMealy(inputclk,inputrst,inputdin,outputregop);reg[1:0]current,next;parameterS0=2'b00,S1=2'b01,S2=2'b10,S3=2'b

6、11;always@(posedgeclkornegedgerst)beginif(!rst)current<=2'b00;elsecurrent<=next;endalways@(currentordin)begincase(current)S0:beginop=0;专业资料....if(din==0)next=S0;elsenext=S1;endS1:beginop=0;if(din==0)next=S0;elsenext=S2;endS2:beginif(din==0)next=S0;elsebeginnext=S3;op=1;endendS3:beginif(din==0)b

7、eginnext=S0;op=0;endelsenext=S3;end专业资料....default:beginop=0;next=S0;endendcaseendendmodule一、功能仿真在所建工程下添加test文件,用来进行逻辑功能验证。试输入二进制数列010110111011110000进行逻辑功能验证。并通过Modelsim软件与ISE联调生成对应的状态图,如图1、2、3、4所示。图1Moore型状态机仿真波形图图2Moore型状态机状态转换图

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

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

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