汽车尾灯控制电路 verilog课设.doc

上传人:sk****8 文档编号:3067081 上传时间:2019-05-19 格式:DOC 页数:6 大小:46.50KB
下载 相关 举报
汽车尾灯控制电路 verilog课设.doc_第1页
第1页 / 共6页
汽车尾灯控制电路 verilog课设.doc_第2页
第2页 / 共6页
汽车尾灯控制电路 verilog课设.doc_第3页
第3页 / 共6页
汽车尾灯控制电路 verilog课设.doc_第4页
第4页 / 共6页
汽车尾灯控制电路 verilog课设.doc_第5页
第5页 / 共6页
点击查看更多>>
资源描述

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

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

3、 EDA 公司的支持,在电子工程领域,已成为事实上的通用硬件描述语言。有专家认为,在新的世纪中,VHDL 于 Verilog 语言将承担起大部分的数字系统设计任务。VHDL 设计的主要特点:1.用 VHDL 代码而不是用原理图进行设计,意味着整个电路板的模型及性能可用计算机模拟进行验证。2.VHDL 元件的设计与工艺无关,与工艺独立,方便工艺转换。3.VHDL 支持各种设计方法,自顶向下、自底向上或者混合的都可以。4.可以进行从系统级到逻辑级的描述,即混合描述。5.VHDL 区别于其他的 HDL,已形成标准,其代码在不同的系统中可交换建模。四、程序代码module weideng(nrst,h

4、az,left,right,brake,lc,lb,la,ra,rb,rc,/*CLOCK_50*/clk,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 HZ reg 19:0state,next_state; /14 states parameter 19:0idl

5、e=20b00_0000_0000_0001_000_000, l1=20b00_0000_0000_0010_001_000, l2=20b00_0000_0000_0100_010_000, l3=20b00_0000_0000_1000_100_000, r1=20b00_0000_0001_0000_000_100, r2=20b00_0000_0010_0000_000_010, r3=20b00_0000_0100_0000_000_001, full=20b00_0000_1000_0000_111_111, bl1=20b00_0001_0000_0000_001_111, b

6、l2=20b00_0010_0000_0000_010_111, bl3=20b00_0100_0000_0000_100_111, br1=20b00_1000_0000_0000_111_100, br2=20b01_0000_0000_0000_111_010, br3=20b10_0000_0000_0000_111_001; /position 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

7、_pos=5d13, bl1_pos=5d14, bl2_pos=5d15, bl3_pos=5d16, br1_pos=5d17, br2_pos=5d18, br3_pos=5d19; /store status always (posedge clk ,negedge nrst) beginvga=4b0001; if(!nrst) state=idle; else state=next_state;end /state transition * always (haz,left,right,brake) beginnext_state=idle; case(1b1) stateidle

8、_pos:if(left else if(right else if(brake|haz|left else next_state=idle; statel1_pos:if(brake) next_state=bl1; else if(haz else next_state=l2; statel2_pos:if(brake) next_state=bl1; else if(haz else next_state=l3; statel3_pos:next_state=idle; statefull_pos:if(brake) next_state=idle; else next_state=fu

9、ll; stater1_pos:if(brake) next_state=br1; else if(haz else next_state=r2; stater2_pos:if(brake) next_state=br1; else if(haz else next_state=r3; stater3_pos:next_state=idle; statebr1_pos:if(brake) next_state=r1; /else if(brake else next_state=br2; statebr2_pos:if(brake) next_state=r1; /else if(brake

10、else next_state=br3; statebr3_pos:if(brake) next_state=r1; else next_state=br1; statebl1_pos:if(brake) next_state=l1; /else if(brake else next_state=bl2; statebl2_pos:if(brake) next_state=l1; /else if(brake else next_state=bl3; statebl3_pos:if(brake) next_state=l1; else next_state=bl1; default:next_

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

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

当前位置:首页 > 教育教学资料库 > 精品笔记

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。