数字电路与逻辑设计实验课程.docVIP

  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文档。上传文档
查看更多
数字电路与逻辑设计实验 实验报告 姓 名:尚 飞 班 级:07605 学 号:071857(6) 数字电路与逻辑设计实验报告 一.设计课题的任务要求 设计制作一个用于十字路口的交通灯控制器 (1)南北和东西方向各有一组绿?黄?红灯用于指挥交通,绿灯?黄灯和红灯的持续时间分别为20秒?5秒和25秒; (2)当有特殊情况(如消防车?救护车等)时,两个方向均为红灯亮,计时停止,当特殊情况结束后,控制器恢复原来状态,继续正常运行; (3)用两组数码管,以倒计时方式显示两个方向允许通行或禁止通行的时间; 选做:增加左?右转弯显示控制功能; 二.系统设计 (1)基本设计思路: 基本思路是采用状态机的设计方法,在增加了左转显示功能后,修改了每个交通灯的持续时间列表如下: 绿灯 20s 黄灯 5s 左转灯 10s 红灯 40s 最初的状态机是设定了8个状态列表如下:(设两个路口为A和B) A:红 B:绿 A:绿 B:红 A:红 B:黄 A:黄 B:红 A:红 B:左转 A:左转 B:红 A:红 B:黄 A:黄 B:红 MSD图如下: ASM图如下: (2)对原有设计方案的创新和新方案的利弊分析: 编写VHDL时发现采用上述的设计方法,对于交通灯的计时模块设计需要完成累计80秒的过程,而实际上前半个40秒和后半个40秒的状态具有对称性,可以看成4种状态:RG,RY,RL ,RY在前半40秒出现在A和B路口的交通灯和倒计时器上,后半个40秒只需将这四个状态的的对应数据做调换再次出现在A和B路口的交通灯和倒计时器上,这样设计的目的是从硬件的角度理解,实际上是在简化了计时模块的电路,在交通灯显示控制模块和倒计时显示模块(两个译码电路)增设了选择信号? 从上学期的数电理论课上学习的知识角度考虑这样的设计相比最初的设计可以简化硬件电路,但是可能在实际电路中,这样的组合电路设计方式不如8个状态的时序电路设计方案效果更好,毕竟理论和实际有一定的差距,短时间内做到理论和实际的平衡对于本科生来讲,在没有经过大量数字电路的设计,积累大量的实践经验的情况下,还是很困难的,往往是两者不能兼顾,所以每一种设计方案都代表这一次创新,实验本身的目的不在于在前人的基础上原地踏步,而在于发挥自己的创造力,在前人的基础上努力拓展自己的思路,从中获得宝贵的实践经验 (3)最终设计框图和模块化设计方案: 最终设计的总体框图: 模块化设计方案: 模块名称 文件名称 完成功能 分频器模块 fen 将1MHZ时钟分频输出1HZ和1000HZ的时钟信号 交通灯控制模块 trafficlight 完成倒计时,输出控制信号等主要功能 连接模块 traffic_a 连接前两个模块的各个端口 三.仿真波形及波形分析: (1)交通灯控制模块仿真波形及分析: a.说明在没有加入分频器的情况下,做如下的仿真设置: 实际输入信号属性 仿真输入信号属性 1Hz时钟信号 T=10us时钟信号 1000HZ数码管扫描信号 T=400ns数码管扫描信号 b.仿真波形如图: (1-1)正常情况(urgency=0)的仿真波形 (1-2)出现两次(urgency=1)的仿真波形 c.仿真波形分析: 从仿真波形(1-1)上可以看出在一个路口禁行的情况下(红灯40s),另外一个路口经历了一系列状态(绿灯20s-黄灯5s-左转10s-黄灯5s),每隔40s两个路口的状态就会调换,从仿真波形上可以看到上下两组波形交替出现同一波形? 从仿真波形(1-2)上可以看到一旦出项urgency=1,red_1和red_2同时置为1,另外当urgency从1变回0后,恢复到到urgency置为1前的状态,在仿真波形上可以看到时间延长了,说明计时器在urgency=0的时间段内停止计时,数码管也相继停止? d.数码管输入信号分析: 对于b端口的详细分析基本上可以在(1-1)(1-2)两个波形的每个状态转移时刻放大波形观察输出信号,配合数码管扫描信号可以完整地写出每个数码管的显示数字? (2)分频器的仿真波形 a.仿真条件说明:分频器设计框图: 这样在设计时实际是将同一个过程重复书写,所以仿真时只做了1000分频的仿真 参数设置:End time=5ms f=1 MHz b.仿真波形如图: (2-2)分频器仿真波形 c.仿真波形分析: 从时间轴上可以看到,5ms的时间间隔被分成了5个周期,符合1000分频1us时钟信号的要求? 四.源程序(配注释): (1)分频器模块: library ieee; use ieee.std_logic_1164.all; entity fen is po

文档评论(0)

taotao0a + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档