eda技术与vhdl语言设计

eda技术与vhdl语言设计

ID:20493256

大小:147.97 KB

页数:5页

时间:2018-10-12

eda技术与vhdl语言设计_第1页
eda技术与vhdl语言设计_第2页
eda技术与vhdl语言设计_第3页
eda技术与vhdl语言设计_第4页
eda技术与vhdl语言设计_第5页
资源描述:

《eda技术与vhdl语言设计》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、成绩指导教师:《EDA技术与VHDL语言设计》课程设计题a:姓名:院系:专业:班级:学号:指导教师:交通灯控制器电子信息工程电信112班2013年6月交通灯控制器氺氺氺(电子信息工程学系指导教师:**)摘要:传统的交通灯控制器多数由单片机实现,本文介绍基于EDA技术设计交通灯控制器的一种方案。EDA技术的一个重要特征是使用硬件描述语言来完成系统的设计文件,这在电子设计领域已得到设计者的广泛采用。给出了交通灯控制器的源程序和仿真结果,仿真结果表明该设计方案可行。关键词:交通灯控制器;仿真;设计1.设计原理1.1设计要求设

2、计一个十字路口交通控制器,器示意阁如阁1.1所示,A方向和B方向歌设红(R)、黄(Y)、绿(G)、和左拐(L)四盏灯,四种灯按合理的顺序亮灭,并能将灯亮的时间以倒计时的形式显示!li来。A方㈦红、绿、黄、左拐灯亮的时间分别为65s、40s、5s、和15s,B方红、绿、黄、左拐灯亮的时间分别为55s、30s、5s、和15s。1.2功能要求两个方向各种灯亮的时间能够进行设賈和修改,此外假设A方向是主干路,车流大,因此在A方向通行的时间应比B方向长。交通灯控制器的状态转换如表1.2A力向B方向绿(G1)黄(Y1)左拐(L1)

3、红(R1)绿(G1黄(Y1)左拐(L1)红(R1)1000000101000001001000010100000100011000000101000001001000010100表1.2交通灯控制器的状态1.3设计思路和原理根据交通灯控制器要求实现的功能,考虑用两个并行执行的always模块來分別控制A和B两个方向的叫盏灯,这两个always模块使用同一个时钟信号,以进行同步。也就是说,两个always模块的敏感信号是同一个,每个模块控制一个方向的叫种灯按如下顺序点亮,并往复循环:绿灯->黄灯->左拐灯黄灯一>红灯。每

4、种灯亮的时间采川一个减法计数器进行计数,计数器川同步预置法设计,这样只耑改变计数器的模,因此每个方向只要一个计数器进行计时即可。力便于显示灯亮的时间,计数器的输出均采用BCD码,显示由叫个数码管來完成,A方向和B方向各用两个数码管。1.VerilogHDL程序设计根据整体设计要求,编写各个功能部分VerilogHDL程序,设置各输入输出变说明如下:LAMPA邂制A方向卩4盏灯的亮灭,其中,LAMPAO〜LAMPA3,分别控制A方向的左拐灯、绿灯、黄灯和红灯;LAMPB:控制B方向叫盏灯的亮灭,其中,LAMPBO〜LAM

5、PB3,分别控制B方向的左拐灯、绿灯、黄灯和红灯;ACOUNT:用于A方向灯的时间显示,8位,可驱动两个数码管;BCOUNT:用于B方向灯的时间显示,8位,可驱动两个数码管。程序清单如下:moduletraffic(CLK,EN,LAMPA,LAMPB,ACOUNT,BCOUNT);inputCLK,EN;//输入同步时钟和使能信号outputf3:01LAMPA,LAMPB;outputp:0]ACOUNT,BCOUNT;regtempa,tempb;regl2:0]counta,countb;reg[3:O]LAM

6、PA,LAMPB;reg[7:()lared,ayellow,agreen,aleft,bred,byellow,bgreen,bleft;reg[7:0]numa,numb;always@(EN)if(!EN)begin//设置各种灯的计数器的预置数ared<=8'd3O;ayellow<=8*d5;//设置各种灯的计数器的预置数A方叫红agreen<=8’d45;aleft<=8.dl5;bred<=8*(150;byellow<=8*d5;//设置各种灯的计数器的预置数B方向红bleft<=8.dl0;endas

7、signACOUNT=numa;assignBCOUNT=numb;always@(posedgeCLK)beginif(EN)beginif(!tempa)begintempa<=l;case(counta)bgreen<=8*d30;//该进程控制A方向的叫种灯//控制亮灯的顺序O:beginnuma<=agreen;LAMPA<=2;counta<=1;end1:beginnuma<=ayellow;LAMPA<=4;counta<=2;end2:beginnuma<=aleft;LAMPA<=1;counta<

8、=3;end3:beginnuma<=ayellow;LAMPA<=4;counta<=4;end4:beginnuma<=ared;LAMPA<=8;counta<=0;enddefault:LAMPA<=8;endcaseendelsebegin//倒计吋if(numa>l)if(numa[3:0]==0)beginnuma[

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。