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