您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 电子设计/PCB > 1-3CPLD与FPGA
CPLD与FPGAARM,DSP,FPGA的区别ARM具有比较强的事务管理功能,可以用来跑界面以及应用程序等,其优势主要体现在控制方面。DSP主要是用来计算的,比如进行加密解密、调制解调等,优势是强大的数据处理能力和较高的运行速度。FPGA可以用VHDL或verilogHDL来编程,灵活性强,由于能够进行编程、检错、再编程和重复操作,因此可以充分地进行设计开发和验证。当电路有少量改动时,更能显示出FPGA的优势,其现场编程能力可以延长产品在市场上的寿命,而这种能力可以用来进行系统升级或除错。目录可编程逻辑器件的发展历程CPLD/FPGA厂商概述CPLD原理FPGA原理常用EDA设计工具可编程逻辑器件的发展历程可编程逻辑器件的发展历程-1当今社会是数字化的社会,是数字集成电路广泛应用的社会;系统设计师们愿意自己设计专用集成电路(ASIC)芯片;现场可编程门阵列(FPGA)和复杂可编程逻辑器件(CPLD)。可编程逻辑器件的发展历程-2早期,出现了可编程只读存贮器(PROM)、紫外线可按除只读存贮器(EPROM)和电可擦除只读存贮器(EEPROM);其后,出现了可编程逻辑器件(PLD),典型的PLD由一个“与”门和一个“或”门阵列组成产品主要有PAL(可编程阵列逻辑)和GAL(通用阵列逻辑)可编程逻辑器件的发展历程-320世纪80年代中期。Altera和Xilinx分别推出了类似于PAL结构的扩展型CPLD(ComplexProgrammableLogicDvice)和与标准门阵列类似的FPGA(FieldProgrammableGateArray)谁在使用Altera和Xilinx的产品?通常来说,在欧洲用Xilinx的人多,在日本和亚太地区用ALTERA的人多,在美国则是平分秋色。全球CPLD/FPGA产品60%以上是由Altera和Xilinx提供的。可以讲Altera和Xilinx共同决定了PLD技术的发展方向。相关说明-1Xilinx把基于查找表技术,SRAM工艺,要外挂配置用的EEPROM的PLD叫FPGA;把基于乘积项技术,Flash(类似EEPROM工艺)工艺的PLD叫CPLD;Altera把自己的PLD产品:MAX系列(乘积项技术,EEPROM工艺),FLEX系列(查找表技术,SRAM工艺)都叫作CPLD,由于FLEX系列也是SRAM工艺,基于查找表技术,要外挂配置用的EPROM,用法和Xilinx的FPGA一样,所以很多人把Altera的FELX系列产品也叫做FPGA。相关说明-2“可编程ASIC”是错误的说法ASIC是专用集成电路,通常都不可编程。CPLD与FPGA的一般不同就在于其结构和配置方式CPLD掉电后,仍能保存着原有数据不丢失;FPGA需要给予稳定的电源,否则掉电后又需重新配置(编程)。CPLD/FPGA厂商概述CPLD/FPGA厂商概述随着可编程逻辑器件应用的日益广泛,许多IC制造厂家涉足PLD/FPGA领域。目前世界上有十几家生产CPLD/FPGA的公司,最大的三家是:ALTERA,XILINX,Lattice,其中ALTERA和XILINX占有了60%以上的市场份额。CPLD/FPGA部分厂商介绍AlteraXilinxLatticeActelCypressQuickLogicLucentAtmelClearLogicWSIAltera九十年代以后发展很快,是最大可编程逻辑器件供应商之一。主要产品有:MAX3000/7000,FLEX10K,APEX20K,ACEX1K,Stratix,Cyclone等。开发软件为MaxplusII和QuartusII。普遍认为其开发工具—QuartusII是最成功的PLD开发平台之一,配合使用Altera公司提供的免费OEMHDL综合工具可以达到较高的效率。XilinxFPGA的发明者,老牌PLD公司,是最大可编程逻辑器件供应商之一。产品种类较全,主要有:XC9500/4000,Coolrunner(XPLA3),Spartan,Virtex等。开发软件为Foundition和ISE。LatticeLattice是ISP技术的发明者,ISP技术极大的促进了PLD产品的发展,与ALTERA和XILINX相比,其开发工具比ALTERA和XILINX略逊一筹。中小规模PLD比较有特色,不过其大规模PLD、FPGA的竞争力还不够强。Actel反熔丝(一次性烧写)PLD的领导者,由于反熔丝PLD抗辐射,耐高低温,功耗低,速度快,所以在军品和宇航级上有较大优势。ALTERA和XILINX则一般不涉足军品和宇航级市场。AtmelATMEL公司是是世界上高级半导体产品设计、制造和行销的领先者,产品包括了微处理器、可编程逻辑器件、非易失性存储器、安全芯片、混合信号及RF射频集成电路。CPLD原理基于乘积项的PLD结构采用这种结构的PLD芯片有:Altera的MAX7000,MAX3000系列(EEPROM工艺),Xilinx的XC9500系列(Flash工艺)和Lattice,Cypress的大部分产品(EEPROM工艺)。PLD的总体结构以MAX7000为例,其他型号的结构与此都非常相似PLD的总体结构以MAX7000为例,其他型号的结构与此都非常相似宏单元(Marocell)PLD的总体结构以MAX7000为例,其他型号的结构与此都非常相似可编程连线(PIA)PLD的总体结构以MAX7000为例,其他型号的结构与此都非常相似I/O控制块宏单元的结构宏单元(Macrocell)宏单元的结构宏单元(Macrocell)左侧是乘积项阵列,实际就是一个与或阵列,每一个交叉点都是一个可编程熔丝,如果导通就是实现“与”逻辑。后面的乘积项选择矩阵是一个“或”阵列。两者一起完成组合逻辑。宏单元的结构宏单元(Macrocell)图右侧是一个可编程D触发器,它的时钟,清零输入都可以编程选择,可以使用专用的全局清零和全局时钟,也可以使用内部逻辑(乘积项阵列)产生的时钟和清零。如果不需要触发器,也可以将此触发器旁路,信号直接输给PIA或输出到I/O脚。乘积项结构的PLD逻辑实现原理-1下面我们以一个简单的电路为例,具体说明PLD是如何利用以上结构实现逻辑的。乘积项结构的PLD逻辑实现原理-1假设组合逻辑的输出(AND3的输出)为f,则f=(A+B)*C*(!D)=A*C*!D+B*C*!D我们以!D表示D的“非”乘积项结构的PLD逻辑实现原理-2PLD将以下面的方式来实现组合逻辑f说明见备注PLD原理总结-1前面的电路是一个很简单的例子,只需要一个宏单元就可以完成。对于一个复杂的电路,一个宏单元是不能实现的,这时就需要通过并联扩展项和共享扩展项将多个宏单元相连,宏单元的输出也可以连接到可编程连线阵列,再做为另一个宏单元的输入。PLD原理总结-2这种基于乘积项的PLD基本都是由EEPROM和Flash工艺制造的,一上电就可以工作,无需其他芯片配合。FPGA原理基于查找表结构的FPGA原理采用这种结构的PLD芯片我们也可以称之为FPGA:如Altera的ACEX,APEX系列,Xilinx的Spartan,Virtex系列等。查找表的实质-1查找表(Look-Up-Table)简称为LUT,LUT本质上就是一个RAM。目前FPGA中多使用4输入的LUT,所以每一个LUT可以看成一个有4位地址线的16x1的RAM。查找表的实质-2当用户通过原理图或HDL语言描述了一个逻辑电路以后,开发软件会自动计算逻辑电路的所有可能的结果,并把结果事先写入RAM。这样,每输入一个信号进行逻辑运算就等于输入一个地址进行查表,找出地址对应的内容,然后输出即可。一个4输入与门的例子给出实际电路。给出LUT地实现方式。通过对比观察结果。一个4输入与门的例子一个4输入与门的例子一个4输入与门的例子基于查找表的FPGA的结构-1我们看一看XilinxSpartan-II的内部结构(详细见备注)XilinxSpartan-II芯片内部结构基于查找表的FPGA的结构-1我们看一看XilinxSpartan-II的内部结构(详细见备注)Slices结构基于查找表的FPGA的结构-2Altera的FLEX/ACEX等芯片的结构(详细见备注)AlteraFLEX/ACEX芯片的内部结构基于查找表的FPGA的结构-2Altera的FLEX/ACEX等芯片的结构(详细见备注)逻辑单元(LE)内部结构查找表结构的FPGA逻辑实现原理-1回顾CPLD实现原理中讲述过的例子。查找表结构的FPGA逻辑实现原理-2A,B,C,D由FPGA芯片的管脚输入后进入可编程连线,然后作为地址线连到到LUT,LUT中已经事先写入了所有可能的逻辑结果,通过地址查找到相应的数据然后输出,这样组合逻辑就实现了。查找表结构的FPGA逻辑实现原理-2该电路中D触发器是直接利用LUT后面D触发器来实现。时钟信号CLK由I/O脚输入后进入芯片内部的时钟专用通道,直接连接到触发器的时钟端。触发器的输出与I/O脚相连,把结果输出到芯片管脚。这样PLD就完成了上图所示电路的功能。(以上这些步骤都是由软件自动完成的,不需要人为干预)查找表结构的FPGA逻辑实现原理-3这个电路是一个很简单的例子,只需要一个LUT加上一个触发器就可以完成。对于一个LUT无法完成的的电路,就需要通过进位逻辑将多个单元相连,这样FPGA就可以实现复杂的逻辑。查找表结构的FPGA逻辑实现原理-4由于LUT主要适合SRAM工艺生产,所以目前大部分FPGA都是基于SRAM工艺的,而SRAM工艺的芯片在掉电后信息就会丢失,一定需要外加一片专用配置芯片,在上电的时候,由这个专用配置芯片把数据加载到FPGA中,然后FPGA就可以正常工作,由于配置时间很短,不会影响系统正常工作。查找表结构的FPGA逻辑实现原理-5也有少数FPGA采用反熔丝或Flash工艺,对这种FPGA,就不需要外加专用的配置芯片。选择PLD还是FPGA?(1)根据上一篇PLD的结构和原理可以知道,PLD分解组合逻辑的功能很强,一个宏单元就可以分解十几个甚至20-30多个组合逻辑输入。而FPGA的一个LUT只能处理4输入的组合逻辑,因此,PLD适合用于设计译码等复杂组合逻辑。选择PLD还是FPGA?(2)但FPGA的制造工艺确定了FPGA芯片中包含的LUT和触发器的数量非常多,往往都是几千上万,PLD一般只能做到512个逻辑单元,而且如果用芯片价格除以逻辑单元数量,FPGA的平均逻辑单元成本大大低于PLD。所以如果设计中使用到大量触发器,例如设计一个复杂的时序逻辑,那么使用FPGA就是一个很好选择。常用EDA设计工具集成的PLD/FPGA开发环境这类软件都是由PLD/FPGA芯片厂家提供,基本都可以完成所有的设计输入(原理图或HDL),仿真,综合,布线,下载等工作。Altera公司上一代的PLD开发软件,使用者众多。目前Altera已经停止开发MaxplusII,而转向QuartusII软件平台Altera公司新一代PLD开发软件,适合大规模FPGA的开发Xilinx公司上一代的PLD开发软件,目前Xilinx已经停止开发Foundation,而转向ISE软件平台Xilinx公司目前的FPGA/PLD开发软件ispDesignEXPERTLattice公司的PLD开发软件,目前最新软件改名为:ispLEVERLattice公司的PLD开发软件设计输入工具(文本)这类软件主要是帮助用户完成HDL文本的编辑和输入工作,提高输入效率,并不是必须的,更多人更习惯使用集成开发软件或者综合/仿真工具中自带的文本编辑器,甚至可以直接使用普通文本编辑器。UltraEDIT-32,一个使用广泛的编辑器,内置多种语言加亮功能,关键字能用不同色彩标出HDLDesignerSeries,Mento
本文标题:1-3CPLD与FPGA
链接地址:https://www.777doc.com/doc-50748 .html