出租车计价器的设计毕业论文.doc_第1页
出租车计价器的设计毕业论文.doc_第2页
出租车计价器的设计毕业论文.doc_第3页
出租车计价器的设计毕业论文.doc_第4页
出租车计价器的设计毕业论文.doc_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

天津理工大学中环信息学院2010届本科毕业设计说明书出租车计价器的设计毕业论文目 录前 言1第一章 可编程逻辑器件的发展与现状21.1 可编程逻辑器件和EDA技术的发展概况21.1.1 可编程逻辑器件的发展概况2112 EDA技术发展概况41.2 阵列型可编程逻辑器件61.2.1 简单PLD的基本结构6122 EPLD和CPLD的基本结构101.3 现场可编程门阵列(FPGA)13131 FPGA的分类13第二章 MAX+PLUS开发软件的使用152.1 MAX+PLUS的安装152.1.1 PC系统配置152.1.2 MAX+PLUS软件版本152.1.3 MAX+PLUS的安装152.1.4 第一次运行MAX+PLUS152.2 MAX+PLUS软件的认识162.2.1 启动MAX+PLUS162.2.2 MAX+PLUS的管理器162.2.3 使用MAX+PLUS开发可编程逻辑器件的基本步骤172.3 设计输入182.3.1 图形设计输入182.3.2 文本设计输入方法192.3.3 创建顶层设计文件192.3.4 层次显示192.3.5 编辑用户库192.4 设计项目的编辑192.4.1 编译前的准备202.4.2 运行编译器212.5 模拟仿真和定时分析212.6 器件编程25第三章 计价器的设计283.1功能要求283.2 计价电路的设计283.3 设计价格累加单元293.4显示电路的设计343.5下载实验363.6 组合逻辑电路的冒险现象373.6.1 竞争冒险产生的条件和原因373.6.2 解决竞争冒险的方法37结 论39参考文献40附录41致 谢42 第一章 可编程逻辑器件的发展与现状1.1 可编程逻辑器件和EDA技术的发展概况1.1.1可编程逻辑器件的发展概况自20世纪60年代以来,数字集成电路已经历了从SSI、MSI到LSI、VLSI的发展过程。20世纪70年代初以1K位存储器为标志的大规模集成电路(LSI)问世以后,微电子技术得到迅猛发展,集成电路的集成规棋几乎以平均每12年翻一番的惊人速度迅速增长。集成技术的发展也大大促进了电子设计自动化(EDA)技术的进步,20世纪90年代以后,由于新的EDA工具不断出现,使设计者可以直接设计出系统所需要的专用集成电路,从而给电子系统设计带来了革命性的变化。过去传统的系统设计方法是采用SSI、MSI标准通用器件和其它元件对电路板进行设计,由于一个复杂电子系统所需要的元件往往种类和数量都很多,连线也很复杂,因而所设计的系统体积大、功耗大、可靠性差。先进的EDA技术使传统的“自下而上”的设计方法,变为一种新的“自顶向下”的设计方法,设计者可以利用计算机对系统进行方案设计和功能划分,系统的关键电路可以采用一片或几片专用集成电路(ASIC)来实现,因而使系统的体积、重量减小,功耗降低,而且具有高性能、高可靠性和保密性好等优点。专用集成电路(ASICApplication Specific Integrated Circuit)是指专门为某一应用领域或为专门用户需要而设计、制造的LSI或VLSI电路,它可以将某些专用电路或电子系统设计在一个芯片上,构成单片集成系统。ASIC可分为数字ASIC和模拟ASIC,数字ASIC又分为全定制和半定制两种。全定制ASIC芯片的各层(掩膜)都是按持定电路功能专门制造的。设计人员从晶体管的版图尺寸、位置和互连线开始设计,以达到芯片面积利用率高、速度快、功耗低的最优性能,但其设计制作费用高,周期长,因此只适用于批量较大的产品。 半定制是一种约束性设计方式。约束的主要目的是简化设计、缩短设计周期和提高芯片成品率。目前半定制ASIC主要有门阵列、标准单元和可编程逻辑器件三种。 门阵列(Gate Array)是一种预先制造好的硅阵列(称母片),内部包括几种基本逻辑门、触发器等,芯片中留有一定的连线区。用户根据所需要的功能设计电路,确定连线方式,然后再交生产厂家布线。标准单元(Standard Cell)是厂家将预先配置好、经过测试具有一定功能的逻辑块作为标准单元存储在数据库中,设计人员在电路设计完成之后,利用CAD工具在版图一级完成与电路一一对应的最终设计。和门阵列相比,标准单元设计灵活、功能强,但设计和制造周期较长,开发费用也比较高。可编程逻辑器件(PLDProgrammable Logic)是ASIC的一个重要分支。与上述两种半定制电路不同,PLD是厂家作为一种通用型器件生产的半定制电路,用户可以通过,对器件编程使之实现所需要的逻辑功能。PLD是用户可配置的逻辑器件,它的成本比较低,使用灵活,设计周期短,而且可靠性高,承担风险小,因而很快得到普通应用发展非常迅速。可编程逻辑器件从20世纪70年代发展到现在,已形成了许多类型的产品,其结构、工艺、集成度、速度和性能等都在不断改进和提高。最早出现的可编程逻辑器件是1970年制成的PROM它由全译码的与阵列和可编程的或阵列组成。由于阵列规模大,速度低,因此它的主要用途还是作存储器。20世纪70年代中期出现了可编程逻辑阵列(PLAProgrammable Array)器件.它由可编程的与阵列和可编程的或阵列组成,虽然其阵列规模大为减少,提高了芯片的利用率,但由于编程复杂,支持PLA的开发软件有一定难度,因而也没有得到广泛应用。20世纪70年代末美国MMI公司(Monolithic Memories Inc,单片存储器公司)率先推出了可编程阵列逻辑(PLDProgrammable Array Logic)器件,它由可编程的与阵列和固定的或阵列组成,采用熔丝编程方式,双极型工艺制造,器件的工作速度很高。由于它的输出结构种类很多,设计很灵活,因而成为第一个得到普通应用的可编程逻辑器件。20世纪80年代初Lattice公司发明了通用阵列逻辑(GALGeneric Array Logic)器件,它在PAL的基础上进一步改进,采用了输出逻辑宏单元(OLMC)的形式和ECMOS工艺结构,因而具有可擦除、可重复编程、数据可长期保存和可重新组合结构等优点。GAL比PAL使用更加灵活,它可以取代大部分SSI、MSI和PAL器件,所以在20世纪80年代得到广泛应用。PAL和GAL都属于低密度PLD,其结构简单,设计灵活,但规模小,难以实现复杂的逻辑功能。20世纪80年代末,随着集成电路工艺水平的不断提高,PLD突破了传统的单一结构,向着高密度、高速度、低功耗以及结构体系更灵活,适用范围更宽的方向发展因而相继出现了各种不同结构的高密度PLD。20世纪80年代中期A1tera公司推出了一种新型的可擦除、可编程逻辑器件(EPLDErasable Programmable Logic Device),它采用CMOS和UVEPROM工艺制作,集成度比PAL和GAL高得多,设计也更加灵活,但内部互连能力比较弱。1985年Xilinx公司首家推出了现场可编程逻辑(FPGAField Programmable Gate Array)器件,它是一种新型的高密度PLD,采用CMOSSRAM工艺制作,其结构和阵列型PLD不同,内部由许多独立的可编程逻辑模块组成,逻辑块之间可以灵活地相互连接,具有密度高、编程速度快、设计灵活和可再配置设计能力等许多优点。FPGA出现后立即受到世界范围内电子设计工程师的普遍欢迎,并得到迅速发展。20世纪80年代末Lattice公司提出了在系统可编程技术以后,相继出现一系列具备在系统可编程能力的复杂可编程逻辑器件(CPLD-Complex PLD)。CPLD是在EPLD的基础上发展起来的,它采用ECMOS工艺制作,增加了内部连线,改进了内部结构体系因而比EPLD性能更好,设计更加灵活,其发展也非常迅速。20世纪90年代以后高密度PLD在生产工艺、器件的编程和测试技术等方面都有了飞速发展。例如CPLD的集成度一般可达数千甚至上万门,Altera公司推出的EPM9560,其单密度达到12000个可用门,包含多达50个宏单元,216个用户I0引脚,并能提供15ns的脚至脚延时,16位计数的最高工作频率为118MH2。AMD公司推出的MACH5系列产品,其单片密度最多达2万门,引脚到引脚的延时为75ns,构成计数器时最高工作频率达125MHz。目前CPLD的集成度最多可达25万个等效门,最高工作频率已达180MHz。可编程集成电路的线宽已广泛采用035um工艺,各厂家正在积极开发018um和05um工艺的器件。FPGA的门延时已小于3ns。Xilinx公司生产的FPGA从最初的1200个可利用门发展到现在已达25万个可利用门,规模已扩大了200多倍。在系统可编程技术、边界扫描技术的出现也使器件在编程技术和测试技术及系统可重构技术方面有了很快的发展。目前世界各著名半导体器件公司,如xilinx、Altera、Lattice和AMD Atmel等公司,均可提供不同类型的CPLD、FPGA产品,众多公司的竞争促进了可编程集成电路技术的提高,使其性能不断完善,产品日益丰富。可以预计,可编程逻辑器件将在结构、密度、功能、速度和性能等各方面得到进一步发展,并在现代电子系统设计中得到更广泛的应用。112 EDA技术发展概况电于设计自动化(EDA)技术是以计算机科学和微电子技术发展为先导汇集了计算机图形学、拓朴逻辑学、微电子工艺与结构学和计算数学等多种计算机应用学科最新成果的先进技术,它是在先进的计算机工作平台上开发出来的一整套电子系统设计的软件工具。从20世纪60年代中期开始,人们就不断开发出各种计算机辅助设计工具来帮助设计人员进行集成电路和电于系统的设计,集成电路技术的发展不断对EDA技术提出新的要求,并促进了EDA技术的发展。近30年来,EDA技术大致经历了三个发展阶段。1CAD阶段(20世纪60年代中期-20世纪80年代初期)这个阶段分别研制了一些单独的软件工具,主要有PCB布线设计、电路模拟、逻辑模拟及版图的绘制等,从而可以利用计算机将设计人员从大量繁琐、重复的计算和绘图工作中解脱出来。例如,目前常用的PCB布线软件TANGO及用于电路模拟的SPICE软件和后来产品化的IC版图编辑与设计规则检查系统等软件,都是这个时期的产品。20世纪80年代初由于集成电路规模越来越大,制作也越来越复杂,EDA技术有了较快的发展,许多软件公司进入市场,软件工具的产品开始增多。这个时期的软件主要还是针对产品开发分为设计、分析、生产、测试等多个独立的软件包。每个软件只能完成其中的一项工作,但如果通过顺序循环使用这些软件,完成设计的全程,还存在两个方面的问题:首先,由于各个软件工具是由不同的公司和专家开发的,只解决一个领域的问题,若将一个软件工具的输出作为另一个软件工具的输入,就需要人工处理,这往往很繁琐影响了设计速度;第二,对于复杂电子系统的设计,当时的EDA工具不能提供系统级的仿真与综合。由于缺乏系统级的设计考虑,常常在产品开发后期才发现设计有错误,此时再要进行修改十分困难。2CAE阶段(20世纪80年代初期-20世纪90年代初期)这个阶段在集成电路与电子系统设计方法学以及设计工具集成化方面取得了许多成果。各种设计工具,如原理图输入、编译与连接、逻辑模拟、测试码生成、版图自动布局以及各种单元库均已齐全。由于采用了统一数据管理技术,因而能够将各个工具集成为一个CAE系统。运用这种系统,按照设计方法学制定的某种设计流程,可以实现由RT级开始,从设计输入到版图输出的全程设计自动化。这个阶段中主要采用基于单元库的半定制设计方法。采用门阵列和标准单元法设计的各种ASIC得到了极大的发展,将集成电路工业推入了ASIC时代.多数CAE系统中还集成了PCB自动布局布线软件以及热特性、噪声、可靠性等分析软件、进而可以实现电子系统设计自动化。这个阶段典型的CAE系统有Mentor Graphics, Valid Daisy等公司的产品。3EDA阶段(20世纪90年代以来)20世纪90年代以来,微电子技术以惊人的速度发展,其工艺水平已达到深亚微米级,在一个芯片上可集成数百万乃至上千万只晶体管,工作速度可达到Gbs,这为制造出规模更大、速度和信息容量很高的芯片系统提供了基础条件。同时也对EDA系统提出了更高的要求,并大大促进了EDA技术的发展。20世纪90年代以后,主要出现了高级语言描述、系统仿真和综合技术为特征的第三代EDA技术,它不仅极大地提高了系统的设计效率,而且使设计者摆脱了大量的辅助性工作,格精力集中于创造性的方案与概念的构思上。这个阶段的EDA技术主要有以下特征。高层综合(High Level Synthesis HLS)的理论与方法取得进展,从而将EDA设计层次由RT且推级提高到了系统级(又称行为级)。并出了相应的行为级综合优化工具,大大缩短了复杂ASIC的设计周期,同时改进了设计质量。典型工具有Synopsys公司的Behavioral Compiler,Mentor Graphics公司的Monest和Renoir。采用硬件描述语言(Hardware Description Language, HDL)来描述10万门以上的设计,并形成了VHDL和Verilog HDL两种标准硬件描述语言。它们均支持不同层次的描述,使得复杂I C的描述规范化,使便于传递、交流、保存与修改,并可建立独立工艺的设计文档,便于设计重用。采用平面规划(Floorplaning)技术对逻辑综合和物理版图设计进行联合管理,做到在逻辑综合早期设计阶段就考虑到物理设计信息的影响。通过这些信息,设计者能进行更进一步的综合与优化,并保证所做的修改,只会提高性能而不会对版图设计带来负面影响。这对于深亚微米级布线延时已成为主要延时的情况下,加速设计过程的收敛与成功是有所帮助的。在Synopsys和Codence等公司的EDA系统中均采用了这项技术。可测性综合设计。随着ASIC的规模与复杂性的增加,测试的难度与费用急剧上升,由此而产生了将可测性电路结构做在ACIC芯片上的思想,于是开发了扫描插入、BLST(内建自测试)、边界扫描等可测性设计(DFT)工具,并已集成到EDA系统中。典型产品有Compass公司的Test Assistant,Mentor Graphics公司的LBLST Architect、BSDArchitect、DFT Advisor等。为带有嵌入P核的ASIC设计提供软、硬件协同设计工具。典型产品有Mentou Graphics公司的Seamless CVE(CoVerification Enviroment)等。建立并行设计工程框架结构的集成化设计环境以适应当今ASIC的如下特点:规模大而复杂;数字与模拟电路并存;硬件与软件设计并存;产品上市速度要快。该框架可以将不同公司的优秀工具集成为一个完整的EDA系统,并能在UNIX与WindowsNT两种平台之间实现平滑过渡。各种EDA工具在该框架中可以并行使用。通过统一的集成化设计环境,能够保证各个设计工具之间的相互联系与管理。在这种集成化设计环境中,使用统一的数据管理系统与完善的通讯管理系统由若干个相关的设计小组共享数据库和知识库,同时并行地进行设计。一旦系统设计完成,相应的电路设计、版图设计、可测性设计与嵌入软件的设计等也都基本上完成了。在Internet迅速发展的今天,ASIC设计所要用到的EDA工具和元件(IP模块)均可在网上流动。销售方可利用Internet传播其EDA工具与IP模块,ASIC设计人员可以在网上通过电子付款的方式选购设计工具与元件,从而使ASIC的设计变得迅速、经济、高效。此外,基于Internet的虚拟设计组亦已出现,因而可将世界范围内最优秀的设计人才资源恰当地组合起来,来解决日益复杂的电子系统设计问题。1.2 阵列型可编程逻辑器件1.2.1简单PLD的基本结构1PLD电路的表示方法因为PLD内部电路的连接规模很大,用传统的逻辑电路表示方法很难描述PLD的内部结构,所以对比D进行描述时采用了一种特殊的简化方法。PLD的输入、输出缓冲器都采用了互补输出结构,其表示法如图12所示。图12 PLD缓冲器表示法Fig. 1.2 PLD buffers that FrancePLD的与门表示法如图13(a)所示。图中与门的输入线通常画成行(横)线,与门的所有输入变量都称为输入项,并画成与行线垂直的列线以表示与门的输入。列线与行线相交的交叉处若有“”,表示有一个耦合元件固定连接;若有“”,则表示是编程连接;若交叉处无标记,则表示不连接(被擦除)。与门的输出称为乘积项P,图13(a)中与门输出PABD.或门可以用类似的方法表示,也可以用传统的方法表示,如图I3(b)所示。图13 PLD的与门表示法 或门表示法Fig. 1.3 PLD with doors or doors that France expressed France 图14是PLD中与f1的简略表示法,图中与门P1的全部输入项接通,因此P1AABB0,这种状态称为与门的缺省(Default)状态。为简便起见,对于这种全部输入项都接通的缺省状态,可以用带有“”的与门符号表示,如图中的P2PI0均表示缺省状态。P3中任何输入项都不接通,即所有输入都悬空,因此P31,也称为悬浮“1”状态。图14 PLD与门的简略表示法Fig. 1.4 PLD and doors briefly expressed France2简单PLD的基本结构简单PLD的基本结构框图如图15所示。团中,“与阵列”和“或阵列”是电路的主体,主要用来实现组合逻辑函数。输入电路由缓冲器组成,它使输入信号具有足够的驱动能力,并产生互补输入信号。输出电路可以提供不同的输出方式,如直接输出(组合方式)或通过寄存器输出(时序方式)。此外,输出端口上往往带有三态门,通过三态门控制数据直接输出或反馈到输入端。通常,PLD电路中只有部分电路可以编程或组态,PROM、PLA、PAL和GAL四种PLD电路主要是编程情况和输出结构不同,因而电路结构也不相同,表11列出了四种PLD电路的结构持点。图15 简单PLD的基本结构Fig. 1.5 The basic structure of simple PLD图16、图17和图18分别画出了PR0M、PLA和PAL(GAL)的阵列结构图。队这些阵列结构图可以看出,可编程阵列逻辑PAL和通用阵列逻辑GAL的基本门阵列结构相同,均为与阵列可编程,或阵列固定连接,也就是说,每个或门的输出是若干个乘积项之和,其中乘积项的数目是固定的。一般在PAL和GAL的产品中,最多的乘积项数可达8个。图1.6 PROM阵列结构 图1.7 FPLA阵列结构Fig. 1.6 PROM array structure Fig. 1.7 FPLA array structure 图1.8 PAL和GAL阵列结构 图 1.10 寄存器输出结构Fig. 1.8 PAL and GAL array structure Fig. 1.10 Register export structurePAL和GAL的输出结构却不相同。PAL有几种固定的输出结构,选定芯片型号后,其输出结构也就选定了。例如,产品PAL16L8属于组合型PAL器件,其芯片中每一个输出结构如图113所示。图中或门的输出最多可以包含7个乘积项,最上面的与门所对应的乘积项用来控制三态门的输出。当与门输出为“0”时,三态门禁止,输出呈高阻状态,IO引脚作为输入使用;当与门输出为“1”时,三态门被选通I/O引脚作为输出使用。两种情况下信号都可以通过右面的互补输出缓冲器反馈至与阵列的输入端。图113只画出了其中一个输出PALl6L8有8个输出,由于8个输出的时间有可能不一致,因此称为“异步IO输出结构”。又如,产品PALl6R8局于寄存器型(R代表Register)PAL器件,其芯片中每个输出结构如图110所示,它称为“寄存器输出结构”。当系统时钟(CL0CK)的上升沿来到后,或门的输出被存入D触发器,然后通过选通三态缓冲器再将它送至输出端,该输出Q是低电平有效,而且Q还可以反馈至与门阵列,这样能记忆原来的状态,从而实现时序逻辑功能。PAL器件除了图113、图110两种输出结构外还有专用组合输出、异或输出和算术选通反馈结构。PAL产品有20多种不同的型号可供用户选用。GAL和PAL最大的差别在于GAL有一种灵活的、可编程的输出结构,它只有两种基本型号,并可以代替数十种PAL器件,因而称为通用可编程逻辑器件。GAL的可编程输出结构称为输出逻辑定单元OLMC。图111是GAL22V10的图1.11 GAL22V10的OLMCFig. 1.11 GAL22V10 the OLMCOLMC内部逻辑图,从图中看出,OLMC中除了包含或门阵列和D触发器之外,还多了两个数选器(MUX),其中4选l MUX用来选择输出方式和输出极性,2选1MUX用来选择反馈信号,而这些数选器的状态取决于两位可编程特征码S1S0的控制。编程时,开发软件将根据设计者的要求将S1S0编为00、01、10、11中的一个并通过编程器特此信息烧录到芯片中,OLMC便可以分别被组态为四种输出方式中的一种(见图112)。这四种输出方式分别是:S1S000时,低电平有效寄存器输出;S1S001时,高电乎有效寄存器输出;S1S010时,低电平有效组合IO输出:S1S011时,高电乎有效组合IO输出。GAL器件还有GALl6V8和GAL20V8两种基本型号,其OLMC与GAL22V10的OLMC相似。PAL和GAL器件与SSI、MSI标准产品相比,有许多突出的优点:提高了功能密度,节省了空间,通常一片PAL或GAL可以代替412片SSI或24片MSI;使用方便,设计灵活;具有上电复位功能和加密功能,可以防止非法复制等。因而,这两种产品在早期得到了广泛应用。但PAL器件有许多缺陷,主要是PAL采用的是PROM编程工艺,只能一次性编程而且由于输出方式是固定的不能重新组态,因而编程灵活性较差。GAL器件的每个宏单元(OLMC)均可根据需要任意组态,所以它的通用性好,比PAL使用更加灵活,而且GAL器件采用了ECM0S工艺结构,可以重复编程,通常可以擦写百次以上,甚至上干次由于这些突出的优点,因而GAL比PAL应用更为广泛。图1.12 GAL22vlo的四种输出组态Fig. 1.12 GAL22vlo four forms of export1.2.2EPLD和CPLD的基本结构EPCD和CPLD是从PAL、GAL发展起来的阵列型高密度PLD器件,它们大多采用了CMOS EPROM、E2PROM和快闪存储器等编程技术因而具有高密度、高速度和低功耗等待点。目前主要的半导体器件公司,如Xilinx、Altera、Lattice和AMD公司等,在各自生产的高密度PLD产品中,都有自己的特点,但总体结构大致是相同的。大多数EPLD、CPLD器件中至少包含了三种结构;可编程逻辑宏单元,可编程IO单元;可编程内部连线。1可编程逻辑宏单元编辑宏单元内部主要包括与或阵列、可编程触发器和多路选择器等电路,能独立地配置为时序或组合工作方式。EPLD器件与GAL器件相似,其逻辑宏单元同IO做在一起,称为输出逻辑宏单元,但其宏单元及与阵列数目比GAL大得多。CPLD器件的宏单元在内部,称为内部逻辑宏单元。EPLD、CPLD除了密度高之外,许多优点都反映在逻辑宏单元上:多触发器结构和“隐埋”触发器结构。GAL器件每个输出宏单元只有一个触发器,而EPLD和CPLD的宏单元内通常含两个或两个以上的触发器,其中只有一个触发器与输出端相连,其余触发器的输出不与输出端相连,但可以通过相应的缓冲电路反馈到与阵列,从而与其它触发器一起构成较复杂的时序电路。这些不与输出端相连的触发器就称为“隐埋”触发器。这种结构对于引脚数有限的EPLD和CPLD器件来说可以增加触发器数目,即增加其内部资源。 乘积项共享结构。在PAL相GAL的与或阵列中,每个或门的输入乘积项最多为7个或8个,当要实现多于8个乘积项的“与一或”逻辑函数时,必须将“与一或”函数表达式进行逻辑变换。在EPLD和CPLD的宏单元中,如果输出表达式的与项较多,对应的或门输入端不够用时,可以借助可编程开关将同一单元(或其它单元)中的其它或门与之联台起来使用,或者在每个宏单元中提供未使用的乘积项供其它宏单元使用和共享。图113是EPM7128E乘积项扩展和并联扩展项的结构图。从图中看出,每个共享扩展项可以被任何宏单元使用和共享,并联扩展项可以从邻近的宏单元中借用,宏单元中不用的乘积项都可以分配给邻近的宏单元。因此,乘积项共享结构提高了资源利用宰,可以实现快速复杂的逻辑函数。图1.13 EPM 7128E乘积项扩展和并联扩展项结构Fig. 1.13 EPM 7128E result of the expansion and extension of the structure parallel connection 异步时钟相时钟选择。 一般GAL器件只能实现同步时序电路,在EPLD和CPLD器件中备触发器的时钟可以异步工作,有些器件中触发器的时钟还可以通过数据选择器或时钟网络进行选挣。此外,逻辑宏单元内触发器的异步清零和异步置位也可以用乘积项进行控制,因而使用更加灵活。 2可编程IO单元 输入输出单元,简称IO单元(或IOC),它是内部信号到IO引脚的接口部分。由于阵列型HDPLD通常只有少数几个专用输入端,大部分端口均为1O端,而且系统的输入信号常常需要锁存。因此I/O常作为一个独立单元来处理。图114(a)是Lattice ispLI1016的I/O结构图,它由三态输出缓冲器、输入缓冲器 输入寄存器锁存器和几个可编程的数据选择器组成。触发器有两种工作方式:当R/L为高电平时,它被设置成边沿触发器;而当R/L为低电平时,它被设置成锁存器。MUX1用于控制三态输出缓冲器的工作状态,MUX2用于选择输出信号的传送通道,MUX3用来选择输出极性。MUX4用于输入方式的选择:在异步输入方式下,输入信号直接经输入缓冲器送到全局布线区的输入端;在同步输入方式下,输入信号加到触发器的输入端,必须等时钟情号IOCLK到达后才能被存入触发器,并经过输入缓冲器加到全局布线区。MUX5和MUX6用于时钟信号的来源和极性的选择。根据这些数据选择器编程状态的组合,得到各种可能的IOC组合如图114(b)所示。图1.14 Lattice ispLI1016的I/O结构图Fig. 1.14 Lattice ispLI1016 the I/O chart 3可编程连线阵列可编程连线阵列的作用是在各逻辑宏单元之间以及逻辑宏单元和IO单元之间提供互连网络。各逻辑宏单元通过可编程连线阵列接收来自专用输入或输入端的信号,并将宏单元的信号反馈到其需要到达的目的地。这种互连机制有很大的灵活性,它允许在不影响引脚分配的情况下改变内部的设计。1.3 现场可编程门阵列(FPGA) FPGA是20世纪80年代中期出现的高密度可编程逻辑器件。与前面所介绍的阵列型可编程逻辑器件不同,FPGA的结构类似于掩膜可编程门阵列(MPGA),它由许多独立的可编程逻辑模块组成,用户可以通过编程将这些模块连接起来实现不同的设计。FPGA兼容了MPGA和阵列型PLD两者的优点,因而具有更高的集成度、更强的逻辑实现能力和更好的设计灵活性。1.3.1FPGA的分类不同厂家、不同型号的FPGA其结构有各自的特色,但就其基本结构来分析,大致有以下几种分类方法: 1按逻辑功能块的大小分类 可编程逻辑块是FPGA的基本逻辑构造单元。FPGA分为细粒度结构和粗粒度结构两类。细粒度FPGA的逻辑功能块一般较小,仅由很小的几个晶体管组成,非常类似于半定制门阵列的基本单元,其优点是功能块的资源可以被完全利用,缺点是完成复杂的逻辑功能需要大量的连线和开关,因而速度侵;粗粒度FPGA的逻辑块规模大,功能强,完成复杂逻辑只得较少的功能块和内部连线,因而能获得较好的性能,缺点是功能块的资源有时不能充分被利用。 近年来随着工艺的不断改进,FPGA的集成度不断提高,同时硬件描述语言(HDL)的设计方法得到广泛应用,由于大多数逻辑综合工具是针对门阵列的结构开发的,细粒度的FPLA较粗粒度的FPGA可以得到更好的逻辑综合结果。因此许多厂家开发出了一些具有更高集成度的细粒度FPGA,如Xilinc公司采用MicroVia技术的一次编程反熔丝结构的XC8l00系列,GateField公司采用闪速EPROM控制开关元件的可再编程GF100K系列等,它们的逻辑功能块规模相对都较小。 2按互连结构分类 根据FPGA内部的连线结构不同,可将其分为分段互连型相连续互连型两类。 分段互连型FPGA中有不同长度的多种金属线,各金属线段之间通过开关矩阵或反镕丝编程连接。这种连线结构走线灵活,有多种可行方案但走线延时与布局布线的具体处理过程有关,在设计完成前无法预测,设计修改将引起延时性能发生变化。 连续互连型FPGA是利用相同长度的金属线,通常是贯穿于整个芯片的长线来实现逻辑功能块之间的互连,连接与距离远近无关。在这种连线结构中,不同位置逻辑单元的连接线是确定的,因而布线延时是固定和可预测的。 3按编程特性分类 根据采用的开关元件的不同,FPGA可分为一次编程型和可重复编程型两类。 一次编程型FPGA采用反熔丝开关元件,其工艺技术决定了这种器件具有体积小、集成度高、互连线特性阻抗低、寄生电容小及可获得较高的速度等优点;此外它还有加密位、反拷贝、抗辐射抗干扰、不带外接PROM或EPROM等特点。但它只能一次编程,一旦将设计数据写入芯片后,就不能再修改设计,因此比较适合于定型产品及大批量应用。 可重复编程型FPGA采用SRAM开关元件或快闪EPROM控制的开关元件。FPGA芯片中,每个逻辑块的功能以及它们之间的互连模式由存储在芯片中的SRAM或快闪EPROM中的数据决定。SRAM型开关的FPGA是易失性的,每次重新加电,FPGA都要重新装入配置数据。SRAM型FPGA的突出优点是可反复编程,系统上电时,给FPGA加载不同的配置数据,即可令其完成不同的硬件功能。这种配置的改变甚至可以在系统的运行中进行,实现系统功能的动态重构。采用快闪置PROM控制开关的PPGA具有非易失性和可重复编程的双重优点,但在再编程的灵活性上较SRAM型FPGA差一些,不能实现动态重构。此外,其静态功耗较反熔丝型及SRAM型的FPGA高。第二章 MAX+PLUS开发软件的使用2.1 MAX+PLUS的安装2.1.1PC系统配置l 奔腾机l 有效内存在256MB以上,物理内存不低于128MBl WindowsNT4.0、Windows98/2000/XPl 与Microsoft Windows兼容的图形卡和17英寸彩色显视器l CD-ROM驱动器l 与Microsoft Windows兼容的两键或三键鼠标l 全长8位的适用于逻辑编程卡的ISA插槽l 并行口l RS-232串行口2.1.2MAX+PLUS软件版本MAX+PLUS软件根据使用平台可分为PC机版和工作站版,根据使用对象可分为商业版、基本版和学生版。商业版:支持全部输入方式和功能分析、时序分析等各种功能,支持版本发行时除APEX系列之外的Altera所有可编程逻辑器件。商业版的MAX+PLUS需要一个授权码和一个附加的并口硬件狗。基本版:在商业版上做了一些限制,如不支持VHDL、不能进行功能和时序仿真、不支持某些器件等。基本版不需要硬件狗,可从Altera网站上免费下载,只需向Altera申请一个基本版的授权码即可使用。学生版:学生版在功能上基本和商业版一样,但可使用的逻辑功能模块受到限制,且支持的器件很少。从Altera网站上可下载学生版,但需要向Altera公司的大学项目部申请学生版的授权码才可使用。2.1.3 MAX+PLUS的安装插入MAX+PLUS安装光盘并自动运行后,双击Setup.exe。后选择Next,按屏幕提示进行操作,任一步选择Cancel将退出安装。安装完毕后,提示是否打开Read.me文件,选择“是”可仔细阅读其总包含的一些重要信息。阅读完毕后关闭文件,出现开始菜单中的Altera文件夹。2.1.4第一次运行MAX+PLUS安装好后,为了保证该软件的正常运行还需要做很多工作。(1)在MAX+PLUS软件目录中,双击MAX+PLUS10.1图标,或者在Windows98的开始菜单中选择程序项中的Altera组成的MAX+PLUS10.1项,开始运行MAX+PLUS。第一次运行时,屏幕上会出现关于授权的协议提示窗口。(2)阅读完授权协议信息后,选择YES按钮,出现防止复制警告信息。选择NO,则退出MAX+PLUS。(3)在复制警告信息框中选择YES按钮,则显示任何获得基本版授权码的帮助信息。若有硬件狗,则选择否,并将硬件狗插在并口(打印机口)上。(4)在上申请授权码,将获得授权码文件license.dat拷贝到MAX+PLUS文件夹里(也可拷贝到别的路径下)。(5)设置授权码的过程是:在MAX+PLUS界面中,选择菜单命令Options/license setup。2.2 MAX+PLUS软件的认识2.2.1 启动MAX+PLUS在Windows桌面选择开始 / 程序 / Altera / MAX+PLUS10.1菜单命令即可启动MAX+PLUS。2.2.2MAX+PLUS的管理器MAX+PLUS管理器窗口包括项目路径、工作文件标题签、MAX+PLUS菜单条、快捷工具条和工作区等几部分。设置好授权码后,运行MAX+PLUS即进入MAX+PLUS管理器窗口,如下图2.1所示。图2.1 MAX+PLUS管理器窗口Fig. 2.1 MAX+PLUS II management device window2.2.3使用MAX+PLUS开发可编程逻辑器件的基本步骤设计输入阿MAX+PLUS文本编辑器MAX+PLUS信息处理器和层次显示器件编程项目校验项目处理MAX+PLUS 仿真器MAX+PLUS编程器MAX+PLUS 时间分析器MAX+PLUS符号编辑器MAX+PLUS图形编辑器MAX+PLUS波形编辑器编译器网表提取器适配器逻辑综合器数据库建库器图2.2 基本步骤图Fig. 2.2 Basic steps如上图所示,上图是MAX+PLUS软件的组成模块图,其开发流程分为4个步骤:1.设计输入;2.项目处理;3.项目校验;4.器件编程。2.3 设计输入在Windows的程序管理器窗口中用鼠标左键双击MAX+PLUS图标,或在开始菜单内选择MAX+PLUS项,开始运行MAX+PLUS,管理器窗口被打开。2.3.1图形设计输入1.指定设计项名称MAX+PLUS编译器的工作对象是项目,所以在进行一个逻辑设计时,首先要指定该设计的项目名称,对于每个新的项目应该建立一个单独的子目录,如果该子目录不存在,将自动创建,以后所有与该项目有关的文件都将存在这个子目录下。2 建立新文件3.输入图元和宏功能符号MAX+PLUS为实现不同的逻辑功能提供大量的图元和宏功能符号(Primitive & Macrofunction)库,设计人员在图形编辑器文件中直接使用。他们的分类信息放在max2workmaxlib子目。4.连线如果需要连接两个端口,可将鼠标移到其中一个端口,这是鼠标自动变为“+”形状,即可开始连线。5.为引脚和接点命名(1)放置输入和输出引脚放置输入引脚和输出引脚的方法与图元的输入方法相似。如果要重复放置同一个符号或者器件,可以用复制的方法,可提高图形输入的效率。(2)为引脚命名在引脚上的PIN_NAME处双击鼠标座键,然后输入指定的名字即可。6图形编辑选项在图形编辑穿口中的Options菜单中列出了一些图形编辑时的选项,包括文本的字型(Font)、大小控制(Text Size)、线形(Line Style)、显示任务、网络控制等,设计时用户可根据需要进行选择。7保存文件并检查错误在设计过程中,如果需要保存新文件或者将文件重新命名,选择File菜单中的Save As项,将出现Save As对话框。在File Name 对话框中输入设计文件名,然后点击OK按钮即可保存文件。若是为了保证输入逻辑的正确性,可以将此逻辑文件保存起来并进行错误检查。8创建一个默认的逻辑符号对于一贯和经过保存并检查没有错误的设计文件,可以创建一个代表该文件的符号文件(.sym)。该符号就像其他符号一样,可以被其他图形设计文件(.gdf)调用。(1)在File菜单中选择Create Default Symbol项,即可创建一个默认的逻辑符号。该符号可以被高层设计调用。(2)若选择File菜单中选择Create Default Include File项,则可以创建一个默认的逻辑文件(.inc)供其他AHDL文本设计文件调用。(3)可以通过选择File菜单中的Symbol命令编辑所选的符号。9关闭文件如果要关闭文件,选择File菜单中的Close命令,或者用鼠标左键单击图形编辑器右上角的关闭按钮来关闭图形编辑器窗口。2.3.2文本设计输入方法MAX+PLUS2支持 AHDL、VHDL、Verilog HDL等硬件描述语言。AHDL是Altera Hardware Description Language的缩写,它是一种高级硬件行为描述语言。2.3.3创建顶层设计文件MAX+PLUS支持层次化设计输入方法,顶层设计文件就是把一个设计的各个模板放在一起,形成一个便于阅读的图形形式,如图4所示,该电路的模块都是采用前面所创造的符号,每个模块都包好着各自的实现电路。2.3.4层次显示层次显示方式就是以一个层次树的形式显示整个项目和电路的设计文件。打开层次显示的方法是从MAX+PLUS菜单中选择Hierarchy Display项,一个项目的层次就显示出来了,图5为图4顶层文件的显示层次。层次中的每个文件都可以通过双击文件名的方式打开,并带到前台来显示。2.3.5编辑用户库 MAX+PLUS允许设计人员对用户库进行编辑。在Options菜单中User Libraries,这时就会出现用户编辑框。如果想要加入一个新的用户库,可以在Directory name输入框中直接键入用户所在的路径和名称,然后点击Add按钮,或者通过Directories和Drives对话框确定所要加入的用户库。如果想要改变用户库在列表中的先后次序,可以通过点击Up或Down按钮来完成。Delete按钮用语删除已选中的库。点击OK按钮即可完成用户库的编辑。2.4 设计项目的编辑使用MAX+PLUS编译器设计项目时,编译器将进行错误检查、网表提取、逻辑综合、器件配适,并产生仿真文件、定是分析文件和编程配置文件。MAX+PLUS编译器既能接受多种文件输入格式,有可以输出多种文件格式。它能接受的输入设计文件包括MAX+PLUS自己的图形文件(.gdf)、AHDL文件(.tdf)、VHDL文件(.vhd)。2.4.1编译前的准备1打开编译器窗口(1)在MAX+PLUS菜单中选择Complier项,则会出现编译器窗口。选择Start按钮即可开始编译,MAX+PLUS编译器将检查被编译的项目是否有错误,并对项目进行逻辑综合,然后配置到一个Altera器件中,同时将产生报告文件、编译文件和用于时间仿真的输出文件。(2)但是在开始编译前,还必须设定一些其他的选项。2选择一个器件首先,设计人员需要为项目指定一个器件系列,然后设计人员可以自己选择某个具体的器件,也可以让编译器在该器件系列内自动选择最合适设计人员项目的器件。确定器件系列的步骤如下:(1)在Assign菜单中选择Device项,将出现Device对话框。图2.3 选择器件Fig.2.3 Choice devicea.在Device Family框中选择一个器件系列。b.在Device框中选择一器件或选择AUTO,让MAX+PLUS为你选择一个器件。c.点击OK按钮。3.打开设计规则检查工具编译时,可选的设计规则检查(Design Doctor)工具将检查项目中的所有设计文件,以发现器件编译时可能存在的可靠性不好的逻辑。4.管脚分配Altera推荐让编译器自动为设计人员的项目进行管脚分配,也可自行分配管脚。2.4.2运行编译器在Processing菜单中,还有一些会对编译产生影响的选项。运行编译的过程如下:(1)在编译器(Complier)窗口中选择Start开始编译。(2)此时,若选择编译器穿口中的Stop/Show Status按

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论