ch4点灯程序-状态机.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
点灯程序 状态机 开发板原理图 点灯程序 装配布线(PR):选择器件型号 脚本文件*.qsf 什么是状态机 状态机可以认为是组合逻辑和寄存器逻辑的特殊组合,它一般包括两个部分:组合逻辑部分和寄存器部分。 寄存器用于存储状态。 组合电路用于状态译码和产生输出信号。 实用的状态机一般都设计为同步时序电路,它在时钟信号的触发下,完成各个状态之间的转移。 根据状态机的输出是否与输入条件相关,可将状态机分为两大类:摩尔(Moore)型状态机和米勒(Mealy)型状态机。 摩尔状态机:摩尔状态机的输出仅仅依赖于当前状态,而与输入条件无关。 米勒型状态机:米勒型状态机的输出不仅依赖于当前状态,而且取决于该状态的输入条件。 Moore FSM Mealy FSM 电梯控制 一个可上、下运动的电梯,当达到指定目标层是,开门至少10秒,并在目标层改变前,保持开门状态。电梯运动时,保证电梯门关闭。电梯运动时,如果有更高或更低层要求时,电梯运动方向不更改。 可能的状态 E.g., Idle, GoingUp, GoingDn, DoorOpen 可能引起状态改变的两 E.g., req floor 每个状态产生的动作 E.g., In the GoingUp state, u,d,o,t = 1,0,0,0 (up = 1, down, open, and timer_start = 0) 共有4 个状态:IDEL, S1, S2, ERROR;输入信号为时钟clk,低电平异步复位信号nrst,输入信号i1,i2,输出信号为o1,o2 和err,状态关系如图所示。状态的输出如下: IDLE 状态的输出为: {o1,o2,err} = 3b000; S1 状态的输出为: {o1,o2,err} = 3b100; S2 状态的输出为: {o1,o2,err} = 3b010; ERROR 状态的输出为: {o1,o2,err} = 3b111。 交通灯控制器 1. 功能 利用VerilogHDL设计一个十字路口交通灯控制器,其示意图如图7.27所示。A方向和B方向各设红(B)、黄(Y)、绿(G)和左拐(L)四盏灯,四种灯按合理的顺序亮灭,并能将订亮的时间以倒计时的形式显示出来。 两个方向各种灯亮的时间应该能够非常方便地进行设置和修改,此外假设A方向是主干路,车流量大,因此A方向通行的时间应比B方向长一些。 2.状态表 交通灯控制器的状态转换如表7.2所示。表中1表示灯亮,0表示灯灭。A方向的红、黄、绿和左拐灯分别用R1、Y1、G1、L1和R2、Y2、G2、L2来表示。 示意图 状态表 设计与实现 1. 设计思路 根据交通灯控制器要实现的功能,考虑用两个并行执行的always模块来分别控制A和B两个方向的四盏灯,这两个always模块使用同1个时钟信号,以进行同步,也就是说,两个always模块的敏感信号是同1个。 每个always模块控制1个方向的4种灯按如下顺序点亮,并往复循环:绿灯—黄灯—左拐灯一黄灯一红灯。 每盏灯亮的时间采用一个减法计数器进行计数,该计数器采用同步预置法设计,这样只需改变预置数据.就可以改变计数器的模,因此每个方向只需要I个计数器进行计时即可。 为便于显示灯亮的时间,计数器的输出均采用BCD码,显示由4个数码管来完成,A方向和B方向各用两个数码管。 2. 源程序 本例中设定A方向红、绿、黄、左拐灯亮的时间分别为:65秒、40秒、5秒和15秒,B方向红、绿、黄、左拐灯亮的时间分别为:55秒、30秒、5秒和15秒。假如要改变这些时间只须改变计数器的预置数即可。 例7.32是交通灯控制器的源程序。 续 续 续 续 续 续 顶层符号 仿真与下载 * * FPGA JTAG LED 晶振 module led( clk, rst, led ); Input clk; Input rst; output led; parameter DIV = 29 reg [28:0] count; reg led_I; always @(posedge clk) begin if (rst) begin led_I = 0; count = 0; end else begin if( count == DIV) begin led_I = ~led_I; count = 0; end else count = count + 1b1; end end assign led =led_I; e

文档评论(0)

宝贝计划 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档