西电数字电路与系统设计EDA大作业课题.docVIP

西电数字电路与系统设计EDA大作业课题.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《数字电路与系统设计》 EDA实验报告 班级: 学号: 姓名: 西安电子科技大学电子工程学院 基于FPGA的交通灯控制器 实验功能简介: 本实验基于XILINX的BASYS2 FPGA开发板,配合编写verilog HDL硬件描写语言,实现交通灯控制器的设计。应用板上的资源有四位数码管、一个拨键开关。四位数码管前两位显示A路绿灯、黄灯和红灯亮灯的时间数值,后两位显示B路绿灯、黄灯、红灯亮灯的时间数值。拨键开关SWO控制交通灯的工作状态。当SW0置为“1”时,交通灯控制器开始工作。当SW0置为“0”时,交通灯控制器进行复位操作。交通灯控制器的A方向的绿灯、黄灯和红灯亮灯时间分别为25s、5s和30s,B方向的绿灯、黄灯和红灯亮灯时间也分别为25s、5s和30s。本实验在50MHZ的主时钟的条件下控制6个LED灯的亮熄以及用四位数码管显示亮熄的时间。这样便可以实现本实验的功能。 实验条件: 本实验所用到的开发板为Basys2开发板。它是构建在Xilinx Spartan3E现场可编程门阵列和一个Atmel AT90USB2 USB控制器。其核心部件为Xilinx Spartan3E-100 CP132,它采用100000-gate Xilinx Spartan3E FPGA;通过Atmel AT90USB2 全速USB2端口提供开发板所需的电源盒编程及数据输出接口。开发板上的闪存来存储FPGA的声明。其外围部件有8路LED灯;4个7段的数码管;4个按键;8个滑行开关;PS/2端口;8位的VGAD端口;用户可选择开发板配置的时钟(25/50/100MHZ),也可以外接时钟;4组6针的扩展接口;所有输入输出信号都有ESD和短路保护电路。 实验所用的综合软件为Xilinx ISE Design Suite 13.1,实验所用到的开发语言为Verilog,用Modelsim SE 6.5e编程和仿真。用DigilentAdept_v2-3-0来下载Bit文件。 实验过程: 系统组成框图: 模块划分及各个模块的详细功能: 本系统共包括个6个模块,分别为交通灯顶层模块(top_traffic)、1s计时时钟产生模块(clock_1s)、数码管扫描时钟产生模块(display_DIV)、数码管扫描驱动模块(display)、交通灯控制模块(traffic)、十进制数字与数码管显示解码模块(dectohex)。 交通灯顶层模块(top_traffic):此模块为顶层连接模块,负责将各个模块连接起来,包括总系统的输入与输出信号的定义与连接。 1s计时时钟产生模块(clock_1s):此模块用来对主频进行分频,使其产生跑表计时所需要的1s的方波信号。 数码管扫描时钟产生模块(display_DIV):此模块用来对主频进行分频,使其产生数码管扫描所需的2.5ms时钟信号,此时钟信号为数码管扫描驱动模块(display)使用。 数码管扫描驱动模块(display):此模块用来驱动数码管进行扫描显示,要显示的数据经由此模块显示到四位数码管上。 十进制数字与数码管显示解码模块(dectohex):此模块是对要显示的数字进行解码,转换为数码管显示所需要的编码,此模块包含于数码管扫描驱动模块(display)。 交通灯控制模块(traffic):此模块为整个系统的核心模块,用来控制输入的交通灯时钟信号,产生交通灯的效果,对交通灯进行开关与复位。 流程图及流程图详细介绍: 系统流程图为: 描述过程:当交通灯控制模块(traffic)启动时,首先判断使能端EN是否为1。若为1则程序继续进行。接下来分别判断中间变量tempa与tempb是否为0.若为tempa为0,判断counta的数值。若counta为0,则此时A路绿灯亮,并且数码管开始倒数计时。当计时结束时,再返回判断counta的数值对应相应的交通灯亮熄。tempb的判断与tempa类似。 说明:在流程图的任意一点,只要RESET复位被按下,直接从“开始”重新开始。 按键说明:开关复位键(SW0)。 详细的程序清单及程序注释: /****************************************** 交通灯顶层模块(top_traffic) 将各个模块进行连接,并设置总系统的输入输出 *******************************************/ module top_traffic(mainclk, reset, display_led, led_control_1,led_control_2,led_control_3,led_control_4, traffic_control, LAMPA,LAMPB); //端口

文档评论(0)

舞林宝贝 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档