第一章 FPGA发展.ppt
《第一章 FPGA发展.ppt》由会员分享,可在线阅读,更多相关《第一章 FPGA发展.ppt(68页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第一章第一章 FPGA/CPLD简介简介 主要内容主要内容 可编程逻辑设计技术简介;可编程逻辑设计技术简介;FPGA/CPLD的基本结构;的基本结构;FPGA/CPLD的设计流程;的设计流程;FPGA/CPLD的常用开发工具;的常用开发工具;下一代可编程逻辑设计技术展望下一代可编程逻辑设计技术展望1.1 可编程逻辑设计技术简介可编程逻辑设计技术简介 在讨论可编程逻辑器件发展简史的基础上简述目前常在讨论可编程逻辑器件发展简史的基础上简述目前常用的可编程逻辑器件的分类。用的可编程逻辑器件的分类。1.1.1可编程逻辑器件发展简史可编程逻辑器件发展简史 可编程逻辑器件的基本思想可编程逻辑器件的发展可以
2、划分为4个阶段:第1阶段:从20世纪70年代初到70年代中。(PROMEPROM,EEPROM,PLA)第2阶段:从20世纪70年代中到80年代中。(PALGAL)第3阶段:从20世纪80年代到90年代末。(FPGACPLD)第4阶段:从20世纪90年代末到目前(SOPC和SOC)1.1.2可编程逻辑器件分类可编程逻辑器件分类 广义上讲广义上讲PLD是厂家作为一种通用型器件生产的是厂家作为一种通用型器件生产的半定制电路,可编程逻辑器件是指半定制电路,可编程逻辑器件是指一切一切通过软件手段通过软件手段更改、配置器件内部连接结构和逻辑单元更改、配置器件内部连接结构和逻辑单元,完成既定,完成既定设计
3、功能的数字集成电路。设计功能的数字集成电路。目前常用的可编程逻辑鉴目前常用的可编程逻辑鉴件主要有简单的逻辑阵列(件主要有简单的逻辑阵列(PAL/GAL)、复杂可编程)、复杂可编程逻辑器件(逻辑器件(CPLD)和现场可编程逻辑阵列)和现场可编程逻辑阵列(FPGA)等)等3大类。大类。(l)PAL/GAL PAL:Programmable Array Logic,即可编程阵列,即可编程阵列逻辑;逻辑;GAL:Generic Array Logic,即通用可编程,即通用可编程阵列逻辑。阵列逻辑。PAL/GAL是早期可编程逻辑器件的发展形式,其特点是大多基于大多基于E2CM0S工艺工艺,结构较为简单,
4、可编程逻辑单元多为与、或阵列多为与、或阵列,可偏程单元密度较低,仅能适用于某些简单的数字逻辑电路。优点:低功耗、低成本、高可靠性、软件可编程、可重复更改。多用于译码和驱动,如步进电机控制器。目前比较大的GAL器件供应商主要是Lattice半导体。(2)CPLDCPLD:Complex Programmable Logic Device,即复杂的可编程逻辑器件。,即复杂的可编程逻辑器件。CPLD一般也采用一般也采用E2CM0S工艺,也有少数厂家采用工艺,也有少数厂家采用Flash工艺,其基本结构由可编程工艺,其基本结构由可编程I/O单元,基本逻单元,基本逻辑单元、布线池和其他辅助功能模块构成。辑
5、单元、布线池和其他辅助功能模块构成。CPLD一般可以完成设计中较复杂、较高速度的逻辑功能,一般可以完成设计中较复杂、较高速度的逻辑功能,如接口转换、总线控制等。如如接口转换、总线控制等。如dsp人机接口模块设计,人机接口模块设计,高速数据采集系统高速数据采集系统CPLD的主要器件供应商有Altera、lattice和Xilnx等。(3)FPGA FPGA:Field Programmable Gate Array,即现场可,即现场可编程逻辑阵列。编程逻辑阵列。它它一般一般采用采用SRAM工艺工艺,也有一些专用器件采用,也有一些专用器件采用Flash工艺或反熔丝(工艺或反熔丝(Anti-Fuse
6、)工艺)工艺等。等。FPGA的集成度很高,其集成密度从数万系统门到数千万系其集成密度从数万系统门到数千万系统门不等统门不等,可以完成极其复杂的时序与组合逻辑电路功能,适用于高速、高密度的高端数字逻辑电路设计领域。如数字电视调制器、视频采集系统 FPGA的基本组成部分有可编程输入的基本组成部分有可编程输入/输出单元、基输出单元、基本可本可编程逻辑单元、嵌入式块RAM、丰富的布线资源、底层嵌入功能单元、内嵌专用硬核等。FPGA的主要器件供应商有Xilinx、Altera、Lattice、Actel和Atmel等。基于工艺的FPGA从工艺实现的角度,FPGA主要可以分为基于SRAM的FPGA,基于F
7、lash的FPGA和基于反熔丝的FPGA:1.SRAMbasedFPGA:最流行的FPGA,逻辑单元和布线通道的编程单元为SRAMCell,通过这些SRAMCell配置成0或1来实现不同的逻辑功能;SRAMbasedFPGA采用标准的CMOS工艺,可以随着工艺的更新不断地提高集成度,提高性能和降低功耗。而且可以采用最新的工艺提供最先进的产品,如已量产的65nm产品有:Altera的CycloneIII和StratixIII,Xilinx的Virtex-5系列产品。各自的45nm/40nm工艺的产品也已经量产。SRAMbasedFPGA的主要特点是:-无穷次可编程-集成度高,容量大,性能高,功耗
8、相对较大;-挥发,需要外部配置ROM;2Anti-fusebasedFPGA:逻辑单元和布线通道的编程单元为Anti-fuseCell,通过Anti-fuseCell的“烧通”来实现不同的逻辑功能;主要特点如下:-一次编程;-非挥发,保密性最好;-抗辐射性能好。3FlashbasedFPGA:技术难度最高的FPGA,逻辑单元和布线通道的编程单元为FlashCell,通过这些FlashCell配置成0或1来实现不同的逻辑功能。具备了反复擦写和掉电后内容非易失特性,因此具有sram的灵活性和反熔丝结构的可靠性。主要特点如下:-非挥发,保密性好;-可编程-功耗低,性能和集成度相对较差;-价格相对较高
9、;1.2FPGA/CPLD的基本结构的基本结构 FPGA器件从1985年出现以来得到迅速发展,其密度、速度、功能、结构等都有了很大改进,但其基本结构大体相同。1.2.1 FPGA的基本结构的基本结构 简化的FPGA基本由6部分组成,分别为可编程输入/输出单元、基本可编程逻辑单元、嵌入式块RAM、丰富的布线资源、底层嵌入功能单元和内嵌专用硬核等每个单元的基本概念介绍如下(l)可编程输入/输出单元可编程输入/输出单元简称I/O单元,是芯片与外界电路的接口部分,完成不同电气特性下对输入/输出信号的驱动与匹配要求。FPGA内的I/O按组分类,每组都能够独立地支持不同的I/O标准。通过软件的灵活配置,可
10、适配不同的电气标准与I/O物理特性,可以调整驱动电流的大小,可以改变上、下拉电阻。一般说来,常见的电气标准有LVTTL、LVCMOS、SSTL、HSTL、LVDS、LVPECL和PCI等。(2)基本可编程逻辑单元)基本可编程逻辑单元基本可编程逻辑单元是可编程逻辑的主体,可以根据设计灵活地改变其内部连接与配置,完成不同的逻辑功能。FPGA一般是基于SRAM工艺的,其基木可编程逻辑单元几乎都是由查找表(LUT,LookUpTable)和寄存器(Register)组成的。FPGA内部查找表一般为4输入,查找表一般完成纯组合逻辑功能。FPGA内部寄存器结构相当灵活,可以配置为带同步/异步复位或置位、时
11、钟使能的触发器(FF,FlipFlop),也可以配置成为锁存器(Latch)。FPGA一般依赖寄存器完成同步时序逻辑设计。一般来说,比较经典的基本可编程单元的配置是一个寄存器加一个查找表,但是不同厂商的寄存器和查找表的内部结构有一定的差异,而且寄存器和查找表的组合模式也不同。例如,Altera可编程逻辑单元通常被称为LE(LogicElement,逻辑单元),由一个Register加一个LUT构成。逻辑阵列模块(LAB,LogicArrayBlock):10LE+LE间的进位链+LAB控制信号+局部互联线资源+LUT级联链+寄存器级联链等连线与控制资源。Xilinx可编程逻辑单元叫Slice:
12、2LC(LogicCell,逻辑单元)+共用逻辑每个LC都由一个Register加上一个LUT组成,共用逻辑,可以完成LC之间的配合与级联。Lattice的底层逻辑单元叫PFU(ProgrammableFunctionUnit,可编程功能单元),它由8个LUT和89个Register构成。3)嵌入式块RAM块RAM可被配置为单端口RAM、双端口RAM、伪双端口RAM、内容地址存储器(CAM)以及FIFO等常用存储结构。RAM是根据地址读写的数据存储单元。CAM存储器在路由的地址交换器中有广泛的应用。FIFO是先进先出队列式存储结构。FIFO一般用于不同时钟域之间的数据传输。除了块RAM,还可以
13、将FPGA中的LUT灵活地配置成RAM、ROM和FIFO等结构。芯片内部块RAM的数量也是选择芯片的一个重要因素。(4)丰富的布线资源根据工艺、长度、宽度和分布位置的不同而划分为类:第一类是全局布线资源,用于芯片内部全局时钟和全局复位/置位的布线;第二类是长线资源,用以完成芯片Bank间的高速信号和第二全局时钟信号的布线;第三类是短线资源,用于完成基本逻辑单元之间的逻辑互连和布线;第四类是分布式的布线资源,用于专有时钟、复位等控制信号线。(5)底层内嵌功能单元内嵌功能模块主要指DLL(DelayLockedLoop)、PLL(PhaseLockedLoop)、DSP等软处理核(SoftCore
14、)。现在越来越丰富的内嵌功能单元,使得单片FPGA成为了系统级的设计工具,使其具备了软硬件联合设计的能力,逐步向SOC平台过渡。DLL和PLL具有类似的功能,可以完成时钟高精度、低抖动的倍频和分频,以及占空比调整和移相等功能。赛灵思公司生产的芯片上集成了DCM和DLL,Altera公司的芯片集成了PLL,Lattice公司的新型芯片上同时集成了PLL和DLL。PLL和DLL可以通过IP核生成的工具方便地进行管理和配置。(6)内嵌专用硬核内嵌专用硬核是相对底层嵌入的软核而言的,指FPGA处理能力强大的硬核(HardCore),等效于ASIC电路。为了提高FPGA性能,芯片生产商在芯片内部集成了一
15、些专用的硬核。例如:为了提高FPGA的乘法速度,主流的FPGA中都集成了专用乘法器;为了适用通信总线与接口标准,很多高端的FPGA内部都集成了串并收发器(SERDES),可以达到数十Gbps的收发速度。注:FPGA内部分为两大阵营:一类是通用性较强目标市场范围广价格适中的FPGA另一类是针对性较强目标市场明显价格较高的FPGAFPGA 的原理根据数字电路的基本知识可以知道,对于一个n输入的逻辑运算,不管是与或非运算还是异或运算等等,最多只可能存在2n种结果。所以如果事先将相应的结果存放于一个存贮单元,就相当于实现了与非门电路的功能。FPGA的原理也是如此,它通过烧写文件去配置查找表的内容,从而
16、在相同的电路情况下实现了不同的逻辑功能。查找表(Look-Up-Table)简称为LUT,LUT本质上就是一个RAM。目前FPGA中多使用4输入的LUT,所以每一个LUT可以看成一个有4位地址线的的RAM。当用户通过原理图或HDL语言描述了一个逻辑电路以后,PLD/FPGA开发软件会自动计算逻辑电路的所有可能结果,并把真值表(即结果)事先写入RAM,这样,每输入一个信号进行逻辑运算就等于输入一个地址进行查表,找出地址对应的内容,然后输出即可。4输入与门的真值表举例假设组合逻辑AND3的输出为f则f=(A+B)*C*!D=A*C*!D+B*C*!D1.2.2 CPLD的基本结构复杂可编程器件CP
17、LD基本结构与PAL/GAL相仿,是基于与或阵列的乘积项结构,但集成度要高得多。CPLD大都是由E2PROM和Flash工艺制造的,可反复编程,一上电就可以工作,无须其他芯片配合。CPLD在结构和工艺上和FPGA有很大的差别。CPLD的结构相对比较简单,主要有可编程I/O单元、基本逻辑单元、布线池和其它辅助功能模块构成,CPLD结构示意图1.可编程逻辑单元作用与FPGA的I/O口基本相同,但是CPLD应用范围局限性较大,I/O的性能和复杂度与FPGA相比有一定的差距,支撑的I/O标准较少,频率也较低。2.基本逻辑单元CPLD中基本逻辑单元是宏单元。所谓宏单元就是由一些与、或阵列加上触发器构成的
18、,其中“与或”阵列完成组合逻辑功能,触发器用以完成时序逻辑。与CPLD基本逻辑单元相关的另外一个重要概念是乘积项。所谓乘积项就是宏单元中与阵列的输出,其数量标志了CPLD容量。乘积项阵列实际上就是一个“与或”阵列,每一个交叉点都是一个可编程熔丝,如果导通就是实现“与”逻辑,在“与”阵列后一般还有一个“或”阵列,用以完成最小逻辑表达式中的“或”关系。3.布线池、布线矩阵CPLD中的布线资源比FPGA的要简单的多,布线资源也相对有限,一般采用集中式布线池结构。所谓布线池其本质就是一个开关矩阵,通过打结点可以完成不同宏单元的输入与输出项之间的连接。由于CPLD器件内部互连资源比较缺乏,所以在某些情况
19、下器件布线时会遇到一定的困难。由于CPLD的布线池结构固定,所以CPLD的输入管脚到输出管脚的标准延时固定,被成为PintoPin延时,用Tpd表示,Tpd延时反映了CPLD器件可以实现的最高频率,也就清晰地表明了CPLD器件的速度等级。4.其他辅助功能模块如JTAG编程模块,一些全局时钟、全局使能、全局复位/置位单元等。CPLD工作原理举例假设组合逻辑AND3的输出为f则f=(A+B)*C*!D=A*C*!D+B*C*!D组合逻辑f的实现1.2.3 FPGA和和CPLD的比较的比较当代FPGA/CPLD的特点:规模越来越大开发过程投资小FPGA/CPLD一般可以反复地编程、擦除FPGA/CP
20、LD开发工具智能化、功能强大新型FPGA内嵌CPU或DSP内核,支持软硬件协同设计,可以作为片上可编程系统(SOPC)的硬件平台新型FPGA内部内嵌高性能ASIC的硬核。FPGA/CPLD的区别及联系FPGA的适用领域应用领域:1定制性功能,批量不大(大型1K,小型100K)2需变化功能(标准变化,指标变化)3链接及接口功能4产品差异化,专利实现5ASIC验证1.2.4 FPGA和和CPLD开发应用的选择开发应用的选择一FPGA/CPLD的选择FPGA/GPLD的选择主要看开发项目本身的需要,对于普通规模且产量不是很大的产品项目,通常使用CPLD比较好。这是因为:(1)在中小规模范围,CPLD
21、价格较便宜,能直接用于系统。(2)开发CPLD的EDA软件比较容易得到,其中不少PLD公司将有条件地提供免费软件。(3)CPLD的结构大多为EEPROM或FlashROM形式,编程后即可固定下载的逻辑功能,使用方便,电路简单。(4)目前最常用的CPLD多为在系统可编程的硬件器件,编程方式极为便捷。(5)CPLD中有专门的布线区和许多块,无论实现什么样的逻辑功能,或采用怎样的布线方式,引脚至引脚间的信号延时几乎是固定的,与逻辑设计无关。FPGA的使用途径主要有以下4个方面:(1)直接使用。即如CPLD那样直接用于产品的电路系统板上。(2)间接使用。其方法是首先利用FPGA完成系统整机的设计,包括
22、最后的电路板的定型,然后将充分检证的成功的设计软件,如VHDL程序,交付原供产商进行相同封装形式的掩模设计。(3)硬件仿真。由于FPGA是SRAM结构,且能提供庞大的逻辑资源,因而适用于作各种逻辑设计的仿真器件。从这个意义上讲,FPGA本身即为开发系统的一部分。(4)专用集成电路ASIC设计仿真。二FPGA器件选型常识FPGA器件的选型非常重要,不合理的选型会导致一系列的后续设计问题,有时甚至会使设计失败;合理的选型不光可以避免设计问题,而且可以提高系统的性价比,延长产品的生命周期,获得预想不到的经济效果。FPGA器件选型有以下7个原则:器件的供货渠道和开发工具的支持、器件的硬件资源、器件的电
23、气接口标准、器件的速度等级、器件的温度等级、器件的封装和器件的价格。1器件的供货渠道和开发工具的支持目前,主要的FPGA供应商有赛灵思公司、Altera公司、Lattic公司和Actel公司等,FPGA的发展速度非常快,很多型号的FPGA器件已不是主流产品,为了提高产品的生命周期,最好在货源比较足的主流器件中选型。2器件的硬件资源硬件资源是器件选型的重要标准。硬件资源包括逻辑资源、IO资源、布线资源、DSP资源、存储器资源、锁相环资源、串行收发器资源和硬核微处理器资源等。逻辑资源和IO资源的需求是每位设计人员最关心的问题,一般都会考虑到,可是,过度消耗IO资源和布线资源可能产生的问题却很容易被
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第一章 FPGA发展 FPGA 发展
限制150内