第三章 EDA技术和可编程逻辑器件
3.5.1 FPGA 及其设计方法
可编程逻辑器件PLD(Programmable Logic Devices)是ASIC((Application Specific Integrated Circuits)的一个重要分支。ASIC按制造方法又可分为全定制(Full Custom)产品、半定制(Semi-custom)产品和可编程逻辑器件(PLD)。前两种ASIC的设计和制造都离不开器件生产厂家,用户主动性较差。随着微电子技术的发展,设计师们更愿意自己设计专用集成电路芯片,并尽可能缩短设计周期,最好是在实验室里就能设计出合适的ASIC芯片,并且立即投入实际应用之中,在使用中也能比较方便的对设计进行修改。可编程逻辑器件就是为满足用户的这一需求才应运而生的。 3.5.1 可编程逻辑器件简介
PLD从20世纪70年代发展到现在,已形成了许多类型的产品,其结构、工艺、集成度、速度和性能都在不断的改进和提高。PLD又可分为简单低密度PLD和复杂高密度PLD。
可编程阵列逻辑器件PAL(Programmable Array Logic)和通用阵列逻辑器件GAL(Generic Array Logic)都属于简单PLD,结构简单,设计灵活,对开发软件的要求低,但规模小,难以实现复杂的逻辑功能。随着技术的发展,简单PLD在集成度和性能方面的局限性也暴露出来。其寄存器、I/O引脚、时钟资源的数目有限,没有内部互连,一次包括复杂可编程逻辑器件CPLD(Complex PLD)和现场可编程门阵列器件FPGA(Field Programmable Gate Array)在内的复杂PLD迅速发展起来,并向着高密度、高速度、低功耗以及结构体系更灵活、适用范围更广阔的方向发展。
FPGA具备阵列型PLD的特点,结构有类似掩膜可编程门阵列,因而具有更高的集成度和更强大的逻辑实现功能,使设计变得更加灵活和易实现。相对于CPLD它还可以将配置数据存储在片外的ERROM或者计算机上,设计人员可以控制加载过程,在现场修改器件的逻辑功能,即所谓的现场可编程。所以FPGA得到了更普遍的应用。
3.5.2 使用FPGA器件进行开发的优点
使用FPGA器件设计数字电路,不仅可以简化设计过程,而且可以降低整个
27
电子科技大学成都学院本科毕业设计论文
系统的体积和成本,增加系统的可靠性。它们无需花费传统意义下制造集成电路所需大量时间和精力,避免了投资风险,成为电子器件行业中发展最快的一族。使用FPGA器件设计数字系统电路的主要优点如下:
(1)设计灵活
FPGA器件,可不受标准系列器件在逻辑功能上的限制。而且修改逻辑可在系统设计和使用过程的任一阶段中进行,而且只须通过对所用的FPGA器件进行重新编程即可完成,给系统设计提供了很大的灵活性。
(2)功能密集度
功能密集度是指在给定的空间能集成的逻辑功能数量。可编程逻辑芯片内的组门数高,一片FPGA可代替几片、几十片乃至上百片中小规模的数字集成电路芯片。用FPGA器件实现数字系统时用的芯片数量少,从而减少芯片的使用数目,减少印刷路板面积和印刷线路板数目,最终导致系统规模的全面缩减。
(3)提高可靠性
减少芯片和印刷板数目,不仅能缩小系统规模,而且它还极大的提高了系统的可靠性。具有较高集成度的系统比用许多低集成度标准组件设计的相同系统具有高得多的可靠性。使用FPGA器件减少了实现系统所需要的芯片数目,在印刷线路板上的引线以及焊点数量也随之减少,所以系统的可靠性得以提高。
(4)缩短设计周期
由于FPGA器件的可编程性和灵活性,用它来设计一个系统所需时间比传统方法乏味缩短,FPGA器件集成度高,使用时印刷线路板电路布局布线简单。同时,在样机设计成功后,由于开发工具先进,自动化程度高,对其进行逻辑修改也十分简单迅捷。因此,使用FPGA器件可大大缩短系统的设计周期,加快产品投放市场的速度,提高产品的竞争力。
(5)工作速度快
FPGA/CPLD器件的工作速度快,一般可以达到几百兆赫兹,远远大于DSP器件。同时,使用FPGA期间后实现系统所需要的电路级数又少,因而整个系统的工作速度会得到提高。
(6)增加系统的保密性能
28
第三章 EDA技术和可编程逻辑器件
很多FPGA器件都具有加密功能,在系统中管饭的使用FPGA器件可以有效的防止产品被他人非法仿制。
(7)降低成本
使用FPGA器件实现数字系统设计时,如果仅从器件本身的价格考虑,有时还看不出来它的优势,但是影响系统成本的因素是多方面的,综合考虑,使用FPGA的技术优越性是很明显的。首先,使用FPGA器件修改设计方便,设计周期缩短,使系统的研制开发费用降低;再次,使用FPGA器件能使系统的可靠性提高,维护工作量减少,进而使系统的维护服务费用降低。总之,使用FPGA器件进行系统设计能节约成本。 3.5.3 FPGA设计的开发流程
FPGA设计的开发流程如图3.2 所示。
图 3-2 FPGA的开发流程图
29
电子科技大学成都学院本科毕业设计论文
设计开始需利用EDA工具的文本或者图形编辑器将设计者的意图通过文本的方式(如VHDL程序)或图形方式(原理图、状态图等)表达出来。完成设计描述后即可通过编译器进行排错编译,变成特定的文本格式,为下一步的综合作准备。在此,对于多数的EDA软件来说,最初的设计究竟采用哪一种输入形式是可选的,也可混合使用。
编译形成标准VHDL文件后,在综合前即可以对描述的内容进行功能仿真,又可称为前仿真。即将源程序直接送到VHDL仿真其中仿真。功能仿真仅对设计描述的逻辑功能进行测试模拟,医疗界其实现的功能是否满足原设计的要求,由于此时的仿真只是根据VHDL的语义进行的,与具体电路没有关系,仿真过程不涉及具体器件的硬件特性,如延迟特性。
设计的第三步是综合,将软件设计与硬件的可实现性挂钩,这是条件爱你化为硬件电路的关键步骤。综合后,可生成VHDL网表文件,利用网表文件进行综合后仿真。综合后仿真虽然比功能仿真精确一些,并不十分准确。这种仿真的主要目的在于检查综合器的综合结果是否与设计输入一致。
综合通过后必须利用VHDL布局/布线适配器将综合后的网表文件针对某一具体的目标期间进行逻辑映射操作,这个过程叫做实现过程。
布局布线后进行时序仿真。时序仿真中应将布局布线后的时延文件反标到设计中,使仿真既包含门时延,又包含线时延的信息。由于不同器件的内部延时不一样,不同的布局布线方案也给时延造成不同的影响,因此在设计处理完以后,对系统和模块进行时序仿真,分析其时序关系,估计设计的性能,以及检查和消除冒险竞争是非常有必要的。与前面各种仿真相比,这种仿真包含的时延信息最为全面、准确,能较好地反应芯片的实际工作情况。
如果以上的所有过程,包括编译、综合、布线/适配和功能仿真、综合后仿真、时序仿真都没有发现问题,即满足原设计要求,就可以将适配器产生的配置/下载文件通过编程器或下载电缆载入目标芯片中。
3.7 开发工具ISE9.1介绍
ISE是使用XILINX的FPGA的必备的设计工具,它可以完成FPGA开发的全部流程,包括设计输入、仿真、综合、布局布线、生成BIT文件、配置
30
相关推荐: