交通灯设计verilog_第1页
交通灯设计verilog_第2页
交通灯设计verilog_第3页
交通灯设计verilog_第4页
交通灯设计verilog_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

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

文档简介

1、数电课程设计题目交通灯设计学生姓名:专业:电子信息工程指导教师:2016-6-30完成日期:摘要VerilogHDL作为一种规范的硬件描述语言,被广泛应用于电路的设计中。它的设计描述可被不同的工具所支持,可用不同器件来实现。利用VerilogHDLg言自顶向下的设计方法设计交通灯控制系统,使其实现道路交通的正常运转,突出了其作为硬件描述语言的良好的可读性、可移植性和易理解等优点,并通过Quartus5.0完成综合、仿真。此程序通过下载到FPG延片后,可应用于实际的交通灯控制系统中。关键词:VerilogHDL;硬件描述语言;状态;FPGAAbstractAsacommorlanguagefor

2、thedescriptionofhardware,VerilogHDLiswidelyappliedincircuitdesigning.Thedesigndescriptioncanbesupporttedbydifferenttoolsandimplementedbydifferentdevices.Inthispaper,theprocessofdesigningtrafficlightcontrollersystembytheVerilogHDLtopdowndesignmethodispresented,whichhasmadetheroadtrafficworkwell,thede

3、signofthissystemhasshownthereadability,portabilityandeasilyunderstandingofVerilogHDLasaharddescriptionlanguageCircuitsynthesisandsimulationareperformedbyQuartus5.0.TheprogramcanbeusedinthetrulytrafficlightcontrollersystembydownloadingtotheFPGAchipKeywords:VerilogHDL;hardwaredescriptionlanguage;state

4、;FPGA目录一、概述4二、任务功能5三.系统设计51 .工作原理52 .系统设计方案6四、程序设计71 .verilog源程序72 .设备选择113 .引脚12五、仿真121 .仿真波形122 .硬件验证12六、结束语13七、参考文献14:概述HDL(HardwareDescriptionLanguage;,硬件描述语言)是一种描述硬件所做工作的语言。目前,电子系统向集成化、大规模和高速度等方向发展,以硬件描述语言和逻辑综合为基础的自顶向下的电路设计方法在业界得到迅猛发展,HDL在这种形势下显示出了巨大的优势,展望将来HDL在硬件设计领域的地位将与C和C+软软件设计领域地位一样,在大规模数字

5、系统的设计中,它将逐步取代传统的逻辑状态表和逻辑电路图等硬件描述方法而成为主要的硬件描述工具。VerilogHDL是工业和学术界的硬件设计者所使用的两种主要的HDL一,另一种是VHDL现在它们都已成为IEEE标准。两者各有特点,但VerilogHDL拥有更悠久的历史、更广泛的设计群体,资源也远比VHD年富,且非常容易学习掌握。Quartus简介:QuartusII是Altera公司的综合性PLD/FPG所发软件,支持原理图、VHDLVerilogHDL以及AHDL(AlteraHardwareDescriptionLanguage)等多种设计输入形式,内嵌自有的综合器以及仿真器,可以完成从设计

6、输入到硬件配置的完整PLD设计流程。QuartusII可以在XP、Linux以及Unix上使用,除了可以使用Tcl脚本完成设计流程外,提供了完善的用户图形界面设计方式。具有运行速度快,界面统一,功能集中,易学易用等特点。QuartusII支持Altera的IP核,包含了LPM/MegaFunction宏功能模块库,使用户可以充分利用成熟的模块,简化了设计的复杂性、加快了设计速度。对第三方EDA工具的良好支持也使用户可以在设计流程的各个阶段使用熟悉的第三方EDAX具。此外,QuartusII通过和DSPBuilder工具与Matlab/Simulink相结合,可以方便地实现各种DSP应用系统;支

7、持Altera的片上可编程系统(SOPC开发,集系统级设计、嵌入式软件开发、可编程逻辑设计于一体,是一种综合性的开发平台。二、任务功能交通灯控制系统主要是实现城市十字交叉路口红绿灯的控制。在现代化的大城市中,十字交叉路口越来越多,在每个交叉路口都需要使用红绿灯进行交通指挥和管理,红、黄、绿灯的转换要有一个准确的时间间隔和转换顺序,这就需要有一个安全、自动的系统对红、黄、绿灯的转换进行管理,本系统就是基于此目的而开发的。基本要求:(1)设计一个交通红绿灯。要求分主干道和支干道,每条道上安装红(主:redl,支:red2)绿(主:greenl,支:green2)黄(主:yellowl,支:yell

8、ow2)三种颜色灯,由四种状态自动循环构成;(2)在交通灯处在不同的状态时,设计一个计时器以倒计时方式显示计时,主干道上绿灯亮30S,支干道上绿灯亮20S。每个干道上,在绿灯转为红灯时,要求黄灯先亮5S。在完成基本要求的基础上,可进一步增加功能、提高性能,如绿灯亮的时间可调。三、系统设计1 .工作原理:城市十字交叉路口红绿灯控制系统主要负责控制主干道走向和从干道走向的红绿灯的状态和转换顺序,关键是各个状态之间的转换和进行适当的时间延时,正是基于以上考虑,采用如下设计:S0:当主干道走向的绿灯亮时,从干道走向的红灯亮,并保持30sS1:当主干道走向的黄灯亮时,从干道走向的黄灯亮,并保持5sS2:

9、当主干道走向的红灯亮时,从干道走向的绿灯亮,并保持20sS3:当主干道走向的黄灯亮时,从干道走向的黄灯亮,并保持5s在S3结束后又回到(1)状态,并周期重复进行。状态图如下:30秒S0S1S3S220秒2 .系统设计方案:根据设计要求和系统所具有功能,并参考相关的文献资料经行方案设计画出如下所示的十字路口交通灯控制器系统框图,及为设计的总体方案,框图如下图所示:四、程序设计I.verilog源程序:moduletraffic(en,clk,rst,num1,num2,light1,light2,out1,out2,out3,out4,in1,in2);inputen,clk,rst,in1,i

10、n2;/en为使能端。in1,in2控制绿灯和红灯亮时间output7:0num1,num2;output2:0light1,light2;output6:0out1,out2,out3,out4;输出四个数码管reg6:0out1,out2,out3,out4;regtim1,tim2;reg1:0state1,state2;reg2:0light1,light2;reg7:0num1,num2;reg7:0red1,red2,green1,green2,yellow1,yellow2;parameters0=2'b00,s1=2'b01,s2=2'b10,s3=2&

11、#39;b11;四个循环状态reg25:0count;regdiv;always(en)if(en)begin设置计数初值if(!in1)begingreen1<=8'b00110000;red2<=8'b00110000;end/30H,即30秒elsebegingreen1<=8'b01100000;red2<=8'b01100000;end60sif(!in2)beginred1<=8'b00100000;green2<=8'b00100000;end/20selsebeginred1<=8'

12、;b01000000;green2<=8'b01000000;end/40syellow1<=8'b00000101;yellow2<=8'b00000101;05sendalways(posedgeclk)/分频if(count=25000000)begindiv<=1;count<=count+1;endelseif(count=50000000)begindiv<=0;count<=0;endelsecount<=count+1;always(posedgediv)beginif(rst)/复位情况控制beginli

13、ght1<=3'b001;num1<=green1;endelseif(en)begin使能有效开始控制计数if(!tim1)/开始控制begin主干道交通灯点亮控制tim1<=1;case(state1)/犬态机s0:beginnum1<=green1;light1<=3'b001;state1<=s1;ends1:beginnum1<=yellow1;light1<=3'b010;state1<=s2;ends2:beginnum1<=red1;light1<=3'b100;state1<

14、;=s3;ends3:beginnum1<=yellow1;light1<=3'b010;state1<=s0;enddefault:light1<=3'b100;endcaseendelsebegin倒数计时if(num1>0)if(num13:0=0)beginnum13:0<=4'b1001;num17:4<=num17:4-1;/十位减1endelsenum13:0<=num13:0-1;个位减1if(num1=1)tim1<=0;endendelsebeginlight1<=3'b010;nu

15、m1=2'b00;tim1<=0;endendalways(posedgediv)从干道beginif(rst)/复位情况控制beginlight2<=3'b100;num2<=red2;endelseif(en)beginif(!tim2)begintim2<=1;case(state1)s0:beginnum2<=red2;light2<=3'b100;state2<=s1;ends1:beginnum2<=yellow1;light2<=3'b010;state2<=s2;ends2:beginn

16、um2<=green2;light2<=3'b001;state2<=s3;ends3:beginnum2<=yellow2;light2<=3'b010;state2<=s0;enddefault:light2<=3'b100;endcaseendelsebegin倒数计时if(num2>0)if(num23:0=0)beginnum23:0<=4'b1001;num27:4<=num27:4-1;endelsenum23:0<=num23:0-1;if(num2=1)tim2<=0;en

17、dendelsebegintim2<=0;state2<=2'b00;light2<=3'b010;endendalways(posedgeclk)begin/数码管译码显示case(num13:0)4'b0000:out1<=7'b0111111;/0,3F4'b0001:out1<=7'b0000110;/1,064'b0010:out1<=7'b1011011;/2,5B4'b0011:out1<=7'b1001111;3,4F4'b0100:out1<

18、=7'b1100110;/4,664'b0101:out1<=7'b1101101;5,6D4'b0110:out1<=7'b1111101;/6,7D4'b0111:out1<=7'b0000111;/7,074'b1000:out1<=7'b1111111;/8,7F4'b1001:out1<=7'b1101111;9,6Fdefault:out1<=7'b0111111;/0,3Fendcaseendalways(posedgeclk)begin/数码管译码

19、显示case(num17:4)4'b0000:out2<=7'b0111111;0,3F4'b0001:out2<=7'b0000110;/1,064'b0010:out2<=7'b1011011;/2,5B4'b0011:out2<=7'b1001111;3,4F4'b0100:out2<=7'b1100110;/4,664'b0101:out2<=7'b1101101;5,6D4'b0110:out2<=7'b1111101;6,7D4&

20、#39;b0111:out2<=7'b0000111;/7,074'b1000:out2<=7'b1111111;/8,7F4'b1001:out2<=7'b1101111;9,6Fdefault:out2<=7'b0111111;/0,3Fendcaseendalways(posedgeclk)begin/数码管译码显示case(num23:0)4'b0000:out3<=7'b0111111;0,3F4'b0001:out3<=7'b0000110;/1,064'b0

21、010:out3<=7'b1011011;/2,5B4'b0011:out3<=7'b1001111;3,4F4'b0100:out3<=-7'b1100110;/4,664'b0101:out3<=7'b1101101;5,6D4'b0110:out3<=7'b1111101;6,7D4'b0111:out3<=7'b0000111;/7,074'b1000:out3<=7'b1111111;/8,7F4'b1001:out3<=7&

22、#39;b1101111;9,6Fdefault:out3<=7'b0111111;/0,3Fendcaseendalways(posedgeclk)begin/数码管译码显示case(num27:4)4'b0000:out4<=7'b0111111;0,3F4'b0001:out4<=7'b0000110;/1,064'b0010:out4<=7'b1011011;/2,5B4'b0011:out4<=7'b1001111;3,4F4'b0100:out4<=7'b1100110;/4,664'b0101:out4<=7'b1101101;5,6D4'b0110:out4<=7'b1111101;6,7D4'b0111:out4<=7'b0000111;/7,07104'b1000:out4<=7'b1111111;/8,7F4'b1001:out4<=7'b1101111;9,6Fdefault:out4<=7'b0111111;0,3Fendcaseendendmodule2.设备

温馨提示

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

评论

0/150

提交评论