ImageVerifierCode 换一换
格式:DOCX , 页数:11 ,大小:145.60KB ,
资源ID:26883108      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/26883108.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于FPGA的汽车尾灯控制电路.docx)为本站会员(b****4)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

基于FPGA的汽车尾灯控制电路.docx

1、基于FPGA的汽车尾灯控制电路1.设计题目 汽车尾灯控制电路2.设计目的本次设计的目的就是通过实践深入理解计算机组成原理,了解EDA技术并掌握VHDL硬件描述语言的设计方法和思想。以计算机组成原理为指导,通过学习的VHDL语言结合电子电路的设计知识理论联系实际,掌握所学的课程知识和基本单元电路的综合设计应用。通过对实用汽车尾灯控制器的设计,巩固和综合运用所学知识,提高分析、解决计算机技术实际问题的独立工作能力。3.设计内容 3.1 EDA的介绍 3.1.1 EDA技术的概念EDA是电子设计自动化(Electronic Design Automation)的缩写,在20世纪90年代初从计算机辅助

2、设计(CAD)、计算机辅助制造(CAM)、计算机辅助测试(CAT)和计算机辅助工程(CAE)的概念发展而来的。EDA技术就是以计算机为工具,设计者在EDA软件平台上,用硬件描述语言HDL完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。3.1.2 EDA技术的特点利用EDA技术进行电子系统的设计,具有以下几个特点: 用软件的方式设计硬件; 用软件方式设计的系统到硬件系统的转换是由有关的开发软件自动完成的; 设计过程中可用有关软件进行各种仿真; 系统可现场编程,在线升级; 整个系统可集成在一个芯片上,

3、体积小、功耗低、可靠性高。因此,EDA技术是现代电子设计的发展趋势。3.1.3 EDA设计流程典型的EDA设计流程如下:1、文本/原理图编辑与修改。首先利用EDA工具的文本或图形编辑器将设计者的设计意图用文本或图形方式表达出来。 2、编译。完成设计描述后即可通过编译器进行排错编译,变成特定的文本格式,为下一步的综合做准备。 3、 综合。将软件设计与硬件的可实现性挂钩,是将软件转化为硬件电路的关键步骤。 4、 行为仿真和功能仿真。利用产生的网表文件进行功能仿真,以便了解设计描述与设计意图的一致性。 5、适配。利用FPGA/CPLD布局布线适配器将综合后的网表文件针对某一具体的目标器件进行逻辑映射

4、操作,其中包括底层器件配置、逻辑分割、逻辑优化、布局布线。适配报告指明了芯片内资源的分配与利用、引脚锁定、设计的布尔方程描述情况。 6、 功能仿真和时序仿真。7、 下载。如果以上的所有过程都没有发现问题,就可以将适配器产生的下载文件通过FPGA/CPLD下载电缆载入目标芯片中。 8、 硬件仿真与测试。4.硬件描述语言(VHDL) 4.1 VHDL的介绍VHDL(Very-High-Speed Integrated Circuit Hardware Description Language)主要用于描述数字系统的结构,行为,功能和接口。除了含有许多具有硬件特征的语句外,VHDL的语言形式和描述风

5、格与句法是十分类似于一般的计算机高级语言。VHDL的程序结构特点是将一项工程设计,或称设计实体(可以是一个元件,一个电路模块或一个系统)分成外部(或称可是部分,及端口)和内部(或称不可视部分),既涉及实体的内部功能和算法完成部分。在对一个设计实体定义了外部界面后,一旦其内部开发完成后,其他的设计就可以直接调用这个实体。这种将设计实体分成内外部分的概念是VHDL系统设计的基本4.2 VHDL语言的特点1.用VHDL代码而不是用原理图进行设计,意味着整个电路板的模型及性能可用计算机模拟进行验证。2.VHDL元件的设计与工艺无关,与工艺独立,方便工艺转换。3.VHDL支持各种设计方法,自顶向下、自底

6、向上或者混合的都可以。4.可以进行从系统级到逻辑级的描述,即混合描述。5.VHDL区别于其他的HDL,已形成标准,其代码在不同的系统中可交换建模。5.总体设计5.1需求分析根据现代交通规则,汽车尾灯控制器应满足以下基本要求:1.汽车右转时,右侧的三盏灯循环点亮2.汽车左转时,左侧的三盏灯循环点亮3.汽车刹车时,左右两侧的指示灯同时亮4.汽车故障时,左右两侧的指示灯同时明灭闪烁5.2程序代码module weideng(nrst,haz,left,right,brake,lc,lb,la,ra,rb,rc,/*CLOCK_50*/clk,vga);input haz,left,right,bra

7、ke;/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:0idle=20b00_0000_0000_0001_000_000, l1=20b00_0000_0000_0010_001_000, l2=20b00_0000_0000

8、_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, bl2=20b00_0010_0000_0000_010_111, bl3=20b00_0100_0000_0000_100_111, br1=20b00_1000_0

9、000_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_pos=5d13, bl1_pos=5d14, bl2_pos=5d15, bl3_pos=5d16, br1_pos=5d17, br2_pos=5d18, br

10、3_pos=5d19; /store status always (posedge clk ,negedge nrst) begin vga=4b0001; if(!nrst) state=idle; else state=next_state; end /state transition * always (haz,left,right,brake) begin next_state=idle; case(1b1) stateidle_pos:if(left&haz&right&brake) next_state=l1; else if(right&haz&left&brake) next_

11、state=r1; else if(brake|haz|left&right) next_state=full; else next_state=idle; statel1_pos:if(brake) next_state=bl1; else if(haz&brake) next_state=full; else next_state=l2; statel2_pos:if(brake) next_state=bl1; else if(haz&brake) next_state=full; else next_state=l3; statel3_pos:next_state=idle; stat

12、efull_pos:if(brake) next_state=idle; else next_state=full; stater1_pos:if(brake) next_state=br1; else if(haz&brake) next_state=full; else next_state=r2; stater2_pos:if(brake) next_state=br1; else if(haz&brake) next_state=full; else next_state=r3; stater3_pos:next_state=idle; statebr1_pos:if(brake) n

13、ext_state=r1; /else if(brake&haz) /next_state=full; else next_state=br2; statebr2_pos:if(brake) next_state=r1; /else if(brake&haz) /next_state=full; 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&haz) /next_state=f

14、ull; else next_state=bl2; statebl2_pos:if(brake) next_state=l1; /else if(brake&haz) /next_state=full; else next_state=bl3; statebl3_pos:if(brake) next_state=l1; else next_state=bl1; default:next_state=idle; endcase end /output logic assign la=state3, lb=state4, lc=state5, ra=state2, rb=state1, rc=st

15、ate0;/2hz clock /* divn # (.WIDTH(25), .N(25000000) CLOCK_50 u0 ( .clk(CLOCK_50), .rst_n(nrst), .o_clk(cp) ); */endmodule6.网表.管脚.实验箱电路.设计总结通过一个星期的设计,最后完成了我的设计任务汽车尾灯控制器的设计。通过本次课程设计的学习,我体会到设计课的重要性和目的性。本次设计课不仅仅培养了我们实际操作能力,也培养了我们灵活运用课本知识,理论联系实际,独立自主的进行设计的能力。它不仅仅是一个学习新知识新方法的好机会,同时也是对我所学知识的一次综合的检验和复习,使我明白了自己的缺陷所在,从而查漏补缺。希望学校以后多安排一些类似的实践环节,让同学们学以致用。在设计中要求我要有耐心和毅力,还要细心,稍有不慎,一个小小的错误就会导致结果的不正确,而对错误的检查要求我要有足够的耐心,通过这次设计和设计中遇到的问题,也积累了一定的经验,对以后从事集成电路设计工作会有一定的帮助。 .

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1