- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于FPGA的交通灯设计规范
一、功能描述:
本设计实现一个交通信号灯,具体功能如下:
1.异步信号复位,复位后1组为红灯亮2组为绿灯亮,数码管显示从24开始依次递减计数
2.实现红黄绿灯的延时交替亮灭,分两组灯,1组红灯亮时,2组为黄灯,5秒后,1组红灯亮,2组绿灯亮;25秒后,1组黄灯亮,2组红灯亮;5秒后,1组绿灯亮,2组红灯亮。如此交替重复
3.计时时间25秒、5秒显示在数码管上。分别为:从24依次递减到0,从4依次递减到0
二、输入输出信号描述:
信号名 输入/输出 目标/源 功能描述 clock Input Pin 时钟频率50M占空比1:1 rst Input Pin 低电平有效,程序重新执行,计数器清零。 out[5:0] Output Pin 6位的输出数据 m1[6:0] Output Pin 接入数码管显示的十位 m2[6:0] Output Pin 接入数码管显示的个位 三、顶层划分:
系统结构框图
顶层模块说明:
fenpin:将50MHz晶振转为1Hz作为时钟频率;
delay:计数延时;
state:指出状态转移顺序;
shuma:将计数延时用数码管输出显示。
设计说明:
设计分为分频、延时、状态机、数码管显示四个模块。分频,将50MHz的系统时钟转为1Hz。计数延时,让状态机能在合适的时间点进行状态切换。状态机,完成状态间的切换,输出。数码管显示,将延时模块的计时输出值转换为数码管输出显示。
状态机的输出状态信号标志flag=out[1]|out[4],即为:判断此时的两组输出是否有黄灯亮。flag_data=flag,作为计数延时模块的输入,用状态信号标志flag_data和计数值cnt来共同控制计数模块是5秒还是25秒。
四、子模块描述:
4.1、fenpin:分频模块
1、功能描述
将实验板上的50MHz的石英晶振频率转为1Hz。
2、管脚描述
信号名称 输入 / 输出 源 目标 功能描述 clock Input Pin 系统时钟50MHz rst Input Pin 复位信号,低电平有效 clk Output Pin 分频后的时钟1Hz 3、实现说明
每当clock时钟上升沿来临时,内部寄存器sum从0递加,加,对clk进行取反操作,则可得到频率为1Hz的clk时钟
4.2、delay:延时模块
1、功能描述
计数延时,让状态机能在合适的时间点进行状态切换。
2、管脚描述
信号名称 输入 / 输出 源 目标 功能描述 clk Input Pin 时钟1Hz rst Input Pin 复位信号,低电平有效 flag_data Input Pin 状态信号标志 cnt[4:0] Output Pin 计数值 3、实现说明
用计数值和状态信号标志的与结果(cnt==0 flag_data)来判断计数延时的初始值应为24还是4
4.3、state:状态机模块
1、功能描述
完成状态间的切换,输出。
2、管脚描述
信号名称 输入 / 输出 源 目标 功能描述 clk Input Pin 时钟1Hz rst Input Pin 复位信号,低电平有效 in[4:0] Input Pin 计数值 flag Output Pin 状态信号标志 out[5:0] Output Pin 系统输出 3、实现说明
状态信号标志flag=out[1]|out[4]。即为检测当前是否有黄灯亮。
注:out[5:3]对应1组灯的:红黄绿
out[2:0]对应2组灯的:红黄绿
4.4、shuma:数码管显示模块
1、功能描述
将延时模块的计时输出值转换为数码管输出显示。
2、管脚描述
信号名称 输入 / 输出 源 目标 功能描述 rst Input Pin 复位信号,低电平有效 data[4:0] Input Pin 计数值 m1[6:0] Output Pin 系统输出,接数码管十位 m2[6:0] Output Pin 系统输出,接数码管个位 3、实现说明
将m1对10取整接入数码管的十位,m2对10取余接入数码管的个位。
五、验证方案:
1、结果验证
将程序下载至实验板,观测其数码管计数显示和两组灯的亮灭变化。
2、复位验证
下载到实验板,让其运行一段时间,进行复位,观测变化。
3、仿真验证
六、实验截图:
图1:仿真综合
图2:管脚分配
七、源程序代码:
顶层模块:
module traffic_light(clock,rst,out,m1,m2);
input clock,rst;
output [5:0]out;
output[6:0]m1,m2;
您可能关注的文档
最近下载
- Python程序设计与算法基础教程(第2版)第10章 模块和客户端.ppt VIP
- 保安员考试题库(新).docx
- 三峡说课 课件(含音频+视频).ppt VIP
- EOAS系统及功能简介.docx VIP
- Schneider Electric施耐德致·铂系列开关插座用户手册(中文).pdf
- 工程材料力学性能第2版 教学课件 ppt 作者 束德林 11第十一章.ppt VIP
- 充气式门封产品手册.PDF
- 人教版小学古诗文汇总(1至6年级) .pdf VIP
- 工程材料力学性能第2版 教学课件 ppt 作者 束德林 06第六章.ppt VIP
- 2025年中医诊断学(西学中)期末考试题库(+答案).docx VIP
文档评论(0)