1、汽车尾灯控制电路的PLD实现课程设计522020年4月19日文档仅供参考目 录1 引 言11.1课程设计背景11.2可编程逻辑器件的应用41.3可编程逻辑器件的发展方向51.4 EL-ARM-820型教学实验系统介绍62 理论基础92.1 FPGA/CPLD概述92.2 VHDL语言概述112.3 Max Plus II概述133 汽车尾灯控制器详细设计163.1设计方案163.2设计思路183.3模块设计184汽车尾灯控制器的仿真244.1控制模块的仿真244.2检查模块的仿真244.3刹车模块的仿真254.4左转模块的仿真254.5右转模块的仿真265 小 结27参考文献28附录:设计源程
2、序清单29汽车尾灯控制电路的PLD实现 摘 要 本课题主要是基于可编程逻辑器件,使用硬件描述语言VHDL,采用“自顶向下”的设计方法,编写一个汽车尾灯控制器的芯片,并使用Max Plus II软件仿真结果。本文首先介绍了可编程逻辑器件的发展过程,然后对于编写汽车尾灯控制器相关的理论知识作了说明,接着主要讲解了汽车尾灯控制器的设计思路与模块划分。把汽车尾灯控制器划分为五大模块,组合起来实现了汽车尾灯的检查功能,刹车功能,左转功能,右转功能,总体控制等五项基本功能。最后,使用Max Plus II仿真软件对每个模块和主程序分别进行了结果仿真,并对仿真出来的结果作了分析,实验中采用EL-ARM-82
3、0型教学实验系统。关键词 可编程逻辑器件;数字逻辑系统;硬件描述语言;汽车尾灯 The Accomplishment of Automobile Taillight PLD Control CircuitAbstract: This topic mainly is according to Programmable Logic Device, the usage hardware description language VHDL, the design method of the adoption from top to bottom, write a chip of auto tailli
4、ght controlled, and use the Max Plus II software to imitate a true result. This text introduced the development process of the programmable logic device first, then for related theories knowledge of the auto taillight controller to make elucidation, mainly explained in detail the design way of think
5、ing and the mold piece of the auto taillight controller to divide the line. Divide the line the auto taillight controller as the five greatest molds piece, set the examine that put together to carry out a auto taillight, brake function, left move function, right move function, collectivity control f
6、unction. At last, used the Max Plus II software to be respectively carry on imitate to each mold piece and the main procedure really, and made analysis towards imitate truly result, experiments with EL-ARM-820 type teaching system.Key words: PLD; Digital Logic System; VHDL; Automobile Taillight1 引 言
7、当今社会是数字化的社会,也是数字集成电路广泛应用的社会,数字电路本身在不断地进行更新换代。它由早期的电子管、晶体管、小中规模集成电路发展到超大规模集成电路(VLSIC)以及许多具有特定功能的专用集成电路。可是,随着微电子技术的发展,设计与制造集成电路的任务已不完全由半导体厂商来独立承担。系统设计师们更愿意自己设计专用集成电路(ASIC)芯片,而且希望ASIC的设计周期尽可能的短,最好是在实验室里就能设计出合适的ASIC芯片,而且立即投入实际应用之中,因而出现了现场可编程逻辑器件(FPLD),其中应用最广泛的当属现场可编程门阵列(FPGA)和复杂可编程逻辑器件(CPLD)。比较典型的就是Xili
8、nx公司的FPGA器件系列和Altera公司的CPLD器件系列,它们开发较早,占用较大的PLD市场。当前,Altera系列产品在中国使用较多。VHDL的全名是Very High Speed IC Hardware Description Language (极高速集成电路硬件描述语言)。它是一种应用较为广泛的HDL语言,能对范围广泛的各种复杂的网络(如电路系统、印刷电路板、芯片、逻辑门等)在不同的抽象级加以描述,而且在整个设计过程中可使用同一种语言。采用VHDL作为HDL综合设计的优点有:标准语言,即设计者可在不同的环境(例如MAX PLUS II)下进行设计;仿真和综合均可采用同一种语言进行
9、;VHDL中提供的大量的模块资源,简化了设计者的开发工作;由VHDL描述的源文件既是程序软件又可作为设计的文档。当前可编程逻辑器件(PLD)已有含单片高达100000等效门的器件出现,可实现复杂的数字系统。当系统规模不太大时,原理图输入方式描述还较适宜,但系统比较复杂时,它将难以快速有效地建立描述文件。VHDL语言能方便地进行数字系统描述,且能使逻辑综合产生更大的设计密度。正是高效VHDL技术与高密度PLD的结合使用,大大降低了复杂数字系统的设计难度,提高了工作效率。本文介绍了CPLD与FPGA逻辑器件的基本知识和相关的软件MAX PLUS II及硬件编程语言VHDL。主要论述了一个汽车尾灯控
10、制器从设计思路到系统仿真的整个设计过程。1.1课程设计背景随着科技时代的进一步发展,人们的生活也在飞速改变,各种家用电器和设备正以极快的速度进入寻常百姓家。汽车作为一种很重要的生活工具也没有例外地深入到人们生活的方方面面。人们正以极大的热情努力的工作并享受由此而带来的种种便利,汽车作为高消费的生活和生产资料,在满足了人们的出行方便的同时,人们更加注重汽车本身的舒适性、可控性、便捷性和安全性。而作为汽车行车很重要的一部分车灯控制方式很是重要。而作为汽车控制的各种操作,几乎都反映在灯的明亮和熄灭上,也是能够起到警告的作用。而作为尾灯,它有着很大的作用,无论是行车之中还是车辆在驻留的时候,都是必须有
11、各种不同的反映的,于是,汽车尾灯的设计是很重要的。而基于传统的机械和纯电路的控制方式,由于它完全取决于尾灯系统所采用的硬件来保证它的正常工作,而一旦电路老化或者因为机械振动而引起的接触问题以及机械元件变形而不能及时触发电路电源开关,这类问题是经常发生,而除了选用更好的硬件系统元件几乎没有别的可靠的方法来进行避免这类故障的发生,于是,选用智能型的元件来进行系统的设计,增加系统的稳定性和可控制性是非常必须的。而随着集成电路和计算机技术的飞速发展,电子设计自动化已经发展成为能够代替设计者完成电子系统设计的重要工具。电子设计自动化系统包含专用集成电路、数字信号处理和单片机等方向,其中数字专用集成电路的
12、一个重要分支就是可编程逻辑器件(PLD)。基于PLD的电路控制方式是可靠的和能够预测的控制方式,其安全性很高,属于智能控制的范畴。于是,在汽车上实行这种车灯控制方式是一种变化和进步,增加了汽车行车安全性,降低了汽车的故障率。PLD(Programmable Logic Device)是可编程逻辑器件的总称,PLD基本上能够完成任何数字器件的功能,从高性能CPI到简单集成电路,均能够用PLD实现。经过传统的原理图输入,或是硬件语言的描述就能够自由地设计具备某种功能的数字系统:利用软件仿真功能,能够检验设计的正确性;利用PLD的在线修改能力,能够在不必改动硬件电路的基础上进行修改设计。具备设计时间
13、短,PCB面积小,系统的可靠性强等特点。当前,在通信、自动控制、信息处理等诸多领域发挥着重要的作用。简单介绍可编程逻辑器件的发展历程。自上世纪60年代以来,数字集成电路经历了从小规模集成电路(SSI)、中规模集成电路(MSI)、大规模集成电路(LSI)到超大集成电路(VLSI)的发展过程。期间,微电子技术迅猛发展,集成电路的集成规模几乎以平均每 12 年翻一番的速度快速增长。集成电路技术的发展也带来了设计方法的进步,先进的 EDA(电子线路设计自动化)技术将传统的“自下而上”的设计方法改变为“自上而下”的设计方法,利用计算机技术,设计者在实验室里就能够设计出合适的 ASIC(专用集成电路)芯片
14、以满足特定电路的需要。作为ASIC的重要分支,可编程逻辑器件即PLD因其成本低、使用灵活、设计周期短、可靠性高且风险小而得到普遍应用,发展非常迅速。PLD始于上世纪 70 年代,当前已形成了许多类型的产品,其结构、工艺、集成度、速度和性能等都在不断提高和改进。一般情况下,我们可按集成度对其分类,详见图 1.1所示:可编程逻辑器件(PLD)简单PLD复杂PLDPROMPLAPALGALCPLDFPGA图 1.1可编程逻辑器件集成度分类最早的PLD是1970年制成的PROM(可编程只读存储器),它由固定的与阵列和可编程的或阵列组成。它采用熔丝工艺编程,只能写一次,不能擦除和重写,图1.2 为用PR
15、OM完成的半加器逻辑阵列,其中“”为固定连接,“*”为可编程连接。其逻辑表示式为:F0=A0A1+A0A1F=A0A1图1.2用PROM完成的半加器20世纪70年代中期,出现了可编程逻辑阵列(PLA),它由可编程的与阵列和可编程的或阵列组成。PLA解决了PROM当输入变量增加时会引起存储容量迅速增加的问题,但价格较贵,编程复杂,支持PLA的开发软件有一定难度,因而没有得到广泛应用。20世纪70年代末期美国MMI公司率先推出可编程阵列逻辑(PAL),它由可编程的与阵列和固定的或阵列组成,采用熔丝编程方式,双极工艺制造,器件的工作速度很高,PAL的输出结构种类很多,设计灵活,成为第一个得到广泛应用
16、的PLD。20世纪80年代初,Lattice公司创造了通用阵列逻辑(GAL),这是一种可电擦写、可重复编程而且可设置加密的PLD。它采用了输出逻辑宏单元(OLMC)的形式和 E2CMOS工艺,比PAL使用更加灵活,可取代大部分SSI和MSI数字集成电路。由于GAL是在PAL基础上设计的,能与许多种PAL器件保持兼容,可直接替代,因此当前在很多产品上仍有广泛应用。上述几种可编程逻辑器件由于阵列规模较小,片内寄存器资源不足,不够灵活,编程不便,当前只有GAL在中小规模数字逻辑方面还在应用。而现在的可编程逻辑器件以大规模、超大规模集成电路工艺制造的CPLD和FPGA为主。CPLD即复杂可编程逻辑器件
17、,当前主要的半导体公司如Xilinx,Altera,Lattice和AMD等都有各自的CPLD产品。作为CPLD器件,至少应包含三种结构:可编程逻辑宏单元,可编程I/O单元,可编程内部连线。1.2可编程逻辑器件的应用随着电子技术的高速发展,今天的CPLD和FPGA器件在集成度、功能和性能(速度及可靠性)方面已经能够满足大多数场合的使用要求用CPLD,FPGA等大规模可编程逻辑器件取代传统的标准集成电路、接口电路和专用集成电路已成为技术发展的必然趋势。PLD在电子技术领域中的应用主要有以下三个方面。1在微机系统中的应用CPLD/FPGA能够取代现有的全部微机接口芯片,实现微机系统中的地址译码、总
18、线控制、中断及DMA控制、DRAM管理和I/O接口电路等功能。利用CPLD/FPGA能够把多个微机系统的功能集成在同一块芯片中,即进行所谓的“功能集成”。2在通信领域中的应用现代通信系统的发展方向是功能更强、体积更小、速度更快、功耗更低。CPLD/FPGA在集成度、功能和速度上的优势正好满足通信系统的这些要求。因此现在无论是民用的转弯动电话、程控交换机、集群电台、广播发射机和调制解调器,还是军用的雷达设备、图像处理设计、遥控遥测设备、加密通信机都已广泛地使用大规模可编程逻辑器件。3在数字信号处理技术(DSP)领域中的应用DSP在很多领域内具有广泛的用途,如雷达、图像处理、数据压缩、数字电视和数
19、字通信机等。随着DSP系统复杂程度和功能要求的提高,用DSP解决方案愈现出其缺陷性:实时性不强、灵活性太差,不适合在实验室或技术开发等场合使用等。现在,CPLD/FPGA为DS提供了解决问题的方案,CPLD/FPGA和DSP的技术结合,能够在集成度、速度(实时性)和系统功能方面满足DSP的需要。应用CPLD/FPGA设计DSP系统能够减少系统体积,提高系统的工作速度。例如,用FPGA能够将一块PC机长卡大小的图像处理板缩小到一块FPGA芯片和几片外围电路上。可编程逻辑器件是逻辑器件家族中发展最快的一类器件,可编程逻辑器件的出现使得其产品开发周期缩短、现场灵活性好、开发风险变小,随着工艺、技术及
20、市场的不断发展,PLD产品的价格将越来越便宜、集成度越来越高、速度越来越快,再加上其设计开发采用符合国际标准的、功能强大的通用性EDA工具,可编程逻辑器件的应用前景将愈来愈广阔,CPLD/FPGA以其不可替代的地位,将越来越受到业内人士的关注。PLD在ASIC设计中也存在着广泛的应用。可编程逻辑器件是在ASIC(专用型集成电路application specific integrated circuit)设计的基础上发展起来的,在ASIC设计方法中,一般采用全定制和半定制电路设计方法,设计完成后如果不能满足要求,就得重新设计再进行验证这样就使得设计开发周期变长,产品上市时间难以保证,大大增加了
21、产品的开发费用。CPLD/FPGA芯片是特殊的ASIC芯片,它们除具有ASIC的特点之外,还具有自身的优势。当前,ASIC的容量越来越大,密度已达到平均每平方英寸1 百万个门电路。但随着密度的不断提高,芯片则受到引脚的限制,片上芯片虽然很多,但接入内核的引脚数目却是有限的。而选用CPLD/FPGA则不存在这样的限制,因为现在可达到的金属层数目增强了产品的优势,CPLD/FPGA芯片的规模越来越大,其单片逻辑门数已达到上百万门,实现的功能也越来越强,同时能够实现系统集成。另外,与ASIC相比,可编程逻辑器件研制周期较短,先期开发费用较低,也没有最少订购数量的限制,所有这一切简化了库存管理。随着每
22、个门电路成本的降低和每个器件中门电路数量的增加,可编程逻辑器件正在大举打入传统的门阵列领域,并已有少量的打入了标准单元ASIC的领域。1.3可编程逻辑器件的发展方向Altera以MAX CPLD确定了全新的发展方向最大的复杂可编程逻辑器件(CPLD)供应商。Altera公司日前发布了新款MAX 器件系列,这是业界最低的CPLD,MAX系列的核心是新的体系结构,它大大地降低了成本和功耗Altera在近十五年PLD的领导地位和创新的基础上,推出了业界成本最低的CPLD。MAX器件的成本是CPLD的一半,它采用了新的查找表(LUT)体系,因此每个I/O管脚的成本是市面上最低的,而且开创了CPLD 体
23、系的新纪元Altera摒弃了传统的宏单元体系采用了查找表(LUT)结构满足CPLD设计者的需求“基于LUT 的体系采用TSMC的0.18Lm嵌入Flash工艺,使其裸片尺寸是同样工艺下竞争器件的四分之一,大大减小的裸片尺寸使得成本比上一代MAX降低了50%。新的体系采用了为其优化的交错环形I/O管脚,进一步降低了成本,这样公司的产品将具有更大的成本优势MAX系列和上一代MAX产品相比,成本降低了一半,功耗只有其十分之一,同时保持MAX系列原有的即用性、单芯片、非易失性和易用性,MAX器件系列采用TSM成本优化的1.8V,0.18Lm以及六层金属Flash 工艺,而且新的系列容量翻了两番,性能是
24、上一代MAXCPLD的两倍多采用MAX 器件,大批量消费类、通信、工业和计算设计的工程师能够用MAX器件替代更昂贵和不够灵活的小型ASIC和ASSP。”1.4 EL-ARM-820型教学实验系统介绍EL-ARM-820型嵌入式实验开发系统适合高等院校嵌入式系统原理开发与设计课程的实验教学,能够移植linux、uclinux、VxWorks、pSOS、QNX、ucosII、Windows CE等嵌入式操作系统,适合嵌入式系统的实验教学、课题开发、毕业设计及电子设计竞赛等,同时该系统也是电子工程师们理想的开发工具。实验箱如图1.3所示。图1.2EL-ARM-820型教学实验箱EL-ARM- 820
25、型教学实验系统属于一种综合的教学实验系统。系统采用实验箱底板加活动CPU板的形式。实验箱底板资源丰富。CPU板可选择ARM7和ARM9。同时,实验系统上的Tech-V总线和E-lab总线能够扩展Tech-V系列和E-lab系列功能模块,极大增强系统的功能,用户也能够基于Tech-V总线和E-LAB总线开发自己的应用模块,完成自己的课题。除此之外,实验系统提供丰富的样例实验,而且提供操作系统移植的源代码,所有的实验程序都有丰富详尽的注释说明,极大的方便了教学。CPU板能够更换,支持五种CPU。该型号实验箱的一些基本技术参数如下:S3C44B0X(ARM7内核):主处理器:S3C44B0X(ARM
26、7TDMI内核),16bit数据总线,工作频率最高66MHz;外部存储器扩展:线性存储器:2MB,芯片SST39VF160;动态存储器:16MB,芯片HY57V641620;海量存储器:16MB,芯片K9F2808;10M Hz以太网接口,芯片RTL8019AS,支持plug and play功能; USB接口,符合USB 1.1规范口能够配置为Host或peripheral两种模式;标准的RS232接口;实时时钟(RTC) 单元;扩展总线接口,连接所有信号线,可进行应用背板扩展;标准20针JTAG调试接口;复位电路,电源、运行状态指示灯;直流5V单电源供电,含电源转换电路。S3C2410(A
27、RM9内核):主处理器:S3C2410(200 MIPS ARM920T内核);外部存储器扩展:64MB SDRAM、32MB的NANDFlash;10/100M自适应以太网接口;USB 1.1接口(Host或peripheral)两种模式;标准的RS232接口;实时时钟(RTC)单元;扩展总线接口,连接所有信号线,可进行应用背板扩展;标准20针JTAG调试接口;复位电路,电源、运行状态指示灯;直流5V单电源供电,含电源转换电路。XSCALE PXA255/270(ARM10内核):主处理器:INTEL公司 XSCALEPXA255 内核,400M主频,32Bit RISC处理器,具有32K指
28、令缓冲,32K数据缓冲,MMU单元,2k字节MiniCache,扩展多媒体DSP指令;存储器:SDRAM(64MB)能够定制扩展到256MB;FLASH:32MB,Intel Strata快速页面读取模式Flash,能够定制扩展到128MB;NANDFLASH:可扩展8MB64MB;10/100M以太网接口;USB 1.1接口(Host或peripheral)两种模式;标准的RS232接口;实时时钟(RTC)单元;扩展总线接口,连接所有信号线,可进行应用背板扩展;准20针JTAG调试接口;复位电路,电源、运行状态指示灯;直流5V单电源供电,含电源转换电路。实验箱底板:主要包括以下模块:CPU板
29、接口单元:可接ARM7,ARM9,ARM10等CPU板;数字量输入输出单元:输入:8位自锁按键开关;输出:8位数码管及8为发光二极管;PS/2扩展接口,可扩展PS/2扩展板,连接键盘鼠标;液晶显示单元:5.7寸彩色液晶屏,最大分辨率为320240、256色,采用彩色STN制式、CCFL背光;键盘接口单元为44键盘,带8位LED数码管,芯片HD7279A,用户可自定义键值;音频及接口模块:IIS格式芯片UDA1341TS,采样率最高48KHz,经过IIS总线和系统连接,一个立体声耳机输出(2.5mm外接耳机接口),一个立体声麦克输入(2.5mm外接耳机接口),一个音频信号输入(2.5mm外接耳机
30、接口); USB接口:1个主接口,两个设备接口,芯片SL811H/S、PDIUSBD12,支持 USB1.1协议);RS232通讯模块:标准RS232接口,完成与PC机的串行数据的转换;IIC总线接口;IDE接口:可外挂硬盘;SD卡接口:通信频率最高25MHz,芯片W86L388D,兼容MMC卡;A/D转换模块:芯片自带的8路10位A/D,满量程2.5V;步进电机控制模块:两相四拍式,步距角1.8,0.1A,用IO口线加隔离驱动电路直接控制;直流电机控制模块:直流电机能够利用PWM定时器输出进行隔离后驱动,中断反馈闭环控制;信号源单元:两路频率、幅值可调三角波、方波和正弦波。输出频率范围012
31、0KHz,幅值范围0+5V(最大);CPLD单元: 完成各资源所需的地址译码,片选信号,以及一些高低电平的模拟;电源模块单元:为系统提供+5V、+12V、-12V、+3.3V电源模块单元;信号扩展单元:达盛公司标准扩展总线,外扩所有信号接口,用户可进行功能扩展。在此实验箱上可开设的实验项目主要有以下几类:基于ARM系统资源的实验;基于uCOSII操作系统的ARM系统实验;基于uClinux操作系统的ARM系统实验;基于linux操作系统的ARM系统实验。EL-ARM- 820型教学实验系统有以下几个特点:1移植了当前最为流行的时时开放源码的双操作系统UC/OS-II及UCLINX,LINUX。
32、2CPU板能够更换为不同厂家的ARM7、ARM9的CPU板,而且CPU板能够单独使用。3硬件资源丰富:包括模拟信号发生器、数字量IO扩展、 RS232接口、USB接口、以太网接口、LCD显示单元、触摸屏单元、键盘接口等单元、PS/2接口单元、IDE接口、SD卡接口、直流电机、步进电机和温度控制单元。4经过Techv接口,能够进行系统功能扩展,方便用户进行二次开发。5提供源代码,而且实验程序都有详尽的注释说明,特别方便实验教学。在本课程设计中,主要仿真将在Max Plus II平台上进行模拟仿真,对仿真波形进行分析和判别。2 理论基础2.1 FPGA/CPLD概述随着数字集成电路的不断更新和换代
33、,特别是可编程逻辑器件的出现,使得传统的数字系统设计方法发生了根本的改变。可编程逻辑器件的灵活性使得硬件系统设计师在实验室里用一台计算机、一套相应的EDA软件和可编程逻辑芯片就能够完成数字系统设计与生产,而其中应用最广泛的可编程逻辑器件当属FPGA和CPLD。FPGA和CPLD都是可编程逻辑器件,它们是在PAL、CAL等逻辑器件的基础上发展起来的。同以往的PAL、CAL等比较,FPGA/CPLD的规模更大,它能够替代几十甚至几千块通用IC芯片。这样的FPGA/CPLD实际上就是一个子系统部件,因此它受到了世界范围内电子工程设计人员的广泛关注和普遍欢迎。FPGA是新一代面向用户的可编程逻辑器件它
34、的功能密度远远超过其它 PLD 器件,一块FPGA能够替代(100-200)片标准器件或者(20-40)片GAL器件,其I/O引脚数多达100 余条。因此一片 FPGA 芯片能够替代多个逻辑功能复杂的逻辑部件,或者一个小型数字系统。自FPGA问世以来,它已在许多领域获得了广泛的应用。逻辑单元型结构(LCA,Logic Cell Array)的FPGA由三部分组成,即逻辑单元阵列CLB(configurable logic block)、I/O单元、互联资源。这种类型结构的特点是经过对CLB编程实现逻辑功能;经过对I/O单元编程确定输入或输出结构;经过对互联资源编程实现 CLB之间、CLB与I/
35、O单元之间、I/O单元之间的互联关系,从而实现用户所需要的逻辑功能。PAL结构扩展型FPGA则是在PLA基础上加以改进和扩展,大幅度增加了寄存器数量和I/O引脚数,增设了可编程互联资源,改进了互联模式,改进了阵列结构使得芯片的利用率大大提高。CPLD器件的结构是一种与阵列可编程、或阵列固定的与或阵列形式。PAL、GAL都采用这种形式,但CPLD同它们相比,增加了内部连线对逻辑宏单元和I/O单元也有重大改进。一般情况下,CPLD器件中包含三种结构:可编程逻辑宏单元、可编程I/O单元、可编程内部连线。部分CPLD器件内还集成了RAM、FIFO或双口RAM等存储器,以适应 DSP应用设计的要求。CP
36、LD器件具有同FPGA器件相似的集成度和易用性,在速度上还有一定的优势,因此,在可编程逻辑器件技术的竞争中它与 FPGA并驾齐驱,成为两支领导可编程器件技术发展的力量之一。FPGA/CPLD之间存在一些区别,主要有如下几方面。CPLD与FPGA在价格、性能、逻辑规模和封装(包括EDA软件性能)等方面各有千秋,面对不同的开发项目,使用者应该作出最佳的选择,表2-1是对CPLD/FPGA在各个方面的比较。表2-1 CPLD与FPGA的区别器件比较点FPGACPLD结构工艺SRAMEPROM 或FLASH基本结构LUT 查找表乘积项PinPin 时延不定确定配算存储器需外挂ROM不需保密注论无保密性
37、可加密工作电压3.3V 或2.5V5V编程工艺经过PC 机并行口或专用编程器或单片机进行配置ISP 在线编程应用主要针对要求不是很高,设计逻辑较复杂的系统,适合于完成时序较多的逻辑电路主要针对速度要求高,但设计逻辑又不是很复杂的系统,适合于完成算术和组合逻辑FPGA/CPLD的特点主要有如下几方面:1CPLD/FPGA具有用户可编程的特性。利用CPLD/FPGA,电子系统设计工程师能够在实验室中设计出专用集成芯片,实现系统集成。缩短了产品的开发、上市时间,降低了开发成本。2CPLD/FPGA.具有静态可重复编程或在线动态重构特性,使硬件的功能可象软件一样经过编程来修改。不但使设计修改和产品升级
38、变得十分方便,而且极大地提高了电子系统的灵活性和通用能力。3固定长度的金属线进行各逻辑块的互连使得设计的逻辑电路具有时间可预测性,避免了分段式互连结构时序不完全的预测。4FPGA/CPLD.芯片在出厂之前都做过百分之百的测试,不需要设计人员承担风险和费用,只需在自己的实验室里经过在相关的软、硬件环境下完成芯片的最终功能。其投资小,并能够节省许多潜在的花费。5FPGA/CPLD.能以最快的速度占领市场。设计人员能够重复编程、擦除、使用,或者在外围电路不动的情况下用不同软件实现不同的功能。6设计师不可或缺的重要手段IP核。它将一些在数字电路中常见,但比较复杂的功能块,如FIR滤波器,SDRAM控制
39、器、PCI接口等设计成能够修改参数的模块,让其它用户能够直接调用这些模块,从而大大减轻了工程师的负担,避免了重复劳动。2.2 VHDL语言概述电子设计自动化(EDA)的关键技术之一是要求用形式化方法来描述数字系统的硬件电路。VHDL 硬件描述语言在电子设计自动化中扮演着重要的角色,她是EDA 技术研究的重点之一。硬件描述语言是EDA 技术的重要组成部分,VHDL 是作为电子设计主流硬件描述语言,VHDL(Very High Speed Integrated Circuit Hardware Description Language)于1983 年由美国国防部发起创立,由IEEE进一步发展并在1
40、987年作为IEEE标准10760发布。因此,VHDL成为硬件描述语言的业界标准之一。VHDL作为IEEE的工业标准硬件描述语言,得到众多EDA公司的支持,在电子工程领域,已成为事实上的通用硬件描述语言。VHDL语言具有很强的电路描述和建模能力,能从多个层次对数字系统进行建模和描述,从而大大简化了硬件设计任务,提高了设计效率和可靠性,使用VHDL语言,能够就系统的总体要求出发,自上而下地将设计内容细化,最后完成系统硬件的整体设计。一个完整的VHDL程序包括以下几个基本组成部分:实体(Entity),结构体(Architecture),程序包(Package),库(Library)。其中,实体是
41、一个VHDL程序的基本单元,由实体说明和结构体两部分组成,实体说明用于描述设计系统的外部接口信号;结构体用于描述系统的行为,系统数据的流程或系统组织结构形式。程序包存放各设计模块能共享的数据类型,常数,子程序等。库用于存放已编译的实体,机构体,程序包及配置。VHDL 语言的编译环境有不同的版本,我们应用的是Altera 公司的Maxplus 软件,它的操作顺序如下:使用TEXTEDITOR 编写VHDL 程序使用COMPILER 编译VHDL 程序;使用WAVE2FORMEDITOR,SIMULAROT 仿真实验;使用TIMINGANALTZER 进行芯片的时序分析;用FLOORPLANEDI
42、TOR 锁定芯片管脚位置;使用PROGRAMMER 将编译好的VHDL 程序下载到芯片中。VHDL 进行工程设计的优点是显而易见的。1与其它的硬件描述语言相比,VHDL 具有更强的行为描述能力,从而决定了她成为系统设计领域最佳的硬件描述语言。2VHDL 丰富的仿真语句和库函数,使得在任何大系统的设计早期就能查验设计系统的功能可行性,随时可对设计进行仿真模拟。3VHDL 语句的行为描述能力和程序结构决定了她具有支持大规模设计的分解和已有设计的再利用功能。符合市场需求的大规模系统高效、高速地完成必须有多人甚至多个代发组共同并行工作才能实现。4对于用VHDL 完成的一个确定的设计,能够利用EDA 工
43、具进行逻辑综合和优化,并自动的将VHDL 描述设计转变成门级网表。5VHDL 对设计的描述具有相对独立性,设计者能够不懂硬件的结构,也不必管理最终设计实现的目标器件是什么,而进行独立的设计。6用VHDL 语言编写的源程序便于文档管理,用源代码描述来进行复杂控制逻辑的设计,既灵活方便,又便于设计结果的交流、保存和重用。在VHDL 语言中,状态机有两种:莫尔型和米勒型。莫尔型状态机的输出仅是状态向量的函数,输出信号只和状态机所处的状态有关。图2.1 如下:CLKOUTPUTSINPUTSRES组合逻辑1寄存器组合逻辑2图2.1莫尔型状态机模型米勒型状态机的输出变化要领先一个时钟周期,它的输出既和当
44、前状态有关,又和所有输入信号有关。换句话说,在米勒型状态机中一旦输入信号发生变化或者状态发生变化,输出新好多将随之发生变化。图2.2 如下:OUTPUTSCLKRESINPUTS组合逻辑1寄存器图2.2米勒型状态机模型由于本设计的状态变化与输入信号有关,因此采用米勒型状态机。较好的解决了五种状态(复位状态,测试状态,设置状态,烹调状态,完成状态)之间的转化。程序中,首先使控制器处于复位状态,此时把所有信号清零,再根据输入信号转换状态。综上所述,VHDL 语言的极强的行为描述能力和丰富的仿真语句及库函数,决定了它具有支持大规模设计的分析和已有设计的再利用功能5和功能6,用VHDL完成一个确定的设
45、计,能够利用EDA 工具进行逻辑综合和优化,并自动把VHDL描述设计转变成门级网表。这种方式突破了门级设计的瓶颈,极大地减少了电路设计的时间和可能发生的错误,降低了开发成本。2.3 Max Plus II概述Max Plus II是美国Altera公司开发的软件,它具有操作系统的程序界面,采用全菜单操作和鼠标操作方式,是一个完全集成化,易学易用的可编程逻辑设计环境。它提供了功能强大,直观便捷和操作灵活的原理图输入设计功能,同时还配备了适用于各种需要的元件库,其中包含基本逻辑元件库(如与非门、反向器、触发器等),宏功能元件(包含了几乎所有74 系列的器件)以及功能强大、性能良好的类似于核的兆功能
46、块库,但更为重要的是它提供了使用方便,精度良好的时序仿真器,能够对系统中任一元件的功能进行精确的时序仿真,精度达0.1ns,非常准确。Max Plus II开发系统是一个完全集成化、易学易用的可编程逻辑器件设计和开发系统,它提供了一种真正与结构无关的可编程逻辑设计环境。它所提供的灵活性和高效性是无可比拟的,其丰富的图形界面,辅之以完整的、可即时访问的在线文档,使设计人员能够轻松、愉快地掌握和使用Max Plus II软件。Max Plus II支持灵活多样的输入方式:原理图输入、硬件描述语言输入、波形输入,以及层次设计输入。Max Plus II的设计输入、处理和校验功能全部集成在统一的开发环
47、境下,这样能够加快动态调试进程。它提供丰富的库单元供设计者使用,包括74系列的全部器件、多种特殊的逻辑宏功能(macro-function)和参数化功能模块(LPM: Library of Parameterized Modules),但更为重要的是Max Plus II还提供了原理图输入多层次设计功能,使得用户能设计更大规模的电路系统,以及使用方便、精度良好的时序仿真器。与传统的数字电路实验相比,Max Plus II提供灵活多样的层次化输入设计功能,具有显著的优势:1能进行任意层次的数字系统设计。传统的数字电路实验只能完成单一层次的设计,使设计者无法了解和实现多层次的硬件数字系统设计;2对
48、系统中的任一层次或任一元件的功能进行精确的时序仿真,精度达0.1ns,因此能发现对系统可能产生不良影响的竞争冒险现象;3经过时序仿真,能迅速定位电路系统的错误所在,并随时纠正;4能对设计方案进行随时更改,并储存设计过程中所有的电路和测试文件入档;5经过编译和下载,能在FPGA或CPLD上对设计项目随时进行硬件测试验证;6如果使用FPGA和配置编程方式,将不会有器件损坏和损耗问题;7符合现代电子设计技术规范。传统的数字电路实验利用手工连线的方法完成元件连接,容易对学习者产生误导,以为只要将元件间的引脚用引线按电路图连上即可,而不必顾及引线长短,粗细弯曲方式,可能产生的分布电感和电容效应,以及电磁兼容性等等十分重要的问题。Max Plus II还提供设计校验的仿真器,其中包括功能仿真和时序仿真。仿真器的灵活性很强电路设计完成后,需要验证电路设计的逻辑功能是否正确。这
©2010-2024 宁波自信网络信息技术有限公司 版权所有
客服电话:4008-655-100 投诉/维权电话:4009-655-100