毕业设计(论文):汽车尾灯电路的FPGA实现.doc
第1章 绪论1.1 课题背景随着科技时代的进一步发展,人们的生活也在飞速改变,各种家用电器和设备正以极快的速度进入寻常百姓家。汽车作为一种很重要的生活工具也没有例外地深入到人们生活的方方面面。人们正以极大的热情努力的工作并享受由此而带来的种种便利,汽车作为高消费的生活和生产资料,在满足了人们的出行方便的同时,人们更加注重汽车本身的舒适性、可控性、便捷性和安全性。而作为汽车行车很重要的一部分车灯控制方式很是重要。而作为汽车控制的各种操作,几乎都反映在灯的明亮和熄灭上,也是可以起到警告的作用。而作为尾灯,它有着很大的作用,无论是行车之中还是车辆在驻留的时候,都是必须有各种不同的反映的,于是,汽车尾灯的设计是很重要的。而基于传统的机械和纯电路的控制方式,由于它完全取决于尾灯系统所采用的硬件来保证它的正常工作,而一旦电路老化或者因为机械振动而引起的接触问题以及机械元件变形而不能及时触发电路电源开关,这类问题是经常发生,而除了选用更好的硬件系统元件几乎没有别的可靠的方法来进行避免这类故障的发生,于是,选用智能型的元件来进行系统的设计,增加系统的稳定性和可控制性是非常必须的。而随着EDA技术的日益成熟,有电路自动控制车尾灯的方式是可行的。基于EDA系统的电路控制方式是可靠的和可以预测的控制方式,其安全性很高,属于智能控制的范畴。于是,在汽车上实行这种车灯控制方式是一种变化和进步,增加了汽车行车安全性,降低了汽车的故障率。1.2 研究的目的及意义目的是一方面使我们能够进一步理解课程内容,基本掌握EDA技术和系统知识,增加集成电路应用知识,培养我们的实际动手能力以及分析、解决问题的能力。另一方面也可以是我们更好地巩固和加深对基础知识的理解,学会设计中小型数字系统的方法,独立完成调试过程,增强我们理论联系实际的能力,提高电路分析和设计能力。通过实践引导我们在理论指导下有所创新,为专业课的学习和日后工程实践奠定基础。通过设计,一方面可以加深我们对理论知识的理解,另一方面也可以提高我们考虑问题的全面性,将理论知识上升到一个实践的阶段。基于本课题的研究具有极大的实用性和可操作性,在实际的应用中有广泛的意义,用于汽车车灯控制系统的电路,可以极大地提高汽车的安全性和驾驶的舒适性,降低了车的故障率和危险发生的概率。具有实际的应用价值,故研究本课题。1.3 EDA的发展历程及应用1.3.1 EDA的发展历程随着集成电路和计算机技术的飞速发展,EDA(Electronic Design Automation)应运而生,它是一种高级、快速、有效的电子设计自动化技术。EDA技术以计算机为工具,代替人完成数字系统的逻辑综合、布局布线和设计仿真等工作。设计者只需要完成对系统功能的描述,然后就可以由计算机来处理这些描述,得到设计结果,修改设计也很方便。利用EDA工具进行设计,可以极大的提高设计效率。EDA技术的发展经历了一个由浅到深的过程。20世纪70年代,随着中小规模集成电路的开发与应用,传统的手工制图设计电路板和集成电路的方法已经无法满足设计精度和效率的要求,因此人们开始进行二维平面图形的计算机辅助设计,以便解脱繁杂、机械的版图设计工作,这就是第一代的EDA工具。到了20世纪80 年代,为了适应电子产品在规模和制作上的要求,出现了以计算机仿真和自动布线为核心技术的第二代EDA 技术,其特点是以软件工具为核心,通过这些软件完成产品开发的设计、分析、仿真、测试等各项工作。20世纪90 年代后,随着EDA技术继续发展,出现了以高级语言描述、系统级仿真和综合技术为特征的第三代EDA技术,通常也称为ESDA(Electronic System Design Automation)阶段。在这个阶段,人们开始追求贯彻整个设计过程的自动化,可以从繁重的设计工作中彻底解放出来,把精力集中在创造性的方案与概念构思上,从而可以提高设计效率,缩短产品的研制周期。1.3.2 EDA技术的概念EDA是电子设计自动化(Electronic Design Automation)的缩写,在20世纪90年代初从计算机辅助设计(CAD)、计算机辅助制造(CAM)、计算机辅助测试(CAT)和计算机辅助工程(CAE)的概念发展而来的。EDA技术就是以计算机为工具,设计者在EDA软件平台上,用硬件描述语言HDL完成设计文件,然后由计算机自动的完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。1.3.3 EDA的应用硬件语言编译工具逻辑综合工具功能分析工具布局布线工具版图生成工具形式验证工具半导体厂ICASIC设计用户需求功能定义逻辑综合工具功能分析工具布局布线工具时序分析工具编程下载工具可编程PLDSOC设计原理图编辑工具网表生成工具布局布线工具规则检查工具电子兼容分析工具热分析工具制板商PCBPCB设计图1.1 EDA技术应用范围EDA技术应用范围见图1.1。当代的EDA技术应用于电子设计的方方面面。从一个角度来看,EDA技术可粗略分为系统级、电路级和物理实现级三个层次的辅助设计过程;从另一个角度来看,EDA技术应包括电子设计的各个领域:从低频电路到高频电路、从线形电路到非线形电路、从模拟电路到数字电路、从分立元件电路到集成电路的全部设计过程。具体来说,EDA技术大体分为三方面的应用:(1)ASIC(Application Specific Integrated Circuit,专用集成电路)设计。(2)SOC(System On a Chip,系统芯片)设计。(3)PCB(Printed Circuit Board,印刷电路板)设计。可以说如果没有EDA技术,今天的电子设计就没办法进行。1.3.4 Verilog硬件描述语言随着EDA技术的飞速发展,也由于集成电路大规模、高密度、高速度的要求,产生了一种新的设计方法,那就是采用硬件描述语言来设计数字电路。Verilog HDL(Verilog Hardware Description Language)作为IEEE工业标准的硬件描述语言的一种,不仅定义了语法,而且对每个语法结构都定义了清晰的模拟、仿真语义,而且Verilog语言从C语言中继承了多种操作符和结构。所以如果有C语言的基础,那么可以非常快的掌握Verilog HDL的设计方法。因此对于初学者来说,使用Verilog HDL进行电子设计是比较好的。通过使用结构级或行为级描述可以在不同的抽象层次描述设计。Verilog HDL采用自顶向下的数字电路设计方法主要包括行为领域、结构领域、物理领域这三个领域和系统级、算法级、积存器传输级、逻辑级和电路级这五个抽象层次。Verilog HDL是并发的,即具有在同一时刻执行多任务的能力。一般来讲编程语言是非并行的,但在实际硬件中,许多操作都是在同一时刻发生的,所以Verilog HDL具有并发的特征。Verilog HDL有时序的概念,一般来讲编程语言是没有时序概念的,但在硬件电路中从输入到输出总是有延迟存在的。为描述这些特征,Verilog HDL语言需要建立时序的概念,因此使用Verilog HDL除了可以描述硬件电路的功能外,还可以描述其时序要求。1.4 基于EDA的FPGA/CPLD开发随着数字集成电路和EDA技术的发展,设计与制造集成电路的任务已不完全由半导体厂商来独立承担。系统设计师们更愿意自己设计专用集成电路(ASIC)芯片,而且希望ASIC的设计周期尽可能短,最好是在实验室里就能设计出合适的ASIC芯片,并且立即投入实际应用之中,因而出现了现场可编程逻辑器件,其中应用最广泛的属现场可编程门阵列和复杂可编程逻辑器件。现场可编程门阵列FPGA(Field Programmable Gate Array)是20世纪80年代中期,由美国Xilinx公司首先推出的大规模可编程逻辑器件。由于FPGA器件采用标准化结构,体积小、集成度高、功耗低、速度快,可无限次反复编程,已成为开发电子产品的首选器件。运算器、乘法器、数字滤波器等具有复杂算法的逻辑单元和信号处理单元的逻辑设计都可选用FPGA来实现。Xilinx公司和Altera公司最新开发的先进IP CORE(IP核),使FPGA在EDA和DSP技术领域的应用更加方便。复杂可编程逻辑器件CPLD(Complex Programmable Logic Device)是20世纪90年代可擦除的可编程逻辑器件EPLD(Erasable Programmable Logic Device)的改进器件。其具有更大的与阵列和或阵列,有大量的宏单元和布线资源。高速的译码器、多位计数器、寄存器、时序状态机、网络适配器、总线控制器等较大规模的逻辑设计可用CPLD来实现。FPGA/CPLD 本身作为一种新器件,可以由用户自行规定器件的逻辑功能,将大量的电路功能集成到一个芯片中,提高了系统的集成度和可靠性。另一方面, FPGA/CPLD的设计方法又是采用EDA 的设计方式,是从手工设计到电子设计自动化的变换桥梁。1.5 本课题研究内容FPGA/CPLD现在应用的非常广泛,其作为集成电路的一个研究方向,非常重要,而我们在这方面开展的学习并不多。本文作为一个探讨性的论文,为以后进行更深入的研究打下基础,本课题主要研究以下一些内容。首先,学习并基本掌握Verilog HDL的设计方法。然后,研究掌握汽车尾灯设计基本工作原理与设计方案。接下来,能够在MAX+PLUS II平台上使用Verilog HDL进行简单的电路设计。最后,使用GW48-CK系统进行汽车尾灯电路的FPGA验证。第2章 研究内容与设计原理2.1 本课题的研究内容 根据实际情况分析,本课题研究的汽车尾灯控制器满足以下基本要求:(1) 当汽车正常行驶时,汽车所有尾灯均不亮;(2) 当汽车左转弯时, 汽车左侧的尾灯L1亮;(3) 当汽车右转弯时, 汽车右侧的尾灯R1亮;(4) 当汽车刹车时, 汽车所有尾灯都亮;(5) 当汽车在特殊控件控制情况下行驶时,汽车左侧的尾灯L3和右侧的尾灯R3亮。2. 2 设计思路刹车控制信号特殊控件行驶信号根据系统设计要求,系统采用自顶向下的设计方法,顶层设计采用原理图的设计方法如图2.1所示:右转弯控制信号左转弯控制信号主控选择模块右侧灯选择控制模块左侧灯选择控制模块LD2RD2RD3RD1LD3LD1 图2.1 顶层设计原理图的设计方法2.3设计方案应用VHDL进行自顶向下的设计,是采用可完全独立于目标器件芯片物理结构的硬件描述语言。就是使用VHDL模型在所有综合级别上对硬件设计进行说明、建模和仿真测试。其设计流程如图2.2所示:(1)设计说明书(6)逻辑综合(2)建立VHDL行为模块型(7)测试向量生成(3)VHDL行为仿真(8)功能仿真(4)VHDL-RTL级建模(5)前端功能仿真设计完成(11)硬件测试(9)结构综合(10)门级时序仿真 图2.2 应用VHDL进行自顶向下设计流程由于VHDL设计的可移植性、EDA平台的通用性以及与具体硬件结构的无关性,使得前期的设计可以容易的应用于新的设计项目,而且项目设计的周期可以显著缩短。且还具有简单易行的特性。本课题关于汽车尾灯控制电路主要由几大部分组成:显示驱动电路、译码电路、计数电路、开关控制电路、二极管模拟控制尾灯电路等。主电路主要是通过开关控制汽车尾灯的点亮方式,主要由74138译码器和74161计数器,以及与非门等器件构成。主电路包括向左转和向右转两大部分电路。由于汽车正常行驶、左转弯、右转弯、刹车和在特别控件控制下行车时,所有灯点亮的次序和是否点亮是不同的,所以可以用74138译码器对输入的信号进行译码,从而得到一个低电平输出,再由这个低电平控制一个74161计数器,计数器输出为高电平时就点亮不同的尾灯,从而控制尾灯按实际需要的要求点亮。由此得出在每种运行状态下,各指示灯与给定条件间的关系,即逻辑功能表如下表2.1所示。汽车尾灯控制电路设计总体框图如图2.3所示。表2.1 汽车尾灯和汽车运行状态功能表开关控制汽车运行状态右转尾灯左转尾灯S2S1 S0R1R2R3L1L2L30 0 0正常运行灯灭灯灭0 0 1 左转弯灯灭左侧灯L1亮0 1 0右转弯右侧灯R1亮灯灭0 1 1刹车所有尾灯同时亮1 0 0特别控件行车 右侧灯R3和左侧灯L3同时亮开关控制电路译码74138显示驱动电路R1R2R3 L1L2L3计数电路图2.3 汽车尾灯控制电路设计总体框图2.3.1 74LS138介绍74LS138 为3 线8 线译码器,共有 54/74S138和 54/74LS138 两种线路结构型式,其工作原理如下:当一个选通端(G1)为高电平,另两个选通端(/(G2A)和/(G2B))为低电平时,可将地址端(A、B、C)的二进制编码在一个对应的输出端以低电平译出。利用 G1、/(G2A)和/(G2B)可级联扩展成 24 线译码器;若外接一个反相器还可级联扩展成 32 线译码器。若将选通端中的一个作为数据输入端时,74LS138还可作数据分配器。74LS138芯片图形如图2.4所示。图2.4 74 LS138芯片第3章 系统软件设计与仿真本课题汽车尾灯设计实现的方法就是通过开关控制所设计的电路,从而来实现汽车尾灯不同的点亮方式。达到最终的目的。3.1本课题主程序设计3.1.1 功能分析根据状态功能表2.1所介绍。当汽车正常行驶时,汽车尾灯开关控制信号为S2=“0”、S1=“0”、S0="0",汽车所有尾灯灭。当汽车左转弯时,汽车尾灯开关控制信号为S2=“0”、S1=“0”、S0="1",汽车左侧尾灯L1亮。当汽车右转弯时,汽车尾灯开关控制信号为S2=“0”、S1=“1”、S0="0",汽车右侧尾灯R1亮。当汽车刹车时,汽车尾灯开关控制信号为S2=“0”、S1=“1”、S0="1",汽车所有尾灯同时亮。当汽车在特殊控件控制情况下行驶时,汽车尾灯开关控制信号为S2=“1”、S1=“0”、S0="0",汽车左侧尾灯L3和右侧尾灯R3亮。3.1.2 数据入口 S2,S1,S0: 开关控制信号;3.1.3 数据出口 L1: 左侧尾灯L1; L2: 左侧尾灯L2; L3: 左侧尾灯L3; R1: 右侧尾灯R1; R2: 右侧尾灯R2; R3: 右侧尾灯R3;3.14 具体实现程序LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY CL IS PORT(S2,S1,S0: STD_LOGIC_VECTOR(3 DOWNTO 0); L1,L2,L3,R1,R2,R3:OUT STD_LOGIC);END ENTITY CL; ARCHITECTURE CTRL OF CL IS BEGIN PROCESS(S2,S1,S0) BEGIN IF(S2="0" AND S1="0" AND S0="0")THEN L1<='0'L2<='0'L3<='0' R1<='0'R2<='0'R3<='0' ELSIF(S2="0" AND S1="0" AND S0="1")THEN L1<='1'L2<='0'L3<='0' R1<='0'R2<='0'R3<='0' ELSIF(S2="0" AND S1="1" AND S0="0")THEN L1<='0'L2<='0'L3<='0' R1<='1'R2<='0'R3<='0' ELSIF(S2="0" AND S1="1" AND S0="1")THEN L1<='1'L2<='1'L3<='1' R1<='1'R2<='1'R3<='1' ELSIF(S2="1" AND S1="0" AND S0="0")THEN L1<='0'L2<='0'L3<='1' R1<='0'R2<='0'R3<='1' END IF; END PROCESS; END ARCHITECTURE CTRL;3.2 MAX+PLUS II软件介绍MAX+PLUS II(Multiple Array Matrix and Programmable Logic User System II)是Altera公司推出的的第三代PLD开发系统。使用MAX+PLUS II的设计者不需精通器件内部的复杂结构。设计者可以用自己熟悉的设计工具(如原理图输入或硬件描述语言)进行设计,MAX+PLUS II把这些设计自动换成最终所需的格式,其设计速度非常快。对于一般几千门的电路设计,使用MAX+PLUS II,从设计输入到器件编程完毕,用户拿到设计好的逻辑电路,大约只需要几小时。设计处理一般在几分钟内完成。特别是在原理图输入等方面,MAX+PLUS II被公认为是最易使用,人机界面最友善的PLD开发软件。MAX+PLUS II对硬件软件要求低,既能在高速的大型机或工作站上使用,也可以在个人计算机上使用,既适用于UNIX,又适用于Windows操作系统。其以强大的逻辑综合能力及布局布线能力见长,它主要有以下一些技术特点:(1) 广泛的适用范围。MAX+PLUS II除支持Altera公司的FLEX10K、FLEX8000、MAX9000、MAX7000、FLASHlogic、MAX5000、Classic系列PLD外,对其他公司的主要芯片也可进行良好的设计开发。(2) 与器件结构独立。MAX+PLUS II提供了与器件结构独立的设计环境和综合能力,用户可以在设计过程中不考虑具体的结构。(3) 通用性强。MAX+PLUS II的设计环境是开放的,是符合工业标准的EDA软件,它提供了与主流的各种EDA工具便捷的无缝接口。(4) 兼容性好。MAX+PLUS II可与其他工业标准设计输入、综合与校验工具链接。(5) 集成度与自动化程度高。MAX+PLUS II的设计输入、处理与校验功能一起提供了全集成化的一套可编程逻辑开发工具。(6) 拥有强大的帮助系统。MAX+PLUS II 的帮助系统功能完善,有丰富的图表与设计实例,为设计带来很大方便。MAX+PLUS II作为FPGA应用软件中比较典型和常见的一种工具,主要有以下一些模块:(1) Hierarchy Display:层次显示。层次化显示当前项目中的设计文件。(2) Graphic Editor:电路图编辑器。当设计输入为电路图输入时,用于编辑电路原理图。(3) Symbol Editor:电路符号编辑器。编辑电路的“黑盒子”符号,用于电路原理图的层次化设计。(4) Text Editor:文本编辑器。编辑文本,用于设计输入为硬件描述语言。(5) Waveform Editor:波形编辑器。编辑激励波形,用于产生仿真的激励波形以及仿真结束后观察结果波形。(6) Floorplan Editor:底层映射图编辑器。观察一个电路设计经编译后在所选器件中的映射结果,必要时也可对其进行编辑。(7) Compiler:编译器。编译一个当前设计项目,它包括了对一个设计(电路图/硬件描述)的语法检查、仿真数据库的建立、逻辑综合、向器件单元的映射、提供延迟信息、编辑文件的生成等各种处理,是MAXPLUS II软件的核心。(8) Simulator:电路模拟器。对编译后的电路进行模拟:因为编译后的电路已经映射到实际器件中,故该模拟是“后模拟”。(9) Time Analyzer:时序分析器。对当前编译后的电路进行时序分析:包括做以下3种分析:延迟矩阵(Delay Matrix)分析,即分析各个源节点和目标节点之间的传播延迟;建立/保持矩阵(Set Up/Hold Matrix)分析,即分析信号所需的最小建立/保持时间;时序电路性能(Registered Performance)分析,即分析电路的最高工作频率等性能。(10) Programmer:编程器。将当前编译后的电路写入实际的可编程器件中。(11) Message Processor:信息处理器。显示、定位以上各工具运行时产生的信息,如编译过程中的出错、警告信息等。可以看出,MAX+PLUS II为数字系统的设计与开发提供了设计输入、编译处理、性能分析、功能验证以及器件编程等开发环节所需的各种程序,是Altera公司最成熟技术的集大成者,功能非常全面,可适用的器件非常广泛。3.3程序编译与波形仿真(1)MAX+plus,点击File新建New文本编辑器Text Editor file,输入原始程序,按Save保存后。编译通过得到如图3.1所示: 图 3.1 程序编译通过结果(2)选择命令菜单MAX+PLUS /Waveform Editor, 弹出一个Untitled-Waveform Editor无标题的波形编辑窗口。(3)输入信号节点。选择菜单命令Node/Enter Nodes form SNF, 弹出Enter Nodes form SNF对话框。单击 list按钮,则Avaliable Node&Groups栏目中列出所有信号节点。单击向右箭头(=>) ,把选中的需要观察的节点送到Selected Nodes&Groups栏目中,如图3.2所示。单击OK按钮,即可看见输入、输出信号出现在波形编辑窗口中。此时波形编辑窗口中,所有编辑的输入节点的波形都默认为逻辑低电平;输出和隐埋节点波形都默认为不定状态。 图3.2 列出并选择需要观察的信号节点 (4)设置波形参量。在为波形窗口的计数器的输入信号设定相关的仿真参数,如图3.4所示,在Option菜单中消去网格对齐项Snap to Grid前面的“,以便能够任意设置输入电平位置,或设置输入时钟信号的周期。 图3.3 在Option菜单中取消Snap to Grid 的选择3.4 系统设计电路仿真与波形分析根据设计要求,设计仿真电路如下:图3.4是汽车左转弯时的控制电路。 图3.4 汽车左转弯时的控制电路汽车左转弯波形仿真结果如图3.5所示:图3.5汽车左转弯波形仿真结果仿真波形分析:如图3.5所示,当汽车尾灯开关控制信号为S2=“0”、S1=“0”、S0="1"时,汽车左侧尾灯L1亮。汽车左转弯、右转弯的控制电路如图3.6所示:图3.6汽车左右转弯时的控制电路汽车右转弯仿真波形如图3.7所示: 图3.7 汽车右转弯时的波形仿真右转弯仿真波形分析:如图3.7所示,当汽车尾灯开关控制信号为S2=“0”、S1=“1”、S0="0"时,汽车右侧尾灯R1亮。汽车左转弯、右转弯和刹车时的控制电路如图3.8所示:图3.8 汽车左右转弯和刹车时的控制电路汽车刹车时的仿真波形如图3.9所示:图 3.9 汽车刹车时的仿真波形汽车刹车时的仿真波形分析:如图3.9所示,当汽车尾灯开关控制信号为S2=“0”、S1=“1”、S0="1"时,汽车所有尾灯同时亮。 汽车左转弯、右转弯、刹车和在特殊控件行驶下的控制电路如图3.10所示: 图3.10汽车左转弯、右转弯、刹车和在特殊控件行驶下的控制电路汽车在特殊控件行驶时的波形仿真如图3.11所示: 图3.11 汽车在特殊控件行驶时的波形仿真汽车在特殊控件行驶时的波形仿真分析:如图3.11所示,当汽车尾灯开关控制信号为S2=“1”、S1=“0”、S0="0"时,汽车左侧尾灯L3和右侧尾灯R3亮。 为了精确测量计数器输入输出之间的延时,可以打开时序分析器。选择MAX+PLUSTiming Analyzer项,弹出Timing Analyzer,如图3.12所示。单击Timing Analyze窗口中的START按钮,延时信息即可显示在图表Delay Matrix中。其中左排的排列是输入信号,上排列出输出信号,中间是对应的延时量,这个延时量是针对所选定的目标器件的。 图3.12 延时时序分析窗第4章 汽车尾灯电路的FPGA实现4.1 GW48型EDA实验系统的介绍GW48型EDA实验开发系统广泛应用于数字电路课程设计的硬件验证。GW48型EDA实验开发系统有以下特点:(1)该EDA实验开发系统设有通用在系统编程下载ASIC器件,可对Lattice、Xilinx、Altera、Vantis、Atmel和Cypress世界六大PLD商和各种isp编程下载方式或现场配置的FPGA/CPLD各系列器件进行识别、实验或开发;主系统板与目标芯片板采用接插式结构,动态电路结构自动切换工作方式,可自动切换12种实验电路结构模式。图4.1 GW48-CK型EDA实验开发系统实物图(2)GW48系列具备对不同芯核电压(5V、3.3V、1.8V、1.5V)的FPGA/CPLD器件进行实验、开发和编程下载。(3)该实验开发系统除具有丰富的实验资源外,还扩展了A/D、D/A、VGA视频、PS/2接口、RS232通信、单片机独立用户系统编程下载接口、50MHz高频时钟源以及数字频率计。在上面可完成大量基于FPGA/CPLD的各类电子设计和数字系统设计实验与开发项目,其中包括如移位寄存器、加法器、减法器、乘法器、除法器、序列检测器、脉宽调制器、数控分频器、数字频率合成器、数字滤波器、硬件乐曲演奏器、电子琴等数字系统设计项目。图4.1为GW48-CK型EDA实验开发系统实物图。图中“1”为电路结构选择按钮,可以选择不同的电路结构进行实验。这种“电路重构软配置”设计方案的好处有很多,比如可以适应更多的实验与开发项目、适应更多的PLD公司的器件、适应更多的不同封装的FPGA和CPLD器件等。“2”为并口下载口,使用ByteBlaster下载电缆,一般FLEX、MAX等器件进行在系统编程时常用这个连接。“3”为电源接口,提供使该系统能正常工作所需要的电能。“4”为发光二极管和数码管,用来显示实验结果。“5”为实验信号控制键,在不同的电路结构模式下与主系统的连接方式不同,可产生单脉冲、高低电平、16进制信号、琴键式信号等。“6”时钟频率选择模块,通过短路帽的不同接插方式,使目标芯片获得不同的时钟频率信号。“7”为目标芯片。本系统板上使用的是FLEX10K系列的EPF10K10LC84芯片,结构如本章最后的图4.7所示。FLEX是Flexible Logic Element Matrix的英文缩写,全称是“灵活的逻辑单元矩阵”。包括FLEX10K、FLEX10KA、FLEX10KB、FLEX10KE、FLEX8000、FLEX6000系列器件,它们都采用同样的内部设计结构。4.2电路的布局布线打开MAX+PLUS II ,进入汽车尾灯电路设计工程,选中菜单栏的“Assign”中的“Device”进行目标芯片的选择。如图4.2所示。 图4.2 选择目标芯片然后选中菜单栏的“Assign”中的“Pin/Location/Chip”进行目标芯片引脚的配置。如图4.3所示。 图4.3 目标芯片引脚的配置4.3电路的下载与测试当所有前期工作都做好后,就可以向芯片中下载程序并进行硬件实际校验了。使用MAX+PLUS II的“Compiler”模块对汽车尾灯电路的Verilog程序进行编译。编译完成后就可以进入下载阶段了。选择“Programmer” 模块,然后选中菜单栏的“Options”中的“Hardware Setup”进行下载方式及下载端口的设置。“Hardware Type”选“ByteBlaster(MV)”方式。如图4.4所示。然后就可以点击图中的“Configure”可以进行下载了。图4.4 下载方式的选择下载完成后,就可以进行汽车尾灯电路的测试了。首先是汽车左转时尾灯状态的测试。测试结果如图4.5所示。当键一按下去,即左转按钮按下时,左边的的L1灯闪亮。 图4.5 汽车左转时尾灯状态的测试结果然后是汽车右转时尾灯状态的测试。测试结果如图4.6所示。当键二按下去,即右转按钮按下时,右边R1灯开始闪亮。图4.6汽车右转时尾灯状态的测试结果当汽车正常行驶时,所有尾灯全灭图4.7 EPF10K10LC84芯片结构示意图表4.1信号名对照表输入信号按键信号脚引脚号S2键1PIO05S1键2PIO16S0键3PIO27表4.2 尾灯和引脚对照表输出灯信号脚引脚号L1D1PIO121L2D2PIO222L3D3PIO323R1D4PIO61R2D5PIO72R3D6PIO834.3.1硬件测试具体结果(1)按亮键3,D1灯闪亮,表示车辆左转。(2)按亮键2,D4灯闪亮,表示车辆右转。(3)按亮键2、键3,所有尾灯都亮,表示车辆刹车。(4 ) 按亮键1,D3和D6灯长亮,表示车辆在特殊控件控制下行驶。综上,硬件测试结果满足方案中的功能要求。结 论EDA技术已经成为电子设计的重要工具,并且应用于电子设计的各个方面。Verilog HDL作为一种顺应EDA发展潮流的设计方法,得到了迅速的发展。使用Verilog HDL可以用于复杂数字逻辑电路和系统的总体仿真、子系统仿真和具体电路综合等各个设计阶段。随着个人电脑平台上的EDA工具的发展,个人电脑平台上的Verilog HDL仿真综合性能已相当优越,这就为大规模普及这种新技术铺平了道路。本文重点探讨了以下一些方面:(1) 介绍了本课题的发展背景及对EDA的发展、Verilog HDL的一些特点和FPGA在EDA中的应用做了详细的介绍。(2) 详细的讲解了汽车尾灯电路的设计思路和步骤,并且给出了功能仿真的结果,同时也给出了设计的源程序。(3) 介绍了GW48型EDA实验开发系统,以及基于FLEX10K10LC84芯片使用该系统进行电路实际校验的步骤与方法。由于学习时间短,对EDA的研究以及使用Verilog HDL进行电子设计的方法并不是钻研的很透彻,但是通过一段时间的学习,已经基本掌握了使用Verilog HDL进行电子设计的步骤,为以后继续研究EDA技术打下了基础。参考文献1 汪金爱,刘达. EDA技术与FPGA应用A. 今日电子,2004:76.2 朱彩莲,杨洋. EDA技术的发展与应用R. 萍乡:萍乡高等专科学校学报,2004:4.3 孙鹏,陈景. 数字电子技术基础与设计M .大连:大连理工大学出版社,2004:45.4 王长宏,陈朝阳,邹雪城,应建华. Verilog HDL设计实例及其仿真与综合R. 电子工程师,2001:1920.5 赵立民,于海雁,胡庆,庞杰. 可编程逻辑器件与数字系统设计M. 北京:机械工业出版社,2003:45.6 东方人华,王建坤. MAX+PLUS II入门与提高M. 北京:清华大学出版社,2004:45.7 陈庆文. 用Verilog HDL 语言进行数字电路设计A. 微波与卫星通信,1996:4243.8 褚振勇,翁木云. FPGA设计及应用M. 西安:西安电子科技大学出版社,2002:7.9 谭会生 .EDA技术基础M. 长沙:湖南大学出版社,2008.10 Samir Palnitkar. Verilog HDL:A Guide to Digital Design and Synthesis,Second Edition. Prentice Hall PTR 2003:251254.11 钱培怡,于德泳. 数字逻辑电路的描述及模块化综合方法J. 系统工程与电子技术. 2002,24(3):1617.12 Altera. ByteBlasterMV Connections. ByteBlasterMV Parallel Port Download Cable. 1999.(6):12.13 卢杰,赖毅.vhdl与数字电路设计M.北京:科学出版社,2001.14 Altera. Installing the ByteBlasterMV Download Cable. ByteBlasterMV Download Cable User Guide. 2004.(7):1314.15 郑家龙,王小海.集成电子技术基础教程M.北京:高等教育出版社,2002.16 曹昕燕,周凤臣,聂春燕.EDA技术实验与课程设计M.北京:清华大学出版社,2006.致 谢毕业设计是对我们知识运用能力的一次全面的考核,也是对我们进行科学研究基本功的训练,培养我们综合运用所学知识独立的分析问题和解决问题的能力,为以后撰写专业学术论文和工作打下良好的基础。经过一段时间的忙碌和工作,本次设计终于能够顺利完成,作为一个本科生的毕业设计,由于经验的匮乏,难免有许