西工大FPGA实验大作业(共15页).docx
《西工大FPGA实验大作业(共15页).docx》由会员分享,可在线阅读,更多相关《西工大FPGA实验大作业(共15页).docx(15页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上西北工业大学硬件描述语言与FPGA实验报告学 院:学号:姓名:专 业:实验时间:实验地点:指导教师:西北工业大学20 年 月基于Verilog交通灯的设计与实现一、实验目的及要求实验目的:通过交通灯的设计与仿真综合,体会复杂时序的实现方法,学会用框图表示程序的设计思想,掌握中小规模集成电路的系统综合设计方法。实验要求:设计一个交通灯信号控制电路。具体要求为:输入为50MHz的时钟和复位信号,输出为红、绿、黄三个信号(高电平为亮)。复位信号(高电平)有效,红、绿、黄灯灭;接着进行如下循环:绿灯亮1分钟,黄灯闪烁10秒,红灯亮1分钟。在此基础上再加两个数码管,对倒计时的数
2、显示。二、实验设备(环境)及要求ModelSimSE和Synplify Pro 9.6.2 三、实验内容与步骤1设计思路概述:考虑一个红绿黄交通灯及倒计时显示器设计首先复位电平置1,所有的交通灯电平为低,即灭。首先绿灯亮60s,然后黄灯闪烁10s;红灯再接着亮60s;而后绿灯亮60s,黄灯闪烁10s,红灯亮60s以此循环,直至复位电平置1,所有交通灯灭。2模块结构设计及流程图顶层模块(module lights):模块例化,对控制模块和译码模块进行例化控制模块:交通灯颜色和倒计时时钟分频(frequencies):将50MHZ的频率分成我们所需要的1HZ; 颜色变化:状态循环及倒计时,状态用l
3、ight_status,如果状态light_status为0,绿灯亮,时间(60s)给统计灯亮时间的变量light_long,并且把显示灯亮的变量light_select赋值100(高电平表示亮),最后把状态标志位light_status赋1,控制倒计时。交通灯亮灭情况:light_out交通灯亮灭情况001红灯亮010黄灯亮100绿灯亮倒计时:灯亮或闪烁时间(绿、黄、红分别为60s、10s、60s)用BCD码表示(分别为60h、10h、60h),倒计时的时候个位和十位分别是高四位和低四位,首先是低四位倒数,当倒数到0时,重新赋值为9,且高四位减1,如此循环,直到这个数减到0,灯亮的时间到,接
4、着进行下一个状态,在时间减到0的时候,给使能端enable 赋值0;高四位和低四位分别显示十位和个位。译码模块:黄灯闪烁及倒计时译码输出。黄灯闪烁:黄灯在1s内亮0.5s灭0.5s,中间位当分频时钟y_flicker为高且输入light_select为高时,输出light_out 才为高(黄灯亮),别的情况light_out中间位都为低(黄灯灭)。七段译码:38译码器,把倒计时译码输出显示模块框图:3时序说明在0时刻,加上系统时钟,首先进行reset置1,计数器清零,所有交通灯为灭的状态,二进制代码为00,七段译码无显示。在reset为0时,系统开始正常工作。计数器开始工作,纵向路口的路灯亮,
5、横向路口的红灯亮,二进制代码为01,同时两个倒计时显示器工作,从59到0的倒计时。经过60s(也就是经过60*50M个系统时钟上升沿之后)纵向路口,横向路口的黄灯开始闪烁( 1秒内只有半秒,黄灯是亮的,从9秒到8.5秒之间黄灯是亮的,然后8.5到8是灭的,如此继续下去,知道10秒结束)又经过10s(70*50M个系统时钟上升沿),状态转移到红灯,然后显示及七段译码过程与绿灯相似。至此一个周期已经完成,接下来就是循环执行以上步骤的过程,直到有reset清零端打断其正常工作。4计框图及相关时序 四实验代码/ 顶层模块module lights(clk50MHz,reset,light_out,le
6、d_ctrlge,led_ctrlshi); input clk50MHz; input reset; output 2:0 light_out; output 6:0 led_ctrlge; output 6:0 led_ctrlshi; wire 3:0 dataoutge;wire 3:0 dataoutshi;wire 2:0 light_selccted; controlcontrollk50MHz),.reset(reset),.doutge(dataoutge),.doutshi(dataoutshi),.light_select(light_selccted); /控制模块例化
7、decodeU_decode(.sysclk_50MHz(sysclk_50M,.reset(reset),.inge(dataoutge),.inshi(dataoutshi).light_sel(light_selccted),.light_out(light_out),.led_datage(led_ctrlge),.led_datashi(led_ctrlshi); / 译码模块例化endmodule/ 控制模块Module control (clk50MHz,reset, outge, outshi, light_select); inputclk50MHz; inputreset;
8、 output3:0 outge; output3:0 outshi; output2:0 light_select; reg 2:0 light_select; reg 1:0 light_status; reg clk1Hz; reg 24:0 counter; reg enable; reg 7:0 light_long; parameter g_long=8h59; parameter y_long=8h09; parameter r_long=8h59; always(posedge clk50MHz or posedge reset)begin if(reset) begin cl
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 西工大 FPGA 实验 作业 15
限制150内