FPGA学习系列:9.简单状态机设计.doc

上传人:白大夫 文档编号:3251737 上传时间:2019-08-06 格式:DOC 页数:2 大小:16KB
返回 下载 相关 举报
FPGA学习系列:9.简单状态机设计.doc_第1页
第1页 / 共2页
亲,该文档总共2页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《FPGA学习系列:9.简单状态机设计.doc》由会员分享,可在线阅读,更多相关《FPGA学习系列:9.简单状态机设计.doc(2页珍藏版)》请在三一文库上搜索。

1、FPGA学习系列:9.简单状态机设计设计背景:状态机是描述各种复杂时序的时序行为,是使用HDL进行数学逻辑设计中非常重要的方法之一,状态机分为摩尔机和米粒机,当输出只和状态有关系的话称为摩尔机,当输出不仅和状态有关系也和输入信号有关系的时候称为米粒机,米粒机和摩尔机的电路原型我就不在这里给大家介绍了。状态机是由状态寄存器和组合逻辑电路构成,能够根据控制信号按照预先设计的状态进行状态的转移,是协调相关信号的动作,完成特定操作的控制中心。比如我们生活中遇到的问题,健康-感冒-健康,这个就是一个状态的转移图,从健康状态到感冒状态在到健康状态。设计原理:我认为对于我们初学者来说我们只要只要状态机就是当

2、这个状态也就是当这个时钟来的时候发生这件事情,当下各时钟来的时候发生另一件事,也就是说发生这件事后,跳转下一个时钟发生另一件事情,两个事情发生没有关系。我们理解初学者理解这个就行了,不用理解高深的二段式,三段式。我们会在下面的设计中用到简单的状态机让大家明白简单的状态机。我们的设计也是一个流水灯,我们的设计是在复位的时候让4个等全熄灭,第一个上升沿点亮一个,第二个点亮下一个,依次类推。我们的写法可以这样想,当第一个状态也就是一个上升沿点亮第一个灯,然后跳转下一个状态点亮第二个灯,第三个点亮下一个。设计架构图:设计代码:设计模块0moduleled_run (clk,rst_n,led);12 inputclk,rst_n; /定义输入输出34 outputreg3:0led;56 reg10:0count; /定义一个时间寄存器7 regclk_1hz; /定义一个时钟8 reg1:0state;/定义状态910 always(posedgeclk)11 if(!rst_n)12 begin13 clk_1hz 测试模块0timescale1ns/1ps/例化时标12moduletb();34 regclk,rst_n;5 wire3:0led;67 initialbegin89 clk =1;10 rst_n =0;1112 #200.1rst_n =1;1314

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1