Verilog交通灯_第1页
Verilog交通灯_第2页
Verilog交通灯_第3页
Verilog交通灯_第4页
Verilog交通灯_第5页
已阅读5页,还剩8页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

摘要VERILOGHDL作为一种规范的硬件描述语言,被广泛应用于电路的设计中。它的设计描述可被不同的工具所支持,可用不同器件来实现。利用VERILOGHDL语言自顶向下的设计方法设计交通灯控制系统,使其实现道路交通的正常运转,突出了其作为硬件描述语言的良好的可读性、可移植性和易理解等优点,并通过QUARTUS50完成综合、仿真。此程序通过下载到FPGA芯片后,可应用于实际的交通灯控制系统中。关键词VERILOGHDL;硬件描述语言;状态;FPGAABSTRACTASACOMMONLANGUAGEFORTHEDESCRIPTIONOFHARDWARE,VERILOGHDLISWIDELYAPPLIEDINCIRCUITDESIGNINGTHEDESIGNDESCRIPTIONCANBESUPPORTTEDBYDIFFERENTTOOLSANDIMPLEMENTEDBYDIFFERENTDEVICESINTHISPAPER,THEPROCESSOFDESIGNINGTRAFFICLIGHTCONTROLLERSYSTEMBYTHEVERILOGHDLTOPDOWNDESIGNMETHODISPRESENTED,WHICHHASMADETHEROADTRAFFICWORKWELL,THEDESIGNOFTHISSYSTEMHASSHOWNTHEREADABILITY,PORTABILITYANDEASILYUNDERSTANDINGOFVERILOGHDLASAHARDDESCRIPTIONLANGUAGECIRCUITSYNTHESISANDSIMULATIONAREPERFORMEDBYQUARTUS50THEPROGRAMCANBEUSEDINTHETRULYTRAFFICLIGHTCONTROLLERSYSTEMBYDOWNLOADINGTOTHEFPGACHIPKEYWORDSVERILOGHDLHARDWAREDESCRIPTIONLANGUAGESTATEFPGA2目录一、概述4二、任务功能5三系统设计51工作原理52系统设计方案6四、程序设计71VERILOG源程序72设备选择113引脚绑定12五、仿真121仿真波形122硬件验证12六、结束语13七、参考文献143一概述HDL(HARDWAREDESCRIPTIONLANGUAGE,硬件描述语言)是一种描述硬件所做工作的语言。目前,电子系统向集成化、大规模和高速度等方向发展,以硬件描述语言和逻辑综合为基础的自顶向下的电路设计方法在业界得到迅猛发展,HDL在这种形势下显示出了巨大的优势,展望将来HDL在硬件设计领域的地位将与C和C在软件设计领域地位一样,在大规模数字系统的设计中,它将逐步取代传统的逻辑状态表和逻辑电路图等硬件描述方法而成为主要的硬件描述工具。VERILOGHDL是工业和学术界的硬件设计者所使用的两种主要的HDL之一,另一种是VHDL。现在它们都已成为IEEE标准。两者各有特点,但VERILOGHDL拥有更悠久的历史、更广泛的设计群体,资源也远比VHDL丰富,且非常容易学习掌握。QUARTUS简介QUARTUSII是ALTERA公司的综合性PLD/FPGA开发软件,支持原理图、VHDL、VERILOGHDL以及AHDL(ALTERAHARDWAREDESCRIPTIONLANGUAGE)等多种设计输入形式,内嵌自有的综合器以及仿真器,可以完成从设计输入到硬件配置的完整PLD设计流程。QUARTUSII可以在XP、LINUX以及UNIX上使用,除了可以使用TCL脚本完成设计流程外,提供了完善的用户图形界面设计方式。具有运行速度快,界面统一,功能集中,易学易用等特点。QUARTUSII支持ALTERA的IP核,包含了LPM/MEGAFUNCTION宏功能模块库,使用户可以充分利用成熟的模块,简化了设计的复杂性、加快了设计速度。对第三方EDA工具的良好支持也使用户可以在设计流程的各个阶段使用熟悉的第三方EDA工具。此外,QUARTUSII通过和DSPBUILDER工具与MATLAB/SIMULINK相结合,可以方便地实现各种DSP应用系统;支持ALTERA的片上可编程系统(SOPC)开发,集系统级设计、嵌入式软件开发、可编程逻辑设计于一体,是一种综合性的开发平台。4二、任务功能交通灯控制系统主要是实现城市十字交叉路口红绿灯的控制。在现代化的大城市中,十字交叉路口越来越多,在每个交叉路口都需要使用红绿灯进行交通指挥和管理,红、黄、绿灯的转换要有一个准确的时间间隔和转换顺序,这就需要有一个安全、自动的系统对红、黄、绿灯的转换进行管理,本系统就是基于此目的而开发的。基本要求(1)设计一个交通红绿灯。要求分主干道和支干道,每条道上安装红(主RED1,支RED2)绿(主GREEN1,支GREEN2)黄(主YELLOW1,支YELLOW2)三种颜色灯,由四种状态自动循环构成(2)在交通灯处在不同的状态时,设计一个计时器以倒计时方式显示计时,主干道上绿灯亮30S,支干道上绿灯亮20S。每个干道上,在绿灯转为红灯时,要求黄灯先亮5S。在完成基本要求的基础上,可进一步增加功能、提高性能,如绿灯亮的时间可调。三、系统设计1工作原理城市十字交叉路口红绿灯控制系统主要负责控制主干道走向和从干道走向的红绿灯的状态和转换顺序,关键是各个状态之间的转换和进行适当的时间延时,正是基于以上考虑,采用如下设计S0当主干道走向的绿灯亮时,从干道走向的红灯亮,并保持30SS1当主干道走向的黄灯亮时,从干道走向的黄灯亮,并保持5SS2当主干道走向的红灯亮时,从干道走向的绿灯亮,并保持20SS3当主干道走向的黄灯亮时,从干道走向的黄灯亮,并保持5S在S3结束后又回到(1)状态,并周期重复进行。5状态图如下2系统设计方案根据设计要求和系统所具有功能,并参考相关的文献资料经行方案设计画出如下所示的十字路口交通灯控制器系统框图,及为设计的总体方案,框图如下图所示CLK时钟分频模块交通灯控制及计时模块显示模块LED显示数码管位码数码管段码S0S1S3S230秒5秒20秒5秒6四、程序设计1VERILOG源程序MODULETRAFFICEN,CLK,RST,NUM1,NUM2,LIGHT1,LIGHT2,OUT1,OUT2,OUT3,OUT4,IN1,IN2INPUTEN,CLK,RST,IN1,IN2/EN为使能端。IN1,IN2控制绿灯和红灯亮时间OUTPUT70NUM1,NUM2OUTPUT20LIGHT1,LIGHT2OUTPUT60OUT1,OUT2,OUT3,OUT4/输出四个数码管REG60OUT1,OUT2,OUT3,OUT4REGTIM1,TIM2REG10STATE1,STATE2REG20LIGHT1,LIGHT2REG70NUM1,NUM2REG70RED1,RED2,GREEN1,GREEN2,YELLOW1,YELLOW2PARAMETERS02B00,S12B01,S22B10,S32B11/四个循环状态REG250COUNTREGDIVALWAYSENIFENBEGIN/设置计数初值IFIN1BEGINGREEN10IFNUM1300BEGINNUM1300IFNUM2300BEGINNUM2304B1001NUM274NUM2741ENDELSENUM230NUM2301IFNUM21TIM20ENDENDELSEBEGINTIM20STATE22B00LIGHT23B010ENDENDALWAYSPOSEDGECLKBEGIN/数码管译码显示CASENUM1304B0000OUT17B0111111/0,3F4B0001OUT17B0000110/1,064B0010OUT17B1011011/2,5B4B0011OUT17B1001111/3,4F4B0100OUT17B1100110/4,664B0101OUT17B1101101/5,6D4B0110OUT17B1111101/6,7D4B0111OUT17B0000111/7,074B1000OUT17B1111111/8,7F4B1001OUT17B1101111/9,6FDEFAULTOUT17B0111111/0,3FENDCASEEND9ALWAYSPOSEDGECLKBEGIN/数码管译码显示CASENUM1744B0000OUT27B0111111/0,3F4B0001OUT27B0000110/1,064B0010OUT27B1011011/2,5B4B0011OUT27B1001111/3,4F4B0100OUT27B1100110/4,664B0101OUT27B1101101/5,6D4B0110OUT27B1111101/6,7D4B0111OUT27B0000111/7,074B1000OUT27B1111111/8,7F4B1001OUT27B1101111/9,6FDEFAULTOUT27B0111111/0,3FENDCASEENDALWAYSPOSEDGECLKBEGIN/数码管译码显示CASENUM2304B0000OUT37B0111111/0,3F4B0001OUT37B0000110/1,064B0010OUT37B1011011/2,5B4B0011OUT37B1001111/3,4F4B0100OUT37B1100110/4,664B0101OUT37B1101101/5,6D4B0110OUT37B1111101/6,7D4B0111OUT37B0000111/7,074B1000OUT37B1111111/8,7F4B1001OUT37B1101111/9,6FDEFAULTOUT37B0111111/0,3FENDCASEENDALWAYSPOSEDGECLKBEGIN/数码管译码显示CASENUM2744B0000OUT47B0111111/0,3F4B0001OUT47B0000110/1,064B0010OUT47B1011011/2,5B4B0011OUT47B1001111/3,4F4B0100OUT47B1100110/4,664B0101OUT47B1101101/5,6D104B0110OUT47B1111101/6,7D4B0111OUT47B0000111/7,074B1000OUT47B1111111/8,7F4B1001OUT47B1101111/9,6FDEFAULTOUT47B0111111/0,3FENDCASEENDENDMODULE2设备选择113引脚绑定五、仿真1仿真波形2硬件验证将VERILOG源程序文件下载到DE2开发板进行硬件验证,完成检测和调试。截图如下12六、结束语硬件描述语言课程设计就要结束了,这次课程设计历时近一个多星期,通过这个星期的学习,发现了自己的很多不足,发现了很多知识上的漏洞。同时也看到了自己的实践经验还是比较缺乏,理论联系实际的能力还急需提高。交通灯设计过程中遇到了多处困难,比如怎样使四种亮灯状态循环进行,经过思考选择了状态机实现。还有每个状态的延时模块设计最为复杂,运用多个IFELSE语句时经常无法得到理想结果,检查发现是没有正确配对,要使用BEGINEND构成模块。由于要显示倒计时,必须用到译码转换电路,对数码管显示也做了复习。通过实验,我深刻体会到多个ALWAYS语句并行执行的含义。另外还有分频电路的实现和引脚的绑定。还有一点是那就是细心认真。此次设计我由于编程的时候没有做到足够的细心,导致一串代码弄混了。但是密密麻麻的英文字母混在一起,我始终没有发现。最终在调试的时候,就出现了问题。只知道出现了问题,就是不知道到问题的根源在哪里,好长时间都没有找出问题的所在。这也让我真正的明白了,科学的严谨性,它不允许出半点差错,否则后果会是比较麻烦的。13这次课程设计让我学到了很多,不仅是巩固了先前学的VERILOG的理论知识,而且也培养了我的动手能力,更加熟悉了QUARTUS的

温馨提示

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

最新文档

评论

0/150

提交评论