数字电路与逻辑设计用Verilog编程用FPGA实现汽车尾灯控制系统实验报告学院:信息与通信工程学院专业:电子信息工程班级:2015211103组员:傅远昌2015210077张楷20152100781.11111.1.1.111.21131.1.4115V•InputN/AN/AN/AN/AN/AN/Av■ClockN/AN/AN/AN/AN/AN/At>sys_clkN/AG1(C1)6{5)AutoN/ALVCMOS33(LVGMO...■state_ln[0]N/AM7(M7}2(2)AutoN/ALVCMOS33(LVCMO...•statejn[1]N/AM3{Ma)2(2}AutoN7ALVCMOS33(LVCMO...?tatejn[2]N/A2(2)AutoN/ALVGMOS33(LVCMO.,.•state_in[3]M/A2(2)AutoN7ALVCMOS33(LVCMO...■sys_rst_nM/AN14(N14)1⑴AutoN/ALVCMOS33(LVCMO.,.实验要求根据汽车行驶状态自动控制汽车尾灯1.直行:尾灯不亮2.右转:右侧尾灯亮而且按秒闪烁,左侧尾灯不亮3.左转:左侧尾灯亮而且按秒闪烁,右侧尾灯不亮4.临时停车或故障:两侧尾灯同时闪烁5.倒车显示用FPGA实现方式设计1.用三色LED代表左右汽车尾灯,为了便于区分,左尾灯选择靠左的三色LED且显示为蓝色,右尾灯选择靠右的三色LED且显示为红色。两灯同时闪烁表示停车或倒车。2.用八个单色LED以流水灯的方式显示汽车的行驶状态,向前滚动表示汽车前行,向后滚动表示汽车到车,只有前四个LED亮表示左转,只有后四个LED亮表示右转。3.用四个拨码开关分别表示前行、左转、右转、故障(倒车),器输入组合1000表示前行,0100表示左转、0010表示右转、0001表示故障(倒车);设计思路分析1.使用不同的进程来分别处理时钟分频及各个状态下的灯光效果2.用三色LED代表左右汽车尾灯3.用拨码开关控制汽车行驶状态4.用单色LED显示汽车行驶状态5.使用状态机的思想来设计,通过过状态来决定灯光效果,通过外部输入来改变状态。四.波形仿真3r勺I'iX'X*印gutrw■Ny▼■f•i0F冃XiflEl-H-3_nciT13冥riEJATEUM_RN0■3!rX~X'~dS&X■:l:■郦虫札1l~1111|11~五.管脚分配1.输入管脚分配:2.输出管脚分配:12v-OutputN/AN/AN/AN/AN/AN/A1.2.1IM」N/A3⑶AutoN/ALVCMOS33(LVCMO...1.221刨」eft[i]N/AN2(IN2)2(2)AutoN/ALVGMOS33(LVCMO...12J刖」eft[2]N/AP2(P2}2(2)AutoN/ALVCMOS33(LVCMO...1.2.4lad^autlO]N/AN13(N13)1⑴AutoN/ALVCMOS33(LVCMO...125[”]N/AM12(M12}1(1)AutoN/ALVG^lOS33(LVGMO...1.2J6led_cul(2]N/AP12(P12)2[2)AutoN/ALVCMOS33{LVCMO...1.2.7Iwd一out[3]N,rAM11(M11)2(2)AutaN/ALVCMO333(LVaMO...1.2$led_out[4]N/AP11(P11)2(2)AutPN/ALVCMOS33{LVCMO...1.2.9l&d_out[5]N/AN1O(N1O)AutoN/ALVCMOS33{LVCMO...1.2.10led_out[6]N/AN9(IN9)2(2)AutoN/ALVGMOS33(LVGMO...1211led_out[7]N/AP9(P9}2⑵AutoN/ALVCMOS33(LVCMO...1.2.12lad_right[O]N/AP4(P4)2(2)AutoN/ALVCMOS33(LVCMO...1.2.13led_right[1]N/AN3(IN3)2(2)AutoN/ALVGMOS33(LVCMO...1214led_right[2]N/AM3(M3}2(2)AutoN/ALVCMOS33(LVCMO...六.实验总结体会:(1)本次实验,我们采用模块化的设计方法,将整体分成不同功能的模块,如计时模块、分频模块、显示控制模块、LED灯显示模块,然后分模块编写程序(由小组人员分工完成),之后再将模块之间用变量连接起来,从而实现汽车尾灯显示要求。(2)在实现本次设计的过程中,使我们了解了汽车尾灯的基本原理,从而让我们觉得,首次将我们的专业知识与生活联系起来,增强了我们对本课程的学习兴趣。(3)在本次实验的实现过程中,通过调用case语句、always语句,是我们进一步加深了对case、always语句的认识,并且能够将其运用到其他设计中,使我们进一步熟练了这种设计方法和verilog程序设计语言。七.实现代码1.汽车尾灯控制系统moduletail_lamp(inputsys_clk,//系统时钟inputsys_rst_n,//系统复位input[3:0]state_in,//拨码开关输入outputreg[2:0]led_left,//左侧尾灯[msb~lsb]=[R,G,B]outputreg[2:0]led_right,//右侧尾灯[msb~lsb]=[R,G,B]outputreg[7:0]led_out//流水灯输出);parameterCNT_NUM=6_000_000;//计数器实现分频的分频系数localparamSTOP=4'b0000;localparamGO=4'b0001;localparamLEFT=4'b0010;localparamRIGHT=4'b0100;localparamBACK=4'b1000;wire[2:0]tail_on;//尾灯点亮状态wire[2:0]tail_off;//尾灯...