下载此文档

fpga实验报告.doc


文档分类:行业资料 | 页数:约13页 举报非法文档有奖
1/13
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/13 下载此文档
文档列表 文档介绍
数字电路与逻辑设计
用Verilog编程
用FPGA实现汽车尾灯控制系统
实验报告


学院:信息与通信工程学院
专业: 电子信息工程
班级: 2015211103
组员:傅远昌 2015210077
楷 2015210078


实验要求
根据汽车行驶状态自动控制汽车尾灯
直行:尾灯不亮
右转:右侧尾灯亮而且按秒闪烁,左侧尾灯不亮
左转:左侧尾灯亮而且按秒闪烁,右侧尾灯不亮
临时停车或故障:两侧尾灯同时闪烁
倒车显示
用FPGA实现方式设计
用三色LED代表左右汽车尾灯,为了便于区分,左尾灯选择靠左的三色LED且显示为蓝色,右尾灯选择靠右的三色LED且显示为红色。两灯同时闪烁表示停车或倒车。
用八个单色LED以流水灯的方式显示汽车的行驶状态,向前滚动表示汽车前行,向后滚动表示汽车到车,只有前四个LED亮表示左转,只有后四个LED亮表示右转。
用四个拨码开关分别表示前行、左转、右转、故障(倒车),器输入组合1000表示前行,0100表示左转、0010表示右转、0001表示故障(倒车);
设计思路分析
使用不同的进程来分别处理时钟分频及各个状态下的灯光效果
用三色LED代表左右汽车尾灯
用拨码开关控制汽车行驶状态
用单色LED显示汽车行驶状态
使用状态机的思想来设计,通过过状态来决定灯光效果,通过外部输入来改变状态。
波形仿真
管脚分配
输入管脚分配:
输出管脚分配:
实验总结体会:
(1)本次实验,我们采用模块化的设计方法,将整体分成不同功能的模块,如计时模块、分频模块、显示控制模块、LED灯显示模块,然后分模块编写程序(由小组人员分工完成),之后再将模块之间用变量连接起来,从而实现汽车尾灯显示要求。
(2)在实现本次设计的过程中,使我们了解了汽车尾灯的基本原理,从而让我们觉得,首次将我们的专业知识与生活联系起来,增强了我们对本课程的学****兴趣。
(3)在本次实验的实现过程中,通过调用case语句、always语句,是我们进一步加深了对case、always语句的认识,并且能够将其运用到其他设计中,使我们进一步熟练了这种设计方法和verilog程序设计语言。
实现代码
汽车尾灯控制系统
module tail_lamp
(
input sys_clk, //系统时钟
input sys_rst_n, //系统复位
input [3:0] state_in, //拨码开关输入
output reg [2:0] led_left, //左侧尾灯 [msb~lsb] = [R,G,B]
output reg [2:0] led_right, //右侧尾灯 [msb~lsb] = [R,G,B]
output reg [7:0] led_out //流水灯输出
);
parameter CNT_NUM = 6_000_000; //计数器实现分频的分频系数
localparam STOP = 4'b0000;
localparam GO = 4'b0001;
localparam LEFT = 4'b0010;
localparam RIGHT = 4'b0100;
localparam BACK = 4'b1000;
wire [2:0] tail_on; //尾灯点亮状态
wire [2:0] tail_off; //尾灯熄灭状态
wire [2:0] tail_shin; //尾灯闪烁状态
wire [7:0] _left; //左转时单色LED的状态
wire [7:0] _rignt; //右转时单色LED的状态
wire [7:0] _stop; //停止时单色LED的状态
reg [23:0] cnt; //计数器,
reg [3:0] current_state;//当前状态
reg [3:0] next_state; //下一个状态
reg clk_1hz; //1Hz分频信号
reg [7:0] _go; //前进时单色LED的状态
reg [7:0] _back; //倒车时单色LED的

fpga实验报告 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数13
  • 收藏数0 收藏
  • 顶次数0
  • 上传人2786321826
  • 文件大小166 KB
  • 时间2021-01-03