收藏 分享(赏)

EDA课程设计-用Verilog HDL语言编写-红绿灯控制程序.doc

上传人:精品资料 文档编号:8548696 上传时间:2019-07-02 格式:DOC 页数:9 大小:84.05KB
下载 相关 举报
EDA课程设计-用Verilog HDL语言编写-红绿灯控制程序.doc_第1页
第1页 / 共9页
EDA课程设计-用Verilog HDL语言编写-红绿灯控制程序.doc_第2页
第2页 / 共9页
EDA课程设计-用Verilog HDL语言编写-红绿灯控制程序.doc_第3页
第3页 / 共9页
EDA课程设计-用Verilog HDL语言编写-红绿灯控制程序.doc_第4页
第4页 / 共9页
EDA课程设计-用Verilog HDL语言编写-红绿灯控制程序.doc_第5页
第5页 / 共9页
点击查看更多>>
资源描述

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

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

3、 4 -3状态机:- 5 -3、源程序module traffic(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 p

4、osedge reset)begin if(reset)state=st0;elsestate=nxstate;endalways(state)beginred1=1b0; yellow1=1b0; green1=1b0;red2=1b0; yellow2=1b0; green2=1b0;case(state)st0:begin- 6 -green1=1b1;red2=1b1;nxstate=st1;endst1:begingreen1=1b1;red2=1b1;nxstate=st2;endst2:begingreen1=1b1;red2=1b1;nxstate=st3;endst3:beg

5、ingreen1=1b0;yellow1=1b1;red2=1b1;nxstate=st4;endst4:begin- 7 -red1=1b1;red2=1b0;yellow1=1b0;green2=1b1;nxstate=st5;endst5:beginred1=1b1;green2=1b1;nxstate=st6;endst6:beginred1=1b1;green2=1b1;nxstate=st7;endst7:begingreen2=1b0;red1=1b1;yellow2=1b1;nxstate=st0;end- 8 -endcaseendendmodule四、编译和仿真波形红绿灯设

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

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

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报