复杂可编程逻辑器件CPLD优秀PPT.ppt
第五章可编程器件5.1可编程逻辑器件PLD概述5.2困难可编程器件(CPLD)5.3现场可编程门阵列(FPGA)5.4在系统可编程模拟器件(ispPAC)5.5可编程逻辑器件的设计流程【教学内容】【教学内容】【教学目的】【教学目的】可编程逻辑器件的分类、特点、基本结构、工作原理和完整设计流程。5.1可编程逻辑器件可编程逻辑器件PLD概述概述可编程逻辑器件(ProgrammableLogicDevice,简称PLD)是一种由用户依据自己要求来构造逻辑功能的数字集成电路。和具有固定逻辑功能的74系列数字电路不同,PLD本身没有确定的逻辑功能,就犹如一张白纸或是一积累木,要由用户利用计算机协助设计,即用原理图或硬件描述语言(HDL)的方法来表示设计思想,经过编译和仿真,生成相应的目标文件,再由编程器或下载电缆将设计文件配置到目标器件中,这时可编程器件(PLD)就可以作为满足用户要求的专用集成电路运用了,同时还可以利用PLD的可重复编程实力,随时修改器件的逻辑功能,而无须变更硬件电路。1基本结构基本结构PLD的基本结构如图5.1所示。它由输入缓冲、与阵列、或阵列和输出结构等四部分组成。其中输入缓冲电路可以产生输入变量的原变量和反变量,与阵列由与门构成用来产生乘积项,或阵列由或门构成用来产生乘积项之和形式的函数。输出结构相对于不同的PLD有所不同,有些是组合输出结构,可产生组合电路,有些是时序输出结构,可形成时序电路。输出信号还可通过内部通路反馈到与阵列的输入端。511 PLD基本结构与电路表示法基本结构与电路表示法图5.1PLD的基本结构框图2PLD电路表示法电路表示法 PLD电路表示法与传统表示法有所不同,主要因为PLD的阵列规模特别浩大,如用传统表示法极不便利。在x下图中给出了PLD的三种连接方式。连线交叉处有实点的表示固定连接;有符号“”的表示编程连接;连线单纯交叉表示不连接。下图中是一个三输入与门的两种表示法,即传统表示法和PLD电路表示法。在输入项很多的状况下,PLD表示法显得简洁便利。511 PLD基本结构与电路表示法基本结构与电路表示法由于历史的缘由,可编程逻辑器件的分类没有一个统一的标准。按其结构的困难程度及性能的不同。可编程逻辑器件一般可分为四种:SPLD、CPLD、FPGA及ISP器件。1简洁可编程逻辑器件(SPLD)简洁可编程逻辑器件SPLD(SimpleProgrammableLogicDevice)是可编程逻辑器件的早期产品。最早出现 在 20世 纪 70年 头,主 要 是 可 编 程 只 读 存 储 器(PROM)、可编程逻辑阵列(PLA)、可编程阵列逻辑(PAL)及通用阵列逻辑(GAL)器件等。简洁PLD的典型结构是由与阵列及或阵列组成的,能有效实现以“乘积和”为形式的布尔逻辑函数。512 PLD的分类的分类 512 PLD的分类的分类2困难可编程逻辑器件(困难可编程逻辑器件(CPLD)困困 难难 可可 编编 程程 逻逻 辑辑 器器 件件 CPLD(Complex Programmable Logic Device)出出现现在在20世世纪纪80年年头头末末期期。其其结结构构上上不不同同于于早早期期SPLD的的逻逻辑辑门门编编程程,而而是是接接受受基基于于乘乘积积项项技技术术和和E2PROM(或或Flash)工工艺艺的的逻逻辑辑块块编编程程,不不但但能能实实现现各各种种时时序序逻逻辑辑限限制制,更更适适合合做做困困难难的的组组合合逻逻辑辑电电路路。如如Altera公公司司的的MAX系系列列,Lattice公公司司的的大大部部分分产产品品,Xilinx公公司司的的XC9500系系列列等。等。3现场可编程门阵列(现场可编程门阵列(FPGA)现现场场可可编编程程门门阵阵列列FPGA(Field Programmable Gate Array)是是由由美美国国Xilinx(赛赛灵灵思思)公公司司领领先先开开发发的的一一种种通通用用型型用用户户可可编编程程器器件件。FPGA与与SPLD和和CPLD的的结结构构完完全全不不同同,它它不不包包括括与与门门和和或或门门,目目前前应应用用最最多多的的FPGA是是接接受受对对基基于于查查找找表表技技术术和和SRAM工工艺艺的的逻逻辑辑块块编编程程来来实实现现所所需需的的逻逻辑辑功功能能的的。同同CPLD相相比比,它它的的逻逻辑辑块块的的密密度度更更高高、触触发发器器更更多多、设设计计更更敏敏捷捷,多多用用于于大大规规模模电电路路的的设设计计,尤尤其其更更适适合合做做困困难难的的时时序序逻逻辑辑。但但由由于于FPGA接接受受的的是是SRAM工工艺艺,掉掉电电后后数数据据会会丢丢失失,因因此此实实际际应应用用时时还还须须外外挂挂一一个个E2PROM或或Flash Memory来来存存储储编编程程数数据据。典典型型 的的 器器 件件 如如 Altera公公 司司 的的 全全 部部 FLEX、ACEX、APEX、Cyclone(飓飓风风)、Stratix系系列列,Xilinx的的Spartan、Virtex系系列列等。等。512 PLD的分类的分类4在系统可编程逻辑器件(在系统可编程逻辑器件(ISP)在在系系统统可可编编程程逻逻辑辑器器件件ISP(In-System Programmable PLD,通通常常简简称称ISP-PLD)是是1992年年由由美美国国的的Lattice(莱莱迪迪思思)公公司司领领先先推推出出的的。它它是是一一种种接接受受了了在在系系统统可可编编程程技技术术的的PLD,与与传传统统编编程程技技术术的的最最大大区区分分是是它它不不运运用用编编程程器器,而而是是通通过过下下载载电电缆缆与与计计算算机机干干脆脆相相连连,用用户户在在自自己己设设计计的的目目标标系系统统中中干干脆脆对对器器件件编编程程。这这种种全全新新的的设设计计方方法法可可以以使使可可编编程程逻逻辑辑器器件件先先装装配配后后编编程程,成成为为产产品品后后还还可可以以反反复复编编程程,使使生生产产维维护护和和系系统统更更新新都都发发生生了了革命性的变更。革命性的变更。在在系系统统编编程程是是运运用用一一根根下下载载电电缆缆一一端端连连在在计计算算机机的的并并行行打打印印口口上上,另另一一端端接接在在装装配配了了可可编编程程逻逻辑辑器器件件的的PCB板板上上的的插插头头中中(目目前前大大都都运运用用JTAG口口),早早期期的的PLD是是不不支支持持ISP技技术术的的,目前的目前的CPLD、FPGA都支持都支持ISP技术可实现在线编程。技术可实现在线编程。512 PLD的分类的分类52 困难可编程逻辑器件(困难可编程逻辑器件(CPLD)困难可编程器件CPLD是随着用户对可编程器件的集成度要求不断提高的形式下发展起来的,其基本结构与PAL/GAL相仿,是基于与或阵列的乘积项结构,但集成度要高得多。CPLD大都是由E2PROM和Flash工艺制造的,可反复编程,一上电就可以工作,无须其他芯片协作。接受这种结构的商用CPLD的芯片较多,其性能也各有特点.Altera公司是全球最大的CPLD和FPGA供应商之一,它的PLD器件和开发软件在国内应用的特别广泛,本节将以Altera公司应用较为广泛的MAX7000系列器件为例来介绍CPLD的基本结构和原理。52 困难可编程逻辑器件(困难可编程逻辑器件(CPLD)1 Altera 公司公司MAX7000系列简介系列简介 MAX7000系列是高密度、高性能的系列是高密度、高性能的CMOS CPLD,是在,是在Altera公司的其次代公司的其次代MAX结构基础上构成,接受了结构基础上构成,接受了CMOS E2PROM 技术制造的,技术制造的,MAX7000系列系列CPLD包括了从含有包括了从含有32个宏单元的个宏单元的7032到含有到含有512个宏单元的个宏单元的7512一系列芯片。一系列芯片。同时它又可细分为同时它又可细分为MAX7000,MAX7000E,MAX7000S,MAX7000A四个品种。四个品种。MAX7000系列可以用于混合电压的系统中,其开发系统系列可以用于混合电压的系统中,其开发系统主要是主要是Altera公司的公司的MAX+PLUSII及及QuartusII软件。软件。52 困难可编程逻辑器件(困难可编程逻辑器件(CPLD)2MAX7000系列器件的结构系列器件的结构MAX7000CPLD的总体结构及外引脚如图所示52困难可编程逻辑器件(CPLD)由内部结构图可以看出,MAX7000CPLD主要分为三个部分:宏单元Macrocell,可编程连线PIA(ProgrammableInterconnectArray)和I/O限制块。宏单元是CPLD的基本结构,由它来实现基本的逻辑功能,16个宏单元组成一个逻辑阵列块LAB(LogicArrayBlock)。可编程连线PIA负责信号的传递,连接全部的宏单元。I/O限制块负责输入输出的电气特性限制,比如可以设定集电极开路输出,三态输出等。3.宏单元(MACROCELL)宏单元是MAX7000CPLD的基本结构,它能够单独地配置为时序逻辑和组合逻辑工作方式。宏单元由三个功能块组成:逻辑阵列、乘积项选择矩阵和可编程触发器。其具体结构见x下图所示,图中左侧是逻辑阵列又叫乘积项阵列,实际就是一个与或阵列,每一个交叉点都是一个可编程熔丝,假如导通就是实现“与”逻辑。后面的乘积项选择矩阵是一个“或”阵列。两者一起完成组合逻辑。图右侧是一个可编程D触发器,它的时钟,清零输入都可以编程选择,可以运用专用的全局清零和全局时钟,也可以运用内部逻辑(乘积项阵列)产生的时钟和清零。假如不须要触发器,也可以将此触发器旁路,信号干脆输出给PIA或输出到I/O脚。52 困难可编程逻辑器件(困难可编程逻辑器件(CPLD)52困难可编程逻辑器件(CPLD)对于一个简洁的组合或时序电路,只须要一个宏单元就可以完成它的逻辑功能,但对于一个困难的电路,一个宏单元是不行能实现的,这是就须要通过并联扩展项和共享扩展项将多个宏单元相连,宏单元的输出也可以连接到可编程连线阵列,再作为另一个宏单元的输入。这样CPLD就可以实现更困难的逻辑功能了。53 现场可编程门阵列(现场可编程门阵列(FPGA)现场可编程门阵列FPGA是20世纪80年头出现的一种新型可编程逻辑器件。它由若干独立的可编程逻辑模块组成,用户可以通过编程将这些模块连接成所须要的数字系统。因为这些模块的排列形式和门阵列(GateArray)中单元的排列形式相像,所以沿用了门阵列的名称。FPGA属高密度的PLD,其集成度特别高,多用于大规模逻辑电路的设计。商用的FPGA是基于查找表LUT(Look-UpTable)技术和SRAM工艺的FPGA,它运用的最为广泛,也是我们学习的重点,本节还是以Altera公司的基于LUT技术和SRAM工艺的FLEX10K系列器件为例来介绍FPGA的基本结构和原理。53 现场可编程门阵列(现场可编程门阵列(FPGA)1 Altera 公司公司FLEX10K系列简介系列简介FLEX10K是是Altera公公司司1995年年推推出出的的一一个个新新的的产产品品系系列列,并并首首次次集集成成了了嵌嵌入入式式存存储储块块,可可为为用用户户供供应应多多达达24KB的的片片内内RAM,以以满满足足存存储储器器密密集集型型应应用用的的须须要要。FLEX10K系系列列FPGA包包括括了了从从10K10到到10K250一一系系列列芯芯片片,它它们们分分别别供供应应了了1万万到到25万万个个门门,其其结结构构类类似似于于嵌嵌入入式式门门阵阵列列,每每个个FLEX10K器器件件包包括括一一个个嵌嵌入入式式阵阵列列和和一一个个逻逻辑辑阵阵列列。嵌嵌入入式式阵阵列列用用来来实实现现各各种种不不同同的的存存储储功功能能或或困困难难的的逻逻辑辑功功能能。如如数数字字信信号号处处理理、微微限限制制器器、宽宽数数据据路路径径处处理理和和数数据据传传输输功功能能。逻逻辑辑阵阵列列完完成成与与门门阵阵列列中中的的门门海海一一样样的的功功能能。如如计计数数器器、加加法法器器、多多路路选选择择器器等等通通用用逻逻辑辑。嵌嵌入入式式阵阵列列和和逻逻辑辑阵阵列列的的结结合合供供应应了了嵌嵌入入式式门门阵阵列列的的高高性性能能和和高高密密度度,可可以使设计者在某个器件上实现一个完整的系统。以使设计者在某个器件上实现一个完整的系统。53 现场可编程门阵列(现场可编程门阵列(FPGA)2 FLEX10K系列器件的结构系列器件的结构下图示出了FLEX10K系列FPGA的结构框图。FLEX10K的结构主要由逻辑阵列块LAB(Logic Array Block),输入输出单元IOE(In Out Element),可编程的行/列连线以及带有RAM的嵌入式阵列块EAB(Embedded Array Block)等几部分组成。LAB和EAB是FPGA的最主要结构,它们由可编程行/列连线相连接,这些连线同样也连接着芯片的输入输出管脚。53 现场可编程门阵列(现场可编程门阵列(FPGA)每个FLEX10K器件包含一个实现存储和专用逻辑功能的嵌入阵列和一个实现一般逻辑的逻辑阵列。嵌入阵列由一系列嵌入阵列块EAB构成。实现存储功能时,每个EAB供应2048bit,可用来完成RAM、ROM、双口RAM或者FIFO功能。实现逻辑功能时,每个EAB可供应100到600门以实现困难的逻辑功能,照实现乘法器、微限制器、状态机和数字信号处理功能。EAB可以单独运用或多个EAB联合运用以实现更强的功能。53 现场可编程门阵列(现场可编程门阵列(FPGA)3查找表LUT(Look-UpTable)的原理与结构目前广泛运用的FPGA大多是基于查找表LUT结构的,LUT本质上就是一个RAM。目前FPGA中多运用4输入的LUT,所以每一个LUT可以看成一个有4位地址线161的RAM。当用户通过原理图或HDL语言描述了一个逻辑电路以后,FPGA的开发软件会自动计算逻辑电路的全部可能的结果,并把结果事先写入RAM,这样每输入一个信号进行逻辑计算就等于输入一个地址进行查表,找出地址对应的内容,然后输出即可。表5.3是一个四输入与门LUT的例子53 现场可编程门阵列(现场可编程门阵列(FPGA)表5.3四输入与门LUT53 现场可编程门阵列(现场可编程门阵列(FPGA)由于LUT主要适合SRAM工艺生产,所以目前大部分FPGA都是基于SRAM工艺的,而SRAM工艺的芯片在掉电后信息就会丢失,确定须要外加一片专用配置芯片,在上电的时候。由这个专用配置芯片把数据加载到FPGA中,然后FPGA就可以正常工作,由于配置时间很短,不会影响系统正常工作。也有少数FPGA接受反熔丝或Flash工艺,对这种FPGA,就不须要外加专用的配置芯片。54 在系统可编程模拟器件(在系统可编程模拟器件(ispPAC)ispPAC是1999年11月由美国Lattice公司推出的在系统可 编 程 模 拟 电 路 (In-System ProgrammabilityProgrammableAnalogCircuits),从而翻开了模拟电路设计方法的新篇章。为电子设计自动化(EDA)技术的应用开拓了更广阔的前景。与数字的在系统可编程大规模集成电路(ispLSI)一样,在系统可编程模拟器件允许设计者使用开发软件在计算机中设计、修改模拟电路,进行电路特性模拟,最后通过编程电缆将设计方案下载至芯片中。目前Lattice公司已推出了七种可编程模拟器件:ispPAC10,ispPAC20,ispPAC30,ispPAC80,ispPAC81,ispPAC-POWR1208和ispPAC-POWR604。541 在系统可编程模拟器件的电路结构在系统可编程模拟器件的电路结构1ispPAC10 的结构与原理的结构与原理(1)内部结构ispPAC10器件的内部结构如下图所示,由四个基本单元电路:模拟布线池,配置存储器,参考电压,自动校正单元和ISP接口所组成。其基本单元电路称为PAC块(PACblock),模拟信号的输入与PAC块和PAC块之间的连接通过模拟布线池进行可编程连接;配置存储器是电擦除的ECOMS存储器,可重复编程,设计方案以数据的形式存储在配置存储器中;ISP接口电路是为计算机与ispPAC器件之间进行信息传输而设置的。541 在系统可编程模拟器件的电路结构在系统可编程模拟器件的电路结构该器件采用+5V单电源供电,无需外围元件就可以敏捷实现诸如精密滤波、求和/求差、增益/衰减和积分等基本模拟功能。541 在系统可编程模拟器件的电路结构在系统可编程模拟器件的电路结构(2)PAC块结构ispPAC10的基本单元电路称为PAC块(PACblock),它由两个仪用放大器和一个输出放大器所组成,配以电阻、电容构成一个真正的差分输入,差分输出的基本单元电路,如图5.12所示。所谓真正的差分输入,差分输出是指每个仪用放大器有两个输入端,输出放大器的输出也有两个输出端。电路的输入阻抗为109,共模抑制比为69db,增益调整范围为10至10。PAC块中电路的增益和特性都可以用可编程的方法来改变,可配置成1至10000倍的各种增益。输出放大器中的电容CF有128种值可供选择。反馈电阻RF可以断开或连通。器件中的基本单元可以通过模拟布线池(AnalogRoutingPool)实现互联,以便实现各种电路的组合。541 在系统可编程模拟器件的电路结构在系统可编程模拟器件的电路结构2ispPAC20 的结构与原理的结构与原理(1)内部结构ispPAC20器件由两个基本单元电路PAC块、两个比较器、一个8位的D/A转换器、配置存储器、参考电压、自动校正单元和ISP接口所组成。其内部结构框图如下图所示。541 在系统可编程模拟器件的电路结构在系统可编程模拟器件的电路结构ispPAC20器件有44个端子的PLCC和TQFP两中封装形式。除了模拟输入、模拟输出端子,电源、接地端子,isp接口电路输入、输出端子以及自动校准使能端子CAL、参考电压输出VREFOUT、外部模拟电压输入端子CMVIN,还有数模转换器DAC的数字输入端子D7D0、模拟差分输出端子DACOUT+/DACOUT-,比较器的差分输入端子CPIN+/CPIN-和逻辑输出端子CP1OUT、CP2OUT,此外还有片选信号CS、多路输入限制端MSEL、极性限制端PC、DAC模式选择输入端DMODE等特殊用途的端子。541 在系统可编程模拟器件的电路结构在系统可编程模拟器件的电路结构3ispPAC30 的结构与原理的结构与原理 ispPAC30 提 供 可 编 程、多 个 单 端,差 分 输 入 方 式、能 设 置 精 确 的 增 益,具 有 补 偿 调 整、滤 波、和 比 较 功 能。除 了E2CMOS 配 置 存 储 器 外,它 最 主 要 的 特 性 是 能 够 通 过 SPI 对 器 件 进 行 实 时 动 态 重 构。设 计 者 可 以 改 变 和 重 构 ispPAC30 无 数 次,用 于 放 大 器 增 益 控 制 或 其 他 需 要 动 态 改 变 电 路 参 数 的 应 用。其内部结构如下图所示。541 在系统可编程模拟器件的电路结构在系统可编程模拟器件的电路结构(1)输入单元任何输入引脚都可联接至4个输入仪表放大器(IA),两个二选一选择器,或者MDAC。输出放大器可以联接至所有输入单元。因此,ispPAC30具有很大的灵活性,能方便地构成信号求和,级联增益块,复杂反馈电路。直接接至输入引脚的输入信号范围为02.8V。使用差分输入时,信号可以是任意极性,只要最终输出放大器的输出不低于0V。采用单端输入时,把引脚Vin接地。四个输入放大器中的两个前端带有二选一选择器。IA1,IA4的输入通道由外部引脚MSEL1和MSEL2分别来控制。541 在系统可编程模拟器件的电路结构在系统可编程模拟器件的电路结构(2)内 部 参 考 电 压 器 件 中 含 有 两 个 独 立 的 参 考 电 压 VREF1 和 VREF2,用 以 向 四 个 输 入 仪 表 放 大 器(IA)、两 个 MDAC 提 供 固 定 的 参 考 电 压。每 个 VREF 有7 种 不 同 的 电 平,(3)MDAC 器 件 中 有 两 个8 位 的 MDAC,它 接 受 参 考 输 入 信 号、外 部 信 号、内 部 信 号 和 固 定 的 直 流 电 压(如 内 部 的VREF)。MDAC 的 功 能 是 用 一 个 值 乘 以(实 际 上 是 衰 减)输 入 信 号,这 个 值 对 应 于DAC 设 置 的 码。并 可 独 立 地 编 程。541 在系统可编程模拟器件的电路结构在系统可编程模拟器件的电路结构(4)输出放大器ispPAC30有两个输出放大器(OA)。放大器的输出范围从0V到5V。输出放大器的输出端已在器件内部联接至输出引脚。输出可以联接至任意一个输入仪表放大器IA或MDAC的输入。每个OA都可配置成全带宽放大器、低通滤波器、积分电路或者比较器。541 在系统可编程模拟器件的电路结构在系统可编程模拟器件的电路结构4IspPAC80 的结构与原理的结构与原理 ispPAC80可可实实现现五五阶阶、连连续续时时间间、低低通通模模拟拟滤滤波波器器。无无需需外外部部元元件件或或时时钟钟。在在PAC-Designer 设设计计软软件件中中的的集集成成滤滤波波器器数数据据库库供供应应数数千千个个模模拟拟滤滤波波器器,频频率率范范围围从从50kHz到到750kHz。可可对对随随意意一一个个五五阶阶低低通通滤滤波波器器执执行行仿仿真真和和编编程程,滤滤波波器器类类型型为为:Gaussian、Bessel、Butterworth、Legendre、两两个个线线性性相相位位等等纹纹波波延延迟迟误误差差滤滤波波器器(Linear Phase Equiripple Delay Error filter),3个个Chebyshev,12个个有有不不同同脉动系数的脉动系数的Elliptic滤波器。滤波器。541 在系统可编程模拟器件的电路结构在系统可编程模拟器件的电路结构ispPAC80内部结构如下图所示,内含一个增益为1、2、5或10可选的差分输入仪表放大器(IA),和一个多放大器差分滤波器PACblock,此PACblock包括一个差分输出求和放大器(OA)。通过片内非易失E2CMOS可配置增益设置和电容器值。器件配置由PAC-Designer软件设定,经由JTAG下载电缆下载到ispPAC80。541 在系统可编程模拟器件的电路结构在系统可编程模拟器件的电路结构5ispPAC81 的结构与原理的结构与原理 与与ispPAC80器器件件极极为为相相像像,ispPAC81器器件件亦亦是是用用于于实实现现五五阶阶、连连续续时时间间、低低通通模模拟拟滤滤波波器器。所所不不同同的的是是用用ispPAC81可可实实现现更更低低频频率率的的滤滤波波器器,其其频频率率范范围围从从10kHz到到75kHz。PAC-Designer 1.3版版本本的的软软件件支支持持ispPAC81器器件件,其其设设计计操操作与作与ispPAC80器件基本相同。器件基本相同。其内部结构如下图所示。其内部结构如下图所示。55 可编程逻辑器件的设计流程可编程逻辑器件的设计流程 可编程逻辑器件的设计是指利用开发软件和编程工具对器件进行开发的过程。它包括设计准备、设计输入、设计处理和器件编程四个步骤以及相应的功能仿真、时序仿真和器件测试三个设计验证过程。如下图所示。55 可编程逻辑器件的设计流程可编程逻辑器件的设计流程1设计准备设计准备 在在对对可可编编程程逻逻辑辑器器件件的的芯芯片片进进行行设设计计之之前前,设设计计者者要要依依据据任任务务的的要要求求,进进行行功功能能描描述述及及逻逻辑辑划划分分,按按所所设设计计任任务务的的形形式式划划分分为为若若干干模模块块,并并画画出出功功能能框框图图,确确定定输输入入和和输输出出管管脚脚。再再依依据据系系统统所所要要完完成成功功能能的的困困难难程程度度,对对工工作作速速度度和和器器件件本本身身的的资资源源、连连线线的的可可布布通通性性等等方方面面进进行行权权衡衡,选选择择合合适适的的设设计计方方案案。在在前前面面已已经经介介绍绍过过,数数字字系系统统的的设设计计方方法法通通常常接接受受从从顶顶向向下下的的设设计计方方法法,这这也也是是基基于于芯芯片片的的系系统统设设计计的的主主要要方方法法。由由于于高高层层次次的的设设计计与与器器件件及及工工艺艺无无关关,而而且且在在芯芯片片设设计计前前就就可可以以用用软软件件仿仿真真手手段段验验证证系系统统可可行行性性,因因此此它它有有利利于于在在早早期期发发觉觉结结构构设设计计中中发发觉觉错错误误,避避开开不不必必要要的的重重复复设设计计,提提高高设设计计的的一一次次成成功功率率。自自顶顶向向下下的的设设计计接接受受功功能能分分割割的的方方法法从从顶顶向向下下逐逐次次进进行行划划分分,这这种种层层次次化化设设计计的的另另一一个个优优点点是是支支持模块化,从而可以提高设计效率。持模块化,从而可以提高设计效率。55 可编程逻辑器件的设计流程可编程逻辑器件的设计流程2设计输入设计输入 设设计计者者将将所所设设计计的的系系统统或或电电路路以以开开发发软软件件要要求求的的某某种种形形式式表表现现出出来来,并并过过程程称称为为设设计计输输入入。设设计计输输入入通通常常有有以以下下几几种种方方式。式。(1)原理图输入方式)原理图输入方式 这这是是一一种种最最干干脆脆的的输输入入方方式式,它它运运用用软软件件系系统统供供应应的的元元器器件件库库及及各各种种符符号号和和连连线线画画出出原原理理图图,形形成成原原理理图图输输入入文文件件。这这种种方方式式大大多多用用在在对对系系统统及及各各部部分分电电路路很很熟熟悉悉的的状状况况,或或在在系系统统对对时时间间特特性性要要求求较较高高的的场场合合。当当系系统统功功能能较较困困难难时时,输输入入方方式式效效率率低低,它它的的主主要要优优点点是是简简洁洁实实现现仿仿真真,便便于于信信号号的的视察和电路的调整。视察和电路的调整。55 可编程逻辑器件的设计流程可编程逻辑器件的设计流程(2)硬件描述语言输入方式硬件描述语言用文本方式描述设计,它分为一般硬件描述语言和行为描述语言。一般硬件描述语言有ABEL-HDL、CUPL等,它们支持逻辑方程、真值表、状态机等逻辑表达方式,目前在逻辑电路设计中已较少运用。行为描述是目前常用的高层次硬件描述语言,有VHDL和Verlog-HDL等,它们都已成为IEEE标准,并且有很多突出的优点:如工艺的无关性,可以在系统设计、逻辑验证阶段便可确立方案的可行性:如语言的公开可利用性,使它们便于实现大规模系统的设计等;同时硬件描述语言具有较强的逻辑描述和仿真功能,而且输入效率高,在不同的设计输入库之间转换特别便利。因此,运用VHDL、Verilog-HDL硬件描述语言设计已是当前的趋势。55 可编程逻辑器件的设计流程可编程逻辑器件的设计流程(3)原理图和硬件描述语言混合输入方式原理图和硬件描述语言混合输入方式是一种层次化的设计输入方法。在层次化设计输入中,硬件描述语言常用于底层的逻辑电路设计,原理图常用于顶层的电路设计。这是在设计较困难的逻辑电路时的一种常用的描述方式。(4)波形输入方式波形输入主要用于建立和编程波形设计文件及输入仿真向量和功能测试向量。波形设计输入适合于时序逻辑和有重复性的逻辑函数。系统软件可以依据用户的输入输出波形自动生成逻辑关系。55 可编程逻辑器件的设计流程可编程逻辑器件的设计流程3设计处理设计处理 这这是是器器件件设设计计中中的的核核心心环环节节。在在设设计计,编编译译软软件件将将对对设设计计输输入入文文件件进进行行逻逻辑辑化化简简、综综合合和和优优化化,并并适适当当地地用用一一片片或或多多片器件自动进行适配,最终产生编程用的编程文件。片器件自动进行适配,最终产生编程用的编程文件。(1)语法检查和设计规则检查)语法检查和设计规则检查 设设计计输输入入完完成成之之后后,在在编编译译过过程程首首先先进进行行语语法法检检验验,如如检检查查原原理理图图有有无无漏漏连连信信号号线线,信信号号有有无无双双重重来来源源,文文本本输输入入文文件件中中的的关关键键字字有有无无输输错错等等各各种种语语法法错错误误,并并刚刚好好列列出出错错误误信信息息报报告告供供设设计计者者修修改改;然然后后进进行行设设计计规规则则检检验验,检检查查总总的的设设计计有有无无超超出出器器件件资资源源或或规规定定的的限限制制并并将将编编译译报报告告列列出出,指指明明违违反规则状况供设计者订正。反规则状况供设计者订正。55 可编程逻辑器件的设计流程可编程逻辑器件的设计流程(2)逻辑优化和综合化简全部的逻辑方程和用户自建的宏,使设计所占用的资源最少。综合的目的是将多个模块设计文件合并为一个网表文件,并使层次化设计平面化(即展平)。(3)适配和分割确定优化以后的逻辑能否与器件中的宏单元和I/0单元适配,然后将设计分割为多个适配的逻辑小块形式影射到器件相应的宏单元中。假如不能装入一片器件时,可以将整个设计自动分割成多块并装入同一系列的多片器件中去。55 可编程逻辑器件的设计流程可编程逻辑器件的设计流程(4)布局和布线布局和布线工作是在设计检验通过以后由软件自动完成的,它能以最优的方式对逻辑元件布局,并精确地实现元件间的互连。布线以后软件会自动生成布线报告,供应有关设计中各部分资源的运用状况等信息。(5)生成编程数据文件设计处理的最终一步是产生可供器件编程运用的数据文件。对CPLD来说,是产生熔丝图文件,即JEDEC文件(电子器件工程联合制定的标准格式,简称JED文件);对于FPGA来说,是生成位数据文件(BitstreamGeneration)。55 可编程逻辑器件的设计流程可编程逻辑器件的设计流程4设计校验设计校验 设设计计校校验验过过程程包包括括功功能能仿仿真真和和时时序序仿仿真真,这这两两项项工工作作是是在在设计处理过程中间同时进行的。设计处理过程中间同时进行的。功功能能仿仿真真又又称称为为前前仿仿真真,此此时时的的仿仿真真没没有有延延时时信信息息,对对于于初初步步的的功功能能检检测测特特别别便便利利。仿仿真真前前,要要先先利利用用波波形形编编辑辑器器或或硬硬件件描描述述语语言言等等建建立立波波形形文文件件或或测测试试向向量量(即即将将所所关关切切的的输输入入信信号号组组合合成成序序列列),仿仿真真结结果果将将会会生生成成报报告告文文件件和和输输出出信信号号波波形形,从从中中便便可可以以视视察察到到各各个个节节点点的的信信号号变变更更。若若发发觉觉错错误误,则则返返回回设设计计输输入入中中修修改改逻逻辑辑设设计计。时时序序仿仿真真又又称称后后仿仿真真或或延延时时仿仿真真。由由于于不不同同器器件件的的内内部部延延时时不不一一样样,不不同同的的布布局局、布布线线方方案案也也给给延延时时造造成成不不同同的的影影响响,设设计计后后,对对系系统统和和各各模模块块,分分析析其其时时序序关关系系,估估计计设设计计的的性性能能以以及及消消退退竞竞争争冒冒险险是是必要的。这是和器件实际工作状况基本相同的仿真。必要的。这是和器件实际工作状况基本相同的仿真。55 可编程逻辑器件的设计流程可编程逻辑器件的设计流程5器件编程器件编程 器器件件编编程程是是指指将将编编程程数数据据下下载载到到可可编编程程逻逻辑辑器器件件中中去去。对对CPLD器器件件来来说说是是将将JED文文件件“下下载载(Down Load)”到到CPLD器器件件中中去去,对对FPGA来来说说是是将将位位流数据流数据BG文件文件“配置配置”到到FPGA中去。中去。器器件件编编程程须须要要满满足足确确定定的的条条件件,如如编编程程电电压压、编编程程时时序序和和编编程程算算法法等等。较较早早的的CPLD器器件件和和一一次次性性编编程程的的FPGA须须要要专专用用的的编编程程器器完完成成器器件件的的编编程程工工作作。接接受受在在系系统统可可编编程程技技术术的的器器件件)则则不不须须要要专专用用的的编编程程器器,只只要要一一根根下下载载编编程程电电缆缆就就可可以以了了。基基于于SRAM的的FPGA还还要要由由EPROM、Flash Memory或或其他专配置芯片进行配置。其他专配置芯片进行配置。