第3章可编程逻辑器件的设计与开发.ppt
《第3章可编程逻辑器件的设计与开发.ppt》由会员分享,可在线阅读,更多相关《第3章可编程逻辑器件的设计与开发.ppt(145页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第3 3章章 可编程逻辑器件的设计与开发可编程逻辑器件的设计与开发 第第3章章 可编程逻辑器件的设计与开发可编程逻辑器件的设计与开发 3.1 可编程逻辑器件的设计过程可编程逻辑器件的设计过程 3.2 可编程逻辑器件的开发环境可编程逻辑器件的开发环境 3.3 硬件描述语言硬件描述语言 3.4 MAX+plus软件介绍软件介绍 3.5 如何使用如何使用MAX+plus 习题习题 第第3 3章章 可编程逻辑器件的设计与开发可编程逻辑器件的设计与开发 3.1 可编程逻辑器件的设计过程可编程逻辑器件的设计过程 CPLD/FPGA器件的设计一般可以分为设计输入、设计实现、设计校验和下载编程四个步骤,如图
2、3-1所示。第第3 3章章 可编程逻辑器件的设计与开发可编程逻辑器件的设计与开发 图3-1可编程逻辑器件的设计流程第第3 3章章 可编程逻辑器件的设计与开发可编程逻辑器件的设计与开发 1设计输入设计输入就是将设计者所设计的电路以开发软件要求的某种形式表达出来,并输入到相应的软件中。设计输入有多种表达方式,主要包括原理图输入方式、硬件描述语言输入方式、高级设计输入方式、波形设计输入方式、层次设计输入方式和底层设计输入方式,其中最常用的是原理图输入方式和硬件描述语言输入方式两种。第第3 3章章 可编程逻辑器件的设计与开发可编程逻辑器件的设计与开发 (1)原理图输入方式。原理图是图形化的表达方式,使
3、用元件符号和连线等符号来描述设计。其特点是适合描述连接关系和接口关系,而描述逻辑功能则很繁琐。为提高这种输入方式的效率,应采用自顶向下逻辑分块,把大规模的电路划分成若干小块的方法。一般而言,如果对系统很了解,并且系统速率较高,或在大系统中对时间特性要求较高的部分,可以采用这种方法。原理图输入方式效率较低,但容易实现仿真,便于对信号的观察以及对电路的调整。第第3 3章章 可编程逻辑器件的设计与开发可编程逻辑器件的设计与开发 (2)硬件描述语言输入方式。硬件描述语言采用文本方式描述设计,其逻辑描述能力强,但不适合描述接口和连接关系。如ABEL-HDL、Verilog-HDL、AHDL和VHDL等,
4、它们支持布尔方程、真值表、状态机等逻辑描述方式,适合描述计数器、译码器、比较器和状态机等的逻辑功能,在描述复杂设计时,非常简洁,具有很强的逻辑描述和仿真功能,但硬件描述语言输入必须依赖综合器,只有好的综合器才能把语言综合成优化的电路。对于大量规范的、易于语言描述、易于综合、速率较低的电路,可以采用这种输入方式。第第3 3章章 可编程逻辑器件的设计与开发可编程逻辑器件的设计与开发 2设计实现设计实现主要由EDA开发工具依据设计输入文件自动生成用于器件编程、波形仿真及延时分析等所需的数据文件。此部分对开发系统来讲是核心部分,但对用户来说,它的实现过程究竟如何,用户并不关心。设计者只能通过设置“设计
5、实现策略”等参数来控制设计实现过程。EDA开发工具进行设计实现时主要完成以下四个相关任务:第第3 3章章 可编程逻辑器件的设计与开发可编程逻辑器件的设计与开发 (1)优化和合并。优化是指逻辑化简,把逻辑描述转变为最适合在器件中实现的形式;合并是将模块化设计产生的多个文件合并为一个网表文件,并使层次设计平面化。(2)映射。映射是把设计分为多个适合器件内部逻辑资源实现的逻辑小块的形式。如对Lattice的ispLSI系列器件,适合用GLB和IOC实现;在Xilinx的XC系列中,适合用CLB和IOB实现。第第3 3章章 可编程逻辑器件的设计与开发可编程逻辑器件的设计与开发 (3)布局和布线。布局是
6、将已分割的逻辑小块放到器件内部逻辑资源的具体位置,并使它们易于连线,且连线最少;布线是利用器件的布线资源完成各功能块之间和反馈信号的连接。在ispLSI器件中,由GRP提供外部输入信号和GLB之间的连线,ORP则提供GLB信号到外部引脚的连接。器件连线、资源布局及设计的复杂程度将影响布线的成功率,即布通率。另外,布局上的问题也会引起布线困难。这就需要修改设计输入或改变设计策略来解决布线问题。第第3 3章章 可编程逻辑器件的设计与开发可编程逻辑器件的设计与开发 (4)生成编程文件。设计实现的最后一步是产生可供器件编程使用的数据文件。对CPLD器件而言,产生熔丝图文件即JEDEC文件;对FPGA器
7、件,则产生位流数据文件Bitstream。第第3 3章章 可编程逻辑器件的设计与开发可编程逻辑器件的设计与开发 3设计校验设计校验包括仿真和定时分析两部分,这一步通过仿真器和时延分析器来完成,利用编译器产生的数据文件自动完成逻辑功能仿真和延时特性仿真。在仿真文件中加载不同的激励,可以观察中间结果以及输出波形。必要时,可以返回设计输入阶段,修改设计输入,最终达到设计要求。第第3 3章章 可编程逻辑器件的设计与开发可编程逻辑器件的设计与开发 这一部分的最大功能是便于用户查看自己的设计思想是否得到实现。我们可以在设计的过程中对整个系统乃至各个模块进行仿真,即在计算机上用软件验证连接功能是否正确,各部
8、分的时序配合是否准确。如果有问题,可以很方便地修改错误,从而不必在硬件上作改动,极大地节约了成本。高级的仿真软件还可以对整个系统设计的性能进行估计。规模越大的设计,越发需要设计仿真。仿真不消耗资源,仅消耗少许时间,但从节约成本的角度考虑,这种时间消耗是完全值得的。可以认为仿真是EDA的精髓。第第3 3章章 可编程逻辑器件的设计与开发可编程逻辑器件的设计与开发 4下载编程下载编程是将设计阶段生成的JEDEC文件或位流文件装入到可编程器件中。器件编程需要满足一定的条件,如编程电压、编程时序和编程算法等。(1)不能进行在系统编程(ISP)的CPLD器件和不能在线可重配置(ICR)的FPGA器件,需要
9、编程专用设备(编程器)完成器件编程。第第3 3章章 可编程逻辑器件的设计与开发可编程逻辑器件的设计与开发 (2)使用查找表(LUT)技术和基于SRAM的FPGA器件(如Altera的FLEX、ACEX、APEX,Xilinx的Spartn、Vertex),下载的编程数据将存入SRAM,而SRAM掉电后所存数据将丢失,为此需将编程数据固化入EEPROM内。器件上电时,由器件本身或微处理器控制EEPROM将数据“配置”入FPGA器件。第第3 3章章 可编程逻辑器件的设计与开发可编程逻辑器件的设计与开发 FPGA调试期间,由于编程数据改动频繁,没有必要每次改动都将编程数据下载到EEPROM,此时可用
10、下载电缆将编程数据直接下载到FPGA内查看运行结果,这种过程称为在线重配置ICR。注意:EEPROM本身是普通的PLD器件,编程数据下载到EEPROM时需要用到编程器。第第3 3章章 可编程逻辑器件的设计与开发可编程逻辑器件的设计与开发 (3)使用乘积项逻辑、基于EEPROM或Flash工艺的CPLD器件(如Altera的MAX系列、Xilinx的XC9500系列以及Lattice的多数产品)进行下载编程时,使用器件厂商提供的专用下载电缆,该电缆一端与PC机的打印机并行口相连,另一端接到CPLD器件所在PCB(印刷电路板)上的10芯插头(PLD只有4个引脚与该插头相连)。编程数据通过该电缆下载
11、到CPLD器件当中,这个过程称为ISP在系统编程。如图3-2所示。第第3 3章章 可编程逻辑器件的设计与开发可编程逻辑器件的设计与开发 图3-2ISP示意图(a)将PLD焊接到PCB(b)在系统编程(c)需要修改器件功能可现场下载新编程数据第第3 3章章 可编程逻辑器件的设计与开发可编程逻辑器件的设计与开发 3.2 可编程逻辑器件的开发环境可编程逻辑器件的开发环境可编程器件的设计离不开EDA软件。现在有多种支持CPLD和FPGA的设计软件,有的设计软件是由芯片制造商提供的,如Altera开发的MAX+plus软件包,Quartus软件包,Xilinx开发的Foundation软件包,Latti
12、ce开发的针对ispLSI器件的PDS软件包;有的是由专业EDA软件商提供的,称为第三方设计软件,第第3 3章章 可编程逻辑器件的设计与开发可编程逻辑器件的设计与开发 例如Cadence、Mental、Synopsys、Viewlogic和DATAI/O公司的设计软件。第三方软件往往能够开发多家公司的器件,在利用第三方软件设计具体型号的器件时,需要器件制造商提供器件库和适配器(Fitter)软件。第第3 3章章 可编程逻辑器件的设计与开发可编程逻辑器件的设计与开发 由于当今EDA行业的迅猛发展,时序仿真在开发系统中已经是不可缺少的一部分,为争夺市场,各家公司除在器件上采用新技术、新工艺,提高器
13、件自身速度、性能外,在开发系统上也极力向使用方便、仿真功能强大、集成度高的方向发展,使用户做的工作越来越少。开发系统能够接收多方面的设计输入,这个多方面不单是指使用哪种输入数据形式,更重要的是能够支持第三方提供的工具,这一点尤为重要。本节将介绍目前在我国具有代表性的几家公司的开发系统。第第3 3章章 可编程逻辑器件的设计与开发可编程逻辑器件的设计与开发 3.2.3MAX+plusII系统Altera公司的MAX+plus的开发系统是一个完全集成化、易学易用的可编程逻辑设计环境,它可以在多种平台上运行。Altera的器件能达到最高的性能和集成度,不仅仅是因为采用了先进的工艺和全新的逻辑结构,还在
14、于提供了现代化的设计工具。MAX+plus软件提供了一种与结构无关的设计环境,它使设计者能方便地进行设计输入、快速处理和器件编程。第第3 3章章 可编程逻辑器件的设计与开发可编程逻辑器件的设计与开发 使用MAX+plus,设计者无需精通器件内部的复杂结构,而只需要用自己熟悉的设计输入工具(如原理图或高级行为语言)建立设计,MAX+plus会自动把这些设计转换成最终结构所需的格式。由于有关结构的详细知识已装入开发工具,设计者不需手工优化自己的设计,因此设计速度非常快。MAX+plus开发系统具有以下几个特点:第第3 3章章 可编程逻辑器件的设计与开发可编程逻辑器件的设计与开发 1开放的界面Alt
15、era的工作与CAE厂家联系紧密,MAX+plus可同其他工业标准设计输入、综合与校验工具链接。它与CAE工具的接口符合EDIF200和209、参数模块库(LPM)、Verilog、VHDL及其他标准。设计者可以使用Altera或标准的CAE设计输入工具去建立逻辑设计,使用MAX+plusComplier(编译程序)对Altera器件设计进行编译,并使用Altera或其他CAE校验工具进行器件或板级仿真。目前,MAX+plus支持与Synopsys、Viewlogic、Mentor Graphics、Cadence、Exemplar、DataI/O、Intergraph、Minc、OrCAD等
16、公司提供的工具的接口。第第3 3章章 可编程逻辑器件的设计与开发可编程逻辑器件的设计与开发 2与结构无关MAX+plusComplier是MAX+plus系统的核心,它支持Altera的Classic、MAX5000、EPS464、MAX7000、FLEX8000和FLEX8000M等可编程器件系列,提供工业界唯一真正与结构无关的可编程逻辑设计环境。该编译器还提供强有力的逻辑综合与最小化功能,使用户比较容易将其设计集成到器件中。第第3 3章章 可编程逻辑器件的设计与开发可编程逻辑器件的设计与开发 3多平台MAX+plus的设计输入、处理与校验功能一起提供了全集成化的一套可编程开发工具,可以加快
17、动态调试,缩短开发周期。4全集成化MAX+plus的设计输入、处理与校验功能全部集成在统一的开发环境下,这样可以加快动态调试,缩短开发周期。第第3 3章章 可编程逻辑器件的设计与开发可编程逻辑器件的设计与开发 5模块组合式工具软件设计者可从各种设计输入、设计处理和设计校验选项中进行选择,从而使设计环境用户化。需要时,还可保留初始的工具投入。6硬件描述语言MAX+plus支持各种HDL设计输入选项,包括VHDL、Verilog-HDL和Altera硬件描述语言AHDL。第第3 3章章 可编程逻辑器件的设计与开发可编程逻辑器件的设计与开发 3.3 硬件描述语言硬件描述语言 随着高层次自动综合技术、
18、混合模拟及可测试性技术理论的发展,诞生了自顶向下的设计方法,它直接面向用户需要,从系统总体要求出发,根据电路系统的行为和功能要求,从上到下逐层完成相应的设计描述与仿真,然后利用EDA工具,经过逻辑综合与适配,最后把决定PLD内部硬件连接的编程数据下载入有关器件,即完成了电子设计自动化过程。第第3 3章章 可编程逻辑器件的设计与开发可编程逻辑器件的设计与开发 3.3.2Verilog-HDLVerilog-HDL是硬件描述语言的一种,主要用于数字系统的设计。设计者可以用它来进行各种级别的逻辑设计,可以用它进行数字逻辑系统的仿真验证、时序分析、逻辑综合等。它是目前应用最广泛的一种硬件描述语言。第第
19、3 3章章 可编程逻辑器件的设计与开发可编程逻辑器件的设计与开发 Verilog-HDL是在1983年由GDA(GatewayDesignAutomation)公司的PhilMoorby首创的。PhilMoorby后来成为Verilog-XL的主要设计者和Cadence公司的第一个合伙人。20世纪80年代中期,Moorby设计出了第一个关于Verilog-XL的仿真器,他对Verilog-HDL的另一个巨大的贡献是于1986年提出了用于快速门级仿真的XL算法。随着Verilog-XL算法的成功,Verilog-HDL语言得到迅速的发展。1989年,Cadence公司收购了GDA公司,Veril
20、og-HDL语言成为Cadence公司的私有财产。第第3 3章章 可编程逻辑器件的设计与开发可编程逻辑器件的设计与开发 1990年,Cadence公司决定公开Verilog-HDL语言,于是成 立 了 OVI(Open Verilog International)组 织 来 负 责Verilog-HDL语言的发展。基于Verilog-HDL的优越性,IEEE于 1995年 制 定 了 Verilog-HDL的 IEEE标 准,即Verilog-HDL1364-1995。第第3 3章章 可编程逻辑器件的设计与开发可编程逻辑器件的设计与开发 Verilog-HDL是专门为ASIC设计而开发的,本身
21、即适合ASIC设计。在亚微米和深亚微米ASIC已成为电子设计主流的今天,Verilog-HDL的发展前景是非常远大的。Verilog-HDL较为适合算法级(Algorithm)、寄存器传输级(RTL)、逻辑级(Logic)和门级(Gate)设计,而对于特大型的系统级设计,则VHDL更为适合。第第3 3章章 可编程逻辑器件的设计与开发可编程逻辑器件的设计与开发 几十年前,当时所做的FPGA和ASIC的设计比较小也比较简单,FPGA或ASIC的设计工作往往只能采用厂家提供的专用原理图输入工具来进行。为了满足设计性能指标,工程师往往需要花好几个小时或好几天来进行手工布线。工程师还得非常熟悉所选器件的
22、内部结构,才能达到设计要求。这种低水平的设计方法大大延长了设计周期。而采用Verilog-HDL输入法,由于Verilog-HDL的标准化,可以很容易地把完成的设计移植到不同厂家的不同芯片中去。第第3 3章章 可编程逻辑器件的设计与开发可编程逻辑器件的设计与开发 几十年前,当时所做的FPGA和ASIC的设计比较小也比较简单,FPGA或ASIC的设计工作往往只能采用厂家提供的专用原理图输入工具来进行。为了满足设计性能指标,工程师往往需要花好几个小时或好几天来进行手工布线。工程师还得非常熟悉所选器件的内部结构,才能达到设计要求。这种低水平的设计方法大大延长了设计周期。而采用Verilog-HDL输
23、入法,由于Verilog-HDL的标准化,可以很容易地把完成的设计移植到不同厂家的不同芯片中去。第第3 3章章 可编程逻辑器件的设计与开发可编程逻辑器件的设计与开发 Verilog-HDL把一个数字系统当作一组模块来描述。每一个模块具有模块的接口以及关于模块内容的描述。一个模块代表一个逻辑单元,这些模块用网络相互连接,相互通信。第第3 3章章 可编程逻辑器件的设计与开发可编程逻辑器件的设计与开发 3.3.3VHDLVHDL(VeryHighSpeedIntegratedCircuitsHardwareDescriptionLanguage,超高速集成电路硬件描述语言)是美国国防部于20世纪80
24、年代后期出于军事工业的需要开发的。1984年VHDL被IEEE确定为标准化的硬件描述语言。1994年IEEE对VHDL进行了修订,增加了部分新的VHDL命令与属性,增强了系统的描述能力,并公布了新版本的VHDL,即IEEE标准版本1046-1994版本。VHDL已经成为系统描述的国际公认标准,得到众多EDA公司的支持,越来越多的硬件设计者使用VHDL描述系统的行为。第第3 3章章 可编程逻辑器件的设计与开发可编程逻辑器件的设计与开发 VHDL语言涵盖面广,抽象描述能力强,支持硬件的设计、验证、综合与测试。VHDL能在多个级别上对同一逻辑功能进行描述,如可以在寄存器级别上对电路的组成结构进行描述
25、,也可以在行为描述级别上对电路的功能与性能进行描述。无论哪种级别的描述,都有赖于优良的综合工具将VHDL描述转化为具体的硬件结构。第第3 3章章 可编程逻辑器件的设计与开发可编程逻辑器件的设计与开发 各种硬件描述语言中,VHDL的抽象描述能力最强,因此运用VHDL进行复杂电路设计时,往往采用自顶向下分层设计的方法。首先从系统级功能设计开始,对系统的高层模块进行行为与功能描述并进行高层次的功能仿真,然后从高层模块开始往下逐级细化描述。VHDL设计描述的基本结构包含有一个实体和一个结构体,而完整的VHDL结构还包括配置、程序包与库。本书第4章将对VHDL进行详细介绍。第第3 3章章 可编程逻辑器件
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第3章 可编程逻辑器件的设计与开发 可编程 逻辑 器件 设计 开发
限制150内