《EDA技术应用》课程设计报告专业:通信工程班级:09312班姓名:某某某指导教师:杨祖芳曾凡忠2012年05月20日目录1引言 (1)1.1设计的目的 (1)1.2设计的基本内容 (1)2 EDA、VHDL简介 (1)2.1EDA技术 (1)2.2硬件描述语言(VHDL) (2)3汽车尾灯控制器的设计过程 (3)3.1系统需求分析 (3)3.2汽车尾灯控制器的工作原理 (3)3.3各组成模块原理及程序 (4)4系统仿真 (9)4.1分频模块仿真及分析 (9)4.2汽车尾灯主控模块仿真及分析 (10)4.3左边灯控制模块仿真及分析 (11)4.4右边灯控制模块仿真及分析 (12)4.5整个系统仿真及分析 (13)结束语 (15)指导老师意见 (16)参考书目 (16)1引言随着人们生活水平的提高,汽车的消费量越来越大。
因为人们也越来越忙,不管是夜晚还是阴雨、大雾等天气原因的影响,人们都开着车在纵横交错的马路上行驶。
为了提高人们因夜晚或因天气原因在纵横交错的马路上驾驶的安全系数,也是为了减少交通事故的发生。
我们采用了先进的EDA技术,Quartus Ⅱ工作平台和VHDL语言,设计了一种基于FPGA的汽车尾灯控制系统,并对系统进行了仿真机验证。
这一控制电路,结构简单、性能稳定、操作方便、抗干扰能力强。
将它应用于现代汽车,不受黑夜或大雾、阴雨天气因素的影响,可以提高安全行驶,避免交通事故的发生。
真正的让消费者驾驶汽车的方便和安全。
1.1 设计的目的其一、设计一个能适应现代汽车智能化发展要求的汽车尾灯控制电路。
改善以前的汽车尾灯控制系统,降低汽车尾灯控制器的生产成本。
其二、学好VHDL 这门硬件描述语言,加深对VHDL语言知识的理解和掌握,提高学习能力和创新能力,使自己适应不断发展的21世纪。
1.2 设计的基本内容根据计算机中状态机原理,利用VHDL设计汽车尾灯控制器的各个模块,并使用EDA 工具对各模块进行仿真验证。
汽车尾灯控制器的设计分为4个模块:时钟分频模块、汽车尾灯主控模块,左边灯控制模块和右边灯控制模块。
把各个模块整合后就形成了汽车尾灯控制器。
通过输入系统时钟信号和相关的汽车控制信号,汽车尾灯将正确显示当前汽车的控制状态。
2 EDA、VHDL简介2.1 EDA技术EDA技术的概念EDA是电子设计自动化(Electronic Design Automation)的缩写,在20世纪90年代初从计算机辅助设计(CAD)、计算机辅助制造(CAM)、计算机辅助测试(CAT)和计算机辅助工程(CAE)的概念发展而来的。
EDA技术就是以计算机为工具,设计者在EDA软件平台上,用硬件描述语言HDL完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。
EDA技术的特点利用EDA技术进行电子系统的设计,具有以下几个特点:①用软件的方式设计硬件;②用软件方式设计的系统到硬件系统的转换是由有关的开发软件自动完成的;③设计过程中可用有关软件进行各种仿真;④系统可现场编程,在线升级;⑤整个系统可集成在一个芯片上,体积小、功耗低、可靠性高。
因此,EDA技术是现代电子设计的发展趋势。
EDA设计流程典型的EDA设计流程如下:1、文本/原理图编辑与修改。
首先利用EDA工具的文本或图形编辑器将设计者的设计意图用文本或图形方式表达出来。
2、编译。
完成设计描述后即可通过编译器进行排错编译,变成特定的文本格式,为下一步的综合做准备。
3、综合。
将软件设计与硬件的可实现性挂钩,是将软件转化为硬件电路的关键步骤。
4、行为仿真和功能仿真。
利用产生的网表文件进行功能仿真,以便了解设计描述与设计意图的一致性。
5、适配。
利用FPGA/CPLD布局布线适配器将综合后的网表文件针对某一具体的目标器件进行逻辑映射操作,其中包括底层器件配置、逻辑分割、逻辑优化、布局布线。
适配报告指明了芯片内资源的分配与利用、引脚锁定、设计的布尔方程描述情况。
6、功能仿真和时序仿真。
7、下载。
如果以上的所有过程都没有发现问题,就可以将适配器产生的下载文件通过FPGA/CPLD下载电缆载入目标芯片中。
8、硬件仿真与测试。
2.2 硬件描述语言(VHDL)VHDL简介VHDL(Very-High-Speed Integrated Circuit Hardware Description Language)主要用于描述数字系统的结构,行为,功能和接口。
除了含有许多具有硬件特征的语句外,VHDL的语言形式和描述风格与句法是十分类似于一般的计算机高级语言。
VHDL的程序结构特点是将一项工程设计,或称设计实体(可以是一个元件,一个电路模块或一个系统)分成外部(或称可是部分,及端口)和内部(或称不可视部分),既涉及实体的内部功能和算法完成部分。
在对一个设计实体定义了外部界面后,一旦其内部开发完成后,其他的设计就可以直接调用这个实体。
这种将设计实体分成内外部分的概念是VHDL系统设计的基本点。
VHDL语言的特点1.用VHDL代码而不是用原理图进行设计,意味着整个电路板的模型及性能可用计算机模拟进行验证。
2.VHDL元件的设计与工艺无关,与工艺独立,方便工艺转换。
3.VHDL支持各种设计方法,自顶向下、自底向上或者混合的都可以。
4.可以进行从系统级到逻辑级的描述,即混合描述。
5.VHDL区别于其他的HDL,已形成标准,其代码在不同的系统中可交换建模。
3汽车尾灯控制器的设计过程3.1系统需求分析根据现代交通规则,汽车尾灯控制器应满足以下基本要求:1.汽车正常使用是指示灯不亮2.汽车右转时,右侧的一盏灯亮3.汽车左转时,左侧的一盏灯亮4.汽车刹车时,左右两侧的指示灯同时亮5.汽车夜间行驶时,左右两侧的指示灯同时一直亮,供照明使用3.2汽车尾灯控制器的工作原理汽车尾灯控制器就是一个状态机的实例。
当汽车正常行驶时所有指示灯都不亮;当汽车向右转弯时,汽车右侧的指示灯RD1亮;当汽车向左侧转弯时,汽车左侧的指示灯LD1亮;当汽车刹车时,汽车右侧的指示灯RD2和汽车左侧的指示灯LD2同时亮;当汽车在夜间行驶时,汽车右侧的指示灯RD3和汽车左侧的指示灯LD3同时一直亮。
通过设置系统的输入信号:系统时钟信号CLK,汽车左转弯控制信号LEFT,汽车右转弯控制信号RIGHT,刹车信号BRAKE,夜间行驶信号NIGHT 和系统的输出信号:汽车左侧3盏指示灯LD1、LD2、LD3和汽车右侧3盏指示灯RD1、RD2、RD3实现以上功能。
系统的整体组装设计原理如图3.1(a)以及系统设计整体框图如图3.1(b )所示。
图3.1(a )系统的整体组装设计原理3.3各组成模块原理及程序汽车尾灯控制器有4个模块组成,分别为:时钟分频模块、汽车尾灯主控模块,左边灯控制模块和右边灯控制模块,以下介绍各模块的详细设计。
时钟分频模块整个时钟分频模块的工作框图如图3.2。
图3.2时钟分频模块工作框图时钟分频模块由VHDL 程序来实现,下面是其中的一段VHDL 代码:ARCHITECTURE ART OF SZ IS CLKCP图3.1(b )SIGNAL COUNT:STD_LOGIC_VECTOR(7 DOWNTO 0);BEGINPROCESS(CLK)BEGINIF CLK'EVENT AND CLK = '1'THENCOUNT <= COUNT + 1;END IF;END PROCESS;CP<= COUNT(3);END ART;汽车尾灯主控模块汽车尾灯主控模块工作框图如图3.3(a)所示以及工作原理框图3.3(b)。
CTRLLEFT LPRIGHT RPBRAKE LRNIGHT BRAKE_LEDNIGHT_LED图3.3 (a)主控模块工作框图图3.3 (b)主控模块工作原理框图数据入口:RIGHT:右转信号;LEFT:左转信号;BRAKE:刹车信号;NIGHT:夜间行驶信号;数据出口:LP:左侧灯控制信号;RP:右侧灯控制信号;LR:错误控制信号;BRAKE_LED:刹车控制信号;NIGHT_LED:夜间行驶控制信号;汽车尾灯主控模块由VHDL程序来实现,下面是其中的一段VHDL代码:ARCHITECTURE ART OF CTRL ISBEGINNIGHT_LED<=NIGHT;BRAKE_LED<=BRAKE;PROCESS(LEFT,RIGHT)V ARIABLE TEMP:STD_LOGIC_VECTOR(1 DOWNTO 0);BEGINTEMP:=LEFT & RIGHT;CASE TEMP ISWHEN "00" =>LP<='0';RP<='0';LR<='0';WHEN "01" =>LP<='0';RP<='1';LR<='0';WHEN "10" =>LP<='1';RP<='0';LR<='0';WHEN OTHERS=>LP<='0';RP<='0';LR<='1';END CASE;END PROCESS;END ART;左边灯控制模块左边灯控制模块的工作框图如图3.4(a)所示以及工作原理框图3.4(b)。
图3.4(a)左边灯控制模块的工作框图图3.4(b)左边灯控制模块的工作原理框图数据入口:CLK:时钟控制信号;LP:左侧灯控制信号;LR:错误控制信号;BRAKE:刹车控制信号;NIGHT:夜间行驶控制信号;数据入口:LEDL:左侧LD1灯控制信号;LEDL:左侧LD2灯控制信号;LEDN:左侧LD3灯控制信号;左边灯控制模块由VHDL程序来实现,下面是其中的一段VHDL代码:ARCHITECTURE ART OF LC ISBEGINLEDB<=BRAKE;LEDN<=NIGHT;PROCESS(CLK,LP,LR)BEGINIF CLK'EVENT AND CLK = '1' THENIF(LR ='0')THENIF(LP = '0')THENLEDL<='0';ELSELEDL<='1';END IF;ELSELEDL <='0';END IF;END IF;END PROCESS;END ART;右边灯控制模块右边灯控制模块的工作框图如图3.5(a)所示以及工作原理框图3.5(b)。