EDA课程设计-用VerilogHDL语言编写-红绿灯控制程序_第1页
EDA课程设计-用VerilogHDL语言编写-红绿灯控制程序_第2页
EDA课程设计-用VerilogHDL语言编写-红绿灯控制程序_第3页
EDA课程设计-用VerilogHDL语言编写-红绿灯控制程序_第4页
EDA课程设计-用VerilogHDL语言编写-红绿灯控制程序_第5页
已阅读5页,还剩3页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、成绩:XIAN UNIVERSITY OF TECHNOLOGYEDA综合实践所在院系自动化与信息工程学院专业名称电子信息科学与技术班级电技111题目红绿灯设计指导教师XXXX成员XXX完成时间2014年元月 一、设计任务及要求:设计任务:红绿灯控制程序要 求: 1、有倒计时显示 2、红黄绿灯三个状态,根据现实红绿灯的转换设计逻辑关系设计 3、具有复位控制按钮,动作时,复位到初始状态 1、实物验收评语及成绩(40%): 2、答辩评语及成绩(30%):3、报告评语及成绩(30%): 2、 红绿灯原理及设计思路设计思路: 为了实现两个方向红绿灯循环亮灭的过程,假设该过程如下: 起始(st0)东西方

2、向绿灯亮(green1=1),南北方向红灯亮(red2=1),这个过程持续3个clock周期;然后(st3)东西方向黄灯亮,绿灯灭,南北方向红灯仍然亮着,这个过程持续1个clock;然后(st4)东西方向红灯亮,南北方向绿灯亮,这个过程持续3个clock;然后南北(st7)方向黄灯亮,东西方向红灯仍然亮着,这个过程持续一个clock;接下来就回到起始(st0)的状态进行循环。 此程序中无论哪个方向,各个灯亮着的时间之比为, 绿:黄:红=3:1:4,可以设置clock的值确定各灯具体的亮的时间。 1、红绿灯工作状态的真值表:2、 模型图: (见下页)3状态机:3、 源程序module traff

3、ic(clock,reset,red1,yellow1,green1,red2,yellow2,green2);input clock,reset;output red1,yellow1,green1,red2,yellow2,green2;parameter st0=0,st1=1,st2=2,st3=3,st4=4,st5=5,st6=6,st7=7;reg2:0 state,nxstate;reg red1,yellow1,green1,red2,yellow2,green2;always(posedge clock or posedge reset)begin if(reset) st

4、ate=st0; else state=nxstate;endalways(state)beginred1=1b0; yellow1=1b0; green1=1b0;red2=1b0; yellow2=1b0; green2=1b0;case(state) st0:begin green1=1b1; red2=1b1; nxstate=st1; end st1:begin green1=1b1; red2=1b1; nxstate=st2; end st2:begin green1=1b1; red2=1b1; nxstate=st3; end st3:begin green1=1b0; ye

5、llow1=1b1; red2=1b1; nxstate=st4; end st4:begin red1=1b1; red2=1b0; yellow1=1b0; green2=1b1; nxstate=st5; end st5:begin red1=1b1; green2=1b1; nxstate=st6; end st6:begin red1=1b1; green2=1b1; nxstate=st7; end st7:begin green2=1b0; red1=1b1; yellow2=1b1; nxstate=st0; end endcaseendendmodule四、编译和仿真波形红绿

6、灯设计仿真图 五、仿真分析及结论 根据仿真波形图可以看出实验结果符合预期设想,基本实现了红绿黄灯按一定规律进行循环闪烁的功能,仿真结果与预想的一致,实现了各个方向绿、黄、红灯闪亮的时间比为3:1:4。 程序中美中不足的是这个比例是固定的,必须通过修改程序来修改时间比,而且只是一个比例,不是固定的以秒为单位的时间。例如要实现绿、黄、红灯闪亮时间为20s,5s,25s,就无法用该程序实现,但可以通过在程序中修改时间比来实现。 另外此程序的缺憾是没有手动校准红绿灯时间的功能,假设红绿灯由于年代久远部芯片老化而导致时间产生误差,就无法进行校准,而必须更换红绿灯。 程序的亮点是简单易懂,容易理解,适合刚刚学习Verilog语言的人。对于红绿灯的设计思路容易掌握。 通过此次课程设计,我基本了解了用Verilog语言编程的一般方法,掌握了用该语言编程的一些技巧,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论