首页 汽车尾灯控制电路 verilog课设

汽车尾灯控制电路 verilog课设

举报
开通vip

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

汽车尾灯控制电路 verilog课设
可编程课程设计实验报告 一、设计题目 汽车尾灯控制电路 二、设计要求 用6个发光管模拟6个汽车尾灯(左右各3个),用4个开关作为汽车控制信号,分别为:左拐、右拐、故障和刹车。 车匀速行驶时,6个汽车尾灯全灭;右拐时,车右边3个尾灯从左至右顺序亮灭;左拐时,车左边3个尾灯从右至左顺序亮灭; 故障时车6个尾灯一起明灭闪烁;刹车时,6个尾灯全亮 三、设计语言简介 VHDL的英文全名是Very-High-Speed Integrated Circuit HardwareDescription Language,诞生于1982年。1987年底,VHDL被IEEE和美国国防部确认为 标准 excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载 硬件描述语言。自IEEE 公布了VHDL的标准版本,IEEE-1076(简称87版)之后,各EDA公司相继推出了自己的VHDL 设计环境,或宣布自己的设计工具可以和VHDL接口。此后VHDL在电子设计领域得到了广泛的接受,并逐步取代了原有的非标准的硬件描述语言。1993年,IEEE对VHDL进行了修订,从更高的抽象层次和系统描述能力上扩展VHDL的内容,公布了新版本的VHDL,即IEEE标准的1076-1993版本,(简称93版)。现在,VHDL和Verilog作为IEEE的工业标准硬件描述语言,又得到众多EDA公司的支持,在电子 工程 路基工程安全技术交底工程项目施工成本控制工程量增项单年度零星工程技术标正投影法基本原理 领域,已成为事实上的通用硬件描述语言。有专家认为,在新的世纪中,VHDL于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,vga); input haz,left,right,brake;//warning,turn left,turn right,braking input nrst,/*CLOCK_50*/clk; output lc,lb,la,ra,rb,rc;//6 light output vga;reg [3:0]vga; wire lc,lb,la,ra,rb,rc; //wire cp;//2 HZ reg [19:0]state,next_state; //14 states parameter [19:0]idle=20'b00_0000_0000_0001_000_000, l1=20'b00_0000_0000_0010_001_000, l2=20'b00_0000_0000_0100_010_000, l3=20'b00_0000_0000_1000_100_000, r1=20'b00_0000_0001_0000_000_100, r2=20'b00_0000_0010_0000_000_010, r3=20'b00_0000_0100_0000_000_001, full=20'b00_0000_1000_0000_111_111, bl1=20'b00_0001_0000_0000_001_111, bl2=20'b00_0010_0000_0000_010_111, bl3=20'b00_0100_0000_0000_100_111, br1=20'b00_1000_0000_0000_111_100, br2=20'b01_0000_0000_0000_111_010, br3=20'b10_0000_0000_0000_111_001; //position of each state parameter [4:0] idle_pos=5'd6, l1_pos=5'd7, l2_pos=5'd8, l3_pos=5'd9, r1_pos=5'd10, r2_pos=5'd11, r3_pos=5'd12, full_pos=5'd13, bl1_pos=5'd14, bl2_pos=5'd15, bl3_pos=5'd16, br1_pos=5'd17, br2_pos=5'd18, br3_pos=5'd19; //store status always @(posedge clk ,negedge nrst) begin vga=4'b0001; if(!nrst) state<=idle; else state<=next_state; end //state transition *** always @(haz,left,right,brake) begin next_state=idle; case(1'b1) state[idle_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; else next_state=idle; state[l1_pos]:if(brake) next_state=bl1; else if(haz&~brake) next_state=full; else next_state=l2; state[l2_pos]:if(brake) next_state=bl1; else if(haz&~brake) next_state=full; else next_state=l3; state[l3_pos]:next_state=idle; state[full_pos]:if(~brake) next_state=idle; else next_state=full; state[r1_pos]:if(brake) next_state=br1; else if(haz&~brake) next_state=full; else next_state=r2; state[r2_pos]:if(brake) next_state=br1; else if(haz&~brake) next_state=full; else next_state=r3; state[r3_pos]:next_state=idle; state[br1_pos]:if(~brake) next_state=r1; //else if(~brake&haz) //next_state=full; else next_state=br2; state[br2_pos]:if(~brake) next_state=r1; //else if(~brake&haz) //next_state=full; else next_state=br3; state[br3_pos]:if(~brake) next_state=r1; else next_state=br1; state[bl1_pos]:if(~brake) next_state=l1; //else if(~brake&haz) //next_state=full; else next_state=bl2; state[bl2_pos]:if(~brake) next_state=l1; //else if(~brake&haz) //next_state=full; else next_state=bl3; state[bl3_pos]:if(~brake) next_state=l1; else next_state=bl1; default:next_state=idle; endcase end //output logic assign la=state[3], lb=state[4], lc=state[5], ra=state[2], rb=state[1], rc=state[0]; //2hz clock /* divn # (.WIDTH(25), .N(25000000)) CLOCK_50 u0 ( .clk(CLOCK_50), .rst_n(nrst), .o_clk(cp) ); */ endmodule 五、心得体会 Verilog语言是目前电路设计中不可缺少的语言之一,其在电子信息、通信、自动控制及计算机领域中的重要性日益突出。通过本次课程设计,使我对Verilog语言有了更深一步的了解,也对Quartus II软件的使用方法和设计 流程 快递问题件怎么处理流程河南自建厂房流程下载关于规范招聘需求审批流程制作流程表下载邮件下载流程设计 也有了更进一步的认识。在课程设计过程中,我和同组同学共同讨论,期间遇到不少问题。但每一个问题我们都会认真修改、调试,并积极向老师和同学寻求帮助,直到没有错误为止。这也提高了我们独立思考与团队合作的能力。总之,此次课程设计不仅对之前可编程设计的理论学习进行了实践,更为我今后的专业学习打下了良好的基础。
本文档为【汽车尾灯控制电路 verilog课设】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_477730
暂无简介~
格式:doc
大小:25KB
软件:Word
页数:10
分类:互联网
上传时间:2019-01-13
浏览量:113