收藏 分销(赏)

CPLD-FPGA概述.ppt

上传人:可**** 文档编号:779171 上传时间:2024-03-14 格式:PPT 页数:45 大小:2.83MB
下载 相关 举报
CPLD-FPGA概述.ppt_第1页
第1页 / 共45页
CPLD-FPGA概述.ppt_第2页
第2页 / 共45页
CPLD-FPGA概述.ppt_第3页
第3页 / 共45页
CPLD-FPGA概述.ppt_第4页
第4页 / 共45页
CPLD-FPGA概述.ppt_第5页
第5页 / 共45页
点击查看更多>>
资源描述

1、CPLD/FPGA设计 课 程 目 标 学会使用硬件描述语言代替传统的数字电路设计方法来设计数字系统;掌握Alter/Xilinx FPGA开发工具及仿真环境。CHAP1 CPLD/FPGA概述目 录1.1 CPLD/FPGA的发展历程的发展历程 1.2 CPLD/FPGA的设计流程的设计流程 1.1 CPLD/FPGA的发展历程 1、名词解释CPLDComplex Programmable Logic Device复杂可编程逻辑器件FPGAField Programmable Gate Array现场可编程逻辑门阵列逻辑器件用来实现某种特定逻辑功能的电子器件,最简单的逻辑器件是与、或、非门,

2、在此基础上可实现复杂的时序和组合逻辑功能。可编程逻辑器件器件的功能不是固定不变的,而是可根据用户的需要而进行改变,即由编程的方法来确定器件的逻辑功能。2、中小规模数字电子电路设计数字电路设计的基本方法布尔函数数字系统数学基础(卡诺图)组合电路设计问题逻辑关系真值表化简逻辑图时序电路设计列出原始状态转移图和表状态优化状态分配触发器选型求解方程式逻辑图中小规模数字电路设计局限设计方法的局限卡诺图只适用于输入比较少的函数的化简。采用”搭积木”的方法进行设计.必须熟悉各种中小规模芯片使用方法,从中挑选最合适的器件,缺乏灵活性.设计系统所需要的芯片种类多,且数量很大。采用中小规模器件的局限电路板面积很大

3、,芯片数量很多,功耗很大,可靠性低设计比较困难电路修改很麻烦PLD器件出现提高芯片的集成度能方便地发现设计错误提供方便的修改手段 3、PLD出现的背景电路集成度不断提高SSIMSILSIVLSI计算机技术的发展使EDA技术得到广泛应用设计方法的发展自下而上自上而下用户需要设计自己需要的专用电路专用集成电路(ASICApplication Specific Integrated Circuits)开发周期长,投入大,风险大可编程器件PLD:开发周期短,投入小,风险小 4、PLD器件的优点集成度高,可以替代多至几千块通用IC芯片极大减小电路的面积,降低功耗,提高可靠性具有完善先进的开发工具提供语言

4、、图形等设计方法,十分灵活通过仿真工具来验证设计的正确性可以反复地擦除、编程,方便设计的修改和升级灵活地定义管脚功能,减轻设计工作量,缩短系统开发时间保密性好l5、PLD器件的命名与选型lEP1K 100 S Q C 2081lEP1K:产品系列为EP1K000系列l100:有100个逻辑宏单元lS:电压为5V,AE为3.3V,B为2.5VlQ:Q代表封装形式为PQFP,L封装为PLCC等lC:商业级(Commercial)070度,I:工业级(Industry),4085度M:军品级(Military),55125度l208:管脚数目l-1:速度级别,10是250MHz 管脚数目:208个电

5、源:3.3V(I/O)2.5V(内核)速度:250MHz内部资源:4992个逻辑单元 10万个逻辑门 49152 bit的RAM 6、PLD的发展趋势向高集成度、高速度方向进一步发展最高集成度已达到400万门向低电压和低功耗方向发展5V3.3V2.5V1.8V更低内嵌多种功能模块RAM,ROM,FIFO,DSP,CPU向数、模混合可编程方向发展 最大的PLD供应商之一 FPGA的发明者,最大的PLD供应商之一 ISP技术的发明者 提供军品及宇航级产品l7、大的PLD生产厂家 8、PLD器件的分类按集成度低密度PROM,EPROM,EEPROM,PAL,PLA,GAL只能完成较小规模的逻辑电路高

6、密度,已经有超过400万门的器件EPLD,CPLD,FPGA可用于设计大规模的数字系统集成度高,甚至可以做到SOC(System On a Chip)按结构特点基于与或阵列结构的器件阵列型PROM,EEPROM,PAL,GAL,CPLDCPLD的代表芯片如:Altera的MAX系列基于门阵列结构的器件单元型FPGA12l按编程工艺l熔丝或反熔丝编程器件Actel的FPGA器件体积小,集成度高,速度高,易加密,抗干扰,耐高温只能一次编程,在设计初期阶段不灵活lSRAM大多数公司的FPGA器件可反复编程,实现系统功能的动态重构每次上电需重新下载,实际应用时需外挂EEPROM用于保存程序lEEPRO

7、M大多数CPLD器件可反复编程不用每次上电重新下载,但相对速度慢,功耗较大 13可编程逻辑器件可编程逻辑器件(PLD)(PLD)可可编编程程逻辑阵逻辑阵列列 (PLA)(PLA)可可编编程程阵阵列列逻辑逻辑 (PAL)(PAL)CPLD/FPGACPLD/FPGA早期 l11、CPLD/FPGA的发展历程 14l9、PLD中的逻辑结构 1)PROM结构PROM是可编程序只读存储器的简称,它具有一个固定的全解码与门逻辑阵列和一个可编程的或门逻辑阵列。与阵列为全译码阵列,器件的规模将随着输入信号数量n的增加成2n指数级增长。因此PROM一般只用于数据存储器,不适于实现逻辑函数。EPROM和EEPR

8、OM 用用PROM实现组合逻辑电路功能实现组合逻辑电路功能实现的函数为:实现的函数为:固定连接点固定连接点(与)(与)编程连接点编程连接点(或)(或)l2)PLA结构lPLA(Programmable Logic Array)是可编程逻辑阵列的简称,它包含了可编程的与门和或门逻辑阵列,一般采用熔丝结构。它的内部结构在简单PLD中有最高的灵活性。l3)PAL结构lPAL(Programmable Array Logic)是可编程阵列逻辑的简称,它包含有一个可编程的与门逻辑阵列和一个固定的或门逻辑阵列。l与阵列可编程使输入项增多,或阵列固定使器件简化。l或阵列固定明显影响了器件编程的灵活性。逻辑宏

9、单元OLMC输出使能选择反馈信号选择或门控制选择输出选择 4)GAL结构GAL(Generic Array Logic)是通用阵列逻辑的简称。GAL器件与PAL器件的区别在于用可编程的输出逻辑宏单元(OLMC,Output Logic Macro Cell)代替固定的或阵列。可以实现时序电路。每个OLMC包含或阵列中的一个或门,组成为:异或门:控制输出信号的极性D触发器:适合设计时序电路4个多路选择器逻辑阵列模块I/O单元连线资源逻辑阵列模块中包含多个宏单元 5)CPLD内部结构(Altera的MAX7000S系列)基于乘积项的CPLD的基本结构 这种CPLD的结构可分为三块:可编程逻辑阵列(

10、LAB)、可编程连线(PIA)和可编程I/O控制块。A.可编程逻辑阵列是器件的基本结构,由若干个可编程逻辑宏单元(Logic Macro Cell,LMC)组成,它实现基本的逻辑功能.LMC内部主要包括与阵列、或阵列、可编程触发器和多路选择器等电路,能独立地配置为时序或组合工作方式。23a.乘积共享结构在CPLD的宏单元中,如果输出表达式的与项较多,对应的或门输入端不够用,可以借助可编程开关将同一单元(或其他单元)中的其他或门与之联合起来使用,或者在每个宏单元中提供未使用的乘积项给其他宏单元使用。24b.多触发器结构早期可编程器件的每个输出宏单元只有一个触发器,而CPLD的宏单元内部通常含两个

11、或两个以上的触发器,其中只有一个触发器与输出端相连,其余触发器的输出不与输出端相连,但可以通过相应的缓冲电路反馈到与阵列,从而与其他触发器一起构成较复杂的时序电路。这些不与输出端相连的内部触发器就称为“隐埋”触发器。这种结构可以不增加引脚数目,而增加其内部资源。c.异步时钟早期可可编程器件只能实现同步时序电路,在CPLD器件中各触发器的时钟可以异步工作,有些器件中触发器的时钟还可以通过数据选择器或时钟网络进行选择。此外,输出宏单元内触发器的异步清零和异步置位也可以用乘积项进行控制,因而使用更加灵活。25 B.可编程的I/O单元CPLD的I/O单元(Input/Output Cell,IOC)是

12、内部信号到I/O引脚的接口部分。根据器件和功能的不同,各种器件的结构也不相同。由于阵列型器件通常只有少数几个专用输入端,大部分端口均为I/O端,而且系统的输入信号通常需要锁存。因此I/O常作为一个独立单元来处理。能兼容TTL和CMOS多种接口和电压标准可配置为输入、输出、双向、集电极开路和三态等形式能提供适当的驱动电流降低功耗,防止过冲和减少电源噪声支持多种接口电压(降低功耗)1.20.5um,5V0.35um,3.3V0.25um,internal 2.5V,I/O3.3V0.18um,internal 1.8V,I/O2.5V and 3.3V c.可编程连线阵列(PIA)各逻辑宏单元通过

13、可编程连线阵列接受来自输入端的信号,并将宏单元的信号送至目的地。这种互联机制有很大的灵活性,它允许在不影响引脚分配的情况下改变内部的设计。可编程内部连线的作用是在各逻辑宏单元之间以及逻辑宏单元和I/O单元之间提供互联网络。CPLD中一般采用固定长度的线段来进行连接,因此信号传输的延时是固定的,使得时间性能容易预测。IOBCLB包含多个逻辑单元PICl6)FPGA结构原理l内部结构称为LCA(Logic Cell Array)由三个部分组成:l可编程逻辑块(CLB)l可编程输入输出模块(IOB)l可编程内部连线(PIC)可编程逻辑块(CLB)29 基于查找表的FPGA的基本结构查找表(Look

14、Up Table,LUT)本质上就是一个RAM。当用户通过原理图或者HDL语言描述了一个逻辑电路以后,FPGA开发软件会自动计算逻辑电路的所有可能结果,并把真值表(即计算结果)事先写入RAM,这样每输入一个信号进行逻辑运算就等于输入一个地址进行查表,找出相对应的内容,然后输出即可。一个n输入的逻辑运算,不管是与或非运算还是异或运算等等,最多只可能存在2n种结果,若事先将相应的结果存放于一个存贮单元,就相当于实现了与门电路的功能,这就是查找表取代与逻辑门电路的原理。FPGA通过烧写文件去配置查找表的内容,从而在相同的电路情况下实现了不同的逻辑功能。LUT具有和逻辑电路同样的功能,但LUT具有更快

15、的执行速度和规模。实际逻辑电路实际逻辑电路LUT的实现方式的实现方式a,b,c,d输入输出地址RAM存储的内容00000000000001000010001111111111基于查找表FPGA中的工作过程上电后,程序加载到FPGA中的内部RAM中,接下来LUT就可以工作了。A,B,C,D由FPGA芯片的管脚输入后进入可编程连线,然后作为地址线连到到LUT,LUT中已经事先写入了所有可能的逻辑结果,通过地址查找到相应的数据然后输出到芯片管脚,这样组合逻辑就实现了。由于LUT主要适合SRAM工艺生产,所以目前大部分FPGA都是基于SRAM工艺的,而SRAM工艺的芯片在掉电后信息就会丢失,一定需要外

16、加一片专用配置芯片,在上电的时候,由这个专用配置芯片把数据加载到FPGA中,然后FPGA就可以正常工作,由于配置时间很短,不会影响系统正常工作。也有少数FPGA采用反熔丝或Flash工艺,对这种FPGA,就不需要外加专用的配置芯片。32 10、CPLD与FPGA的区别程序存储FPGA采用SRAM进行功能配置,可重复编程,但系统掉电后,SRAM中的数据丢失。因此,需在FPGA外加EPROM,将配置数据写入其中,系统每次上电自动将数据引入SRAM中。CPLD器件一般采用EEPROM存储技术,可重复编程,并且系统掉电后,EEPROM中的数据不会丢失,适于数据的保密。资料类型FPGA器件含有丰富的触发

17、器资源,易于实现时序逻辑,如果要求实现较复杂的组合电路则需要几个CLB结合起来实现。CPLD的与或阵列结构,使其适于实现大规模的组合功能,但触发器资源相对较少。内部结构FPGA为细粒度结构,它内部有丰富连线资源,CLB分块较小,芯片利用率较高。CPLD为粗粒度结构,它的宏单元的与或阵列较大,通常不能完全被应用,且宏单元之间主要通过高速数据通道连接,其容量有限,限制了器件的灵活布线,因此CPLD利用率较FPGA器件低。布线方式FPGA为非连续式布线。FPGA器件在每次编程时实现的逻辑功能一样,但走的路线不同,因此延时不易控制,要求开发软件允许工程师对关键的路线给予限制。CPLD为连续式布线。CP

18、LD每次布线路径一样,它的连续式互连结构利用具有同样长度的一些金属线实现逻辑单元之间的互连。连续式互连结构消除了分段式互连结构在定时上的差异,并在逻辑单元之间提供快速且具有固定延时的通路。CPLD的延时较小。尽管FPGA和CPLD在某些方面有一些差异,但是对用户而言,FPGA和CPLD的设计方法是相似的,使用EDA软件的设计过程也没有太大差别。设计时,只需要根据所选器件型号充分发挥器件的特性就可以了,所以在我们讲课的过程中,并未加以区分,而统称为可编程逻辑器件。CPLDFPGA内部结构ProducttermLookup Table程序存储内部EEPROMSRAM,外挂EEPROM资源类型组合电

19、路资源丰富触发器资源丰富集成度低高使用场合完成控制逻辑能完成比较复杂的算法速度慢快其他资源EAB,锁相环保密性可加密一般不能保密目 录1.1 CPLD/FPGA的发展历程的发展历程 1.2 CPLD/FPGA的设计流程的设计流程 FPGA的常用设计方法“自顶向下”所谓“自顶向下”设计方法,简单地说,就是采用可完全独立于芯片厂商及其产品结构的描述语言,在功能级对设计产品进行定义,并结合功能仿真技术,以确保设计的正确性,在功能定义完成后,利用逻辑综合技术,把功能描述转换成某一具体结构芯片的网表文件,输出给厂商的布局布线器进行布局布线。布局布线结果还可反标回同一仿真器,进行包括功能和时序的后验证,以

20、保证布局布线所带来的门延时和线延时不会影响设计的性能。“自下而上”目前大规模FPGA设计一般选择“自顶向下”的设计方法。1.3 CPLD/FPGA的设计方法及流程的设计方法及流程 一个完整的FPGA/CPLD设计流程包括电路设计与输入、功能仿真、综合、综合后仿真、实现、布线后仿真和下板调试等主要步骤。常用的设计输入方法有硬件描述语言(HDL)和原理图设计输入方法。原理图设计输入法直观、便于理解、元件库资源丰富但在大型设计中,其可维护性较差,不利于模块建设与重用。最主要的缺点:当选用芯片升级换代后,所有原理图都要做相应的改动。目前进行大型工程设计时,最常用的设计方法是HDL设计输入法。其中影响最

21、为广泛的HDL语言是Verilog HDL和VHDL。Verilog HDL和VHDL的共同特点是利于由顶向下设计,利于模块的划分与复用,可移植性好,通用性好,设计不因芯片的工艺与结构的变化而变化,更利于ASIC的移植。波形输入和状态机输方法是两种常用的辅助设计输入方法使用波形输入法时,只要绘制出激励波形和输出波形,EDA软件就能自动地根据响应关系进行设计。使用状态机输入法时,设计者只需要画出状态转移图,EDA软件就能生成相应的HDL代码或者原理图,使用很方便。但这两种设计方法只能在某些特殊情况下缓解设计者的工作量,并不适合所有设计。电路设计完成后,要用专用仿真工具对设计进行功能仿真,验证电路

22、功能是否符合设计要求。通过仿真能及时发现设计中的错误,加快设计进度,提高设计的可靠性。综合优化(Synthesize)是指将HDL语言、原理图等设计输入翻译成与、或、非门,RAM,寄存器等基本逻辑单元组成的逻辑连接(网表),并根据目标与要求(约束条件)优化所产生的逻辑连接,输出edf和den等文件,供CPLD/FPGA厂家的布局步线器进行实现。综合完成后需要检查综合结果是否与原设计一致,需要做综合后仿真。在仿真时,把综合生成的延时文件反标到综合仿真模型中去,可估计门延时带来的影响。综合后仿真虽然比功能仿真精确一点,但是只能估计门延时,而不能估计连线延时,仿真结果与布线后的实际情况还有一定的差距

23、,并不十分准确。这种仿真的主要目的在于检查综合器的综合结果是否与设计输入一致。综合结果的本质是一些由与、或、非门、触发器,RAM等基本逻辑单元组成的逻辑网表,它与芯片实际的配置情况还有较大差距。此时应该使用FPGA/CPLD厂商提供的工具软件,根据所选芯片的型号,将综合输出的逻辑网表适配到具体FPGA/CPLD器件上,这个过程就叫做实现(Implementation)过程,也就是布局布线。Xilinx的实现过程分为:翻译(Translate)、映射(Map)、布局布线(PlaceRoute)等3个步骤。因为只有器件开发商最了解器件的内部结构,所以实现步骤必须选用器件开发商提供的工具软件。布局布

24、线之后应该做时序仿真,时序仿真中应该将布局布线的时延文件反标到设计中,使仿真既包含门延时,又包含连线延时信息。与前面各种仿真相比,这种后仿真包含的延时信息最为全面、准确,能较好地反映芯片的实际工作情况。设计开发的最后步骤就是在线调试或者将生成的配置文件写入芯片中进行测试。在ISE中对应的工具是iMPACT。每个仿真步骤如果出现问题,就需要根据错误的定位返回到相应的步骤更改或者重新设计。第三步:第三步:将以上的设计输入编译成标准的VHDL/Verilog HDL文件,然后将文件调入HDL仿真软件进行功能仿真 系系统统划分划分第一步:第一步:按照“自顶向下”的设计方法进行系统划分。概念概念设计设计

25、行行为为描述描述源文件源文件第二步:第二步:输入VHDL/Verilog HDL代码 编译编译器器功能仿真功能仿真报报告文件告文件报报告文件告文件代代码码文件文件第四步:第四步:利用综合器对源代码进行综合优化处理,生成门级描述的网表文件 综综合器合器报报告文件告文件网表文件网表文件第五步:第五步:利用门级网表加入实际时延等约束进行时序仿真 时时序仿真序仿真报报告文件告文件网表文件网表文件适配器适配器第六步:第六步:如果整个设计超出器件的宏单元或I/O单元资源,可以将设计划分到多片同系列的器件中。编编程器程器PLDPLD实现实现第七步:第七步:将适配器产生的器件编程文件通过编程器或下载电缆载入到目标芯片FPGA中。编编程文件程文件图图形方式形方式Verilog HDLVerilog HDL/VHDL/VHDL语语言言 44

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      联系我们       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号  |  icp.png浙ICP备2021020529号-1 浙B2-2024(办理中)  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服