汽车尾灯控制电路 verilog课设

上传人:M****1 文档编号:512542910 上传时间:2023-01-15 格式:DOCX 页数:9 大小:11.49KB
返回 下载 相关 举报
汽车尾灯控制电路 verilog课设_第1页
第1页 / 共9页
汽车尾灯控制电路 verilog课设_第2页
第2页 / 共9页
汽车尾灯控制电路 verilog课设_第3页
第3页 / 共9页
汽车尾灯控制电路 verilog课设_第4页
第4页 / 共9页
汽车尾灯控制电路 verilog课设_第5页
第5页 / 共9页
点击查看更多>>
资源描述

《汽车尾灯控制电路 verilog课设》由会员分享,可在线阅读,更多相关《汽车尾灯控制电路 verilog课设(9页珍藏版)》请在金锄头文库上搜索。

1、可编程课程设计实验报告一、设计题目汽车尾灯控制电路二、设计要求用6个发光管模拟6个汽车尾灯(左右各3个),用4个开关作为汽车控 制信号,分别为:xx、右拐、故障和刹车。车匀速行驶时,6个汽车尾灯全灭;右拐时,车右边3个尾灯从左至右顺序 亮灭;左拐时,车左边3个尾灯从右至左顺序亮灭;故障时车6个尾灯一起明灭闪烁;刹车时,6个尾灯全亮三、设计语言简介VHDL 的英文全名是 Very-High-Speed Integrated Circuit HardwareDescription Language,诞生于1982年。1987年底,VHDL被IEEE和美国国防部确认为标准硬 件描述语言。自IEEE公

2、布了 VHDL的标准版本,IEEE-1076 (简称87版)之后, 各EDA公司相继推出了自己的VHDL设计环境,或宣布自己的设计工具可以和 VHDL接口。此后VHDL在电子设计领域得到了广泛的接受,并逐步取代了原有 的非标准的硬件描述语言。1993年,IEEE对VHDL进行了修订,从更高的抽象 层次和系统描述能力上扩展VHDL的内容,公布了新版本的VHDL,即IEEE标准 的1076-1993版本,(简称93版)。现在,VHDL和Verilog作为IEEE的工业标 准硬件描述语言,又得到众多EDA公司的支持,在电子工程领域,已成为事实 上的通用硬件描述语言。有专家认为,在新的世纪中,VHDL

3、于Verilog语言将承担起大部分的数字 系统设计任务。VHDL设计的主要特点:1. 用VHDL代码而不是用原理图进行设计,意味着整个电路板的模型及性能 可用计算机模拟进行验证。2. VHDL元件的设计与工艺无关,与工艺独立,方便工艺转换。3. VHDL支持各种设计方法,自顶向下、自底向上或者混合的都可以。4. 可以进行从系统级到逻辑级的描述,即混合描述。5. VHDL区别于其他的HDL,已形成标准,其代码在不同的系统中可交换建 模。四、程序代码module weideng(nrst,haz,left,right,brake,lc,lb,la,ra,rb,rc,/*CLOCK_50*/clk,

4、vga);input haz,left,right,brake;/warning,turn left,turn right,brakinginput nrst,/*CLOCK_50*/clk;output lc,lb,la,ra,rb,rc;/6 lightoutput vga;reg 3:0vga;wire lc,lb,la,ra,rb,rc;/wire cp;/2 HZreg 19:0state,next_state;/14 statesparameter 19:0idle=20b00_0000_0001_000,l1=20b00_0000_001_000,l2=20b00_0000_01

5、0_000,l3=20b00_0000_100_000,r1=20b00_0001_00_000_100,r2=20b00_0010_000_010,r3=20b00_00_0100_000_001,full=20b00_00_1000_00_111, bl1=20b00_0001_0000_001_111, bl2=20b00_0010_0000_010_111,bl3=20b00_0100_0000_111, br1=20b00_1000_0000_111_100, br2=20b01_0000_00_111_010,br3=20b10_0000_00_111_001;/position

6、of each state parameter 4:0 idle_pos=5d6, l1_pos=5d7,l2_pos=5d8,l3_pos=5d9,r1_pos=5d10,r2_pos=5d11,r3_pos=5d12,full_pos=5d13,bl1_pos=5d14,bl2_pos=5d15,bl3_pos=5d16,br1_pos=5d17,br2_pos=5d18,br3_pos=5d19;/store statusalways (posedge clk ,negedge nrst)beginvga=4b0001;if(!nrst)state=idle;elsestate=next

7、_state;end/state transition *always (haz,left,right,brake)beginnext_state=idle;case(1b1)stateidle_pos:if(left&haz&right&brake)next_state=l1;else if(right&haz&left&brake)next_state=r1;else if(brake|haz|left&right)next_state=full;elsenext_state=idle;statel1_pos:if(brake)next_state=bl1;else if(haz&brak

8、e)next_state=full;elsenext_state=l2;statel2_pos:if(brake)next_state=bl1;else if(haz&brake)next_state=full;elsenext_state=l3;statel3_pos:next_state=idle;statefull_pos:next_state=idle;elsenext_state=full;stater1_pos:if(brake)next_state=br1;else if(haz&brake)next_state=full;elsenext_state=r2;stater2_po

9、s:if(brake)next_state=br1;else if(haz&brake)next_state=full;elsenext_state=r3;stater3_pos:next_state=idle;statebr1_pos:next_state=r1;/else if(brake&haz)/next_state=full;elsenext_state=br2;statebr2_pos:if(brake)next_state=r1;/else if(brake&haz)/next_state=full;elsenext_state=br3;statebr3_pos:if(brake

10、)next_state=r1;elsenext_state=br1;statebl1_pos:if(brake)next_state=l1;/else if(brake&haz)/next_state=full;elsenext_state=bl2;statebl2_pos:if(brake)next_state=l1;/else if(brake&haz)/next_state=full;elsenext_state=bl3;statebl3_pos:if(brake)next_state=l1;elsenext_state=bl1;default:next_state=idle;endca

11、seend/output logicassign la=state3,lb=state4,lc=state5,ra=state2,rb=state1,rc=state0;/2hz clock/*divn # (.WIDTH(25), .N(25000)CLOCK_50u0(.clk(CLOCK_50),.rst_n(nrst),.o_clk(cp);*/endmodule五、心得体会Verilog语言是目前电路设计中不可缺少的语言之一,其在电子信息、通 信、自动控制及计算机领域中的重要性日益突出。通过本次课程设计,使我对 Verilog语言有了更深一步的了解,也对Quartus II软件的使用方法和设计流程也 有了更进一步的认识。在课程设计过程中,我和同组同学共同讨论,期间遇到 不少问题。但每一个问题我们都会认真修改、调试,并积极向老师和同学寻求 帮助,直到没有错误为止。这也提高了我们独立思考与团队合作的能力。总 之,此次课程设计不仅对之前可编程设计的理论学习进行了实践,更为我今后 的专业学习打下了良好的基础。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号