




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 FPGA - Field Programmable Gate Array 现场可编程门阵列 CPLD - Complex Programmable Logic Device 复杂可编程逻辑器件z PLD是可编程逻辑器件(Programable Logic Device)的简称。z PLD是电子设计领域中最具活力和发展前途的一项技术,它的影响丝毫不亚于70年代单片机的发明和使用。z PLD能做什么呢?可以毫不夸张的讲,PLD能完成任何数字器件的功能,上至高性能CPU下至简单的74电路,都可以用PLD来实现。PLD如同一张白纸或是一堆积木,工程师可以通过传统的原理图输入法,或是硬件描述语言自由的
2、设计一个数字系统。通过软件仿真,我们可以事先验证设计的正确性。z 在PCB完成以后,还可以利用PLD的在线修改能力,随时修改设计而不必改动硬件电路。使用PLD来开发数字电路,可以大大缩短设计时间,减少PCB面积,提高系统的可靠性。 PLD的这些优点使得PLD技术在90年代以后得到飞速的发展,同时也大大推动了EDA软件和硬件描述语言(HDL)的进步。z 如何使用PLD呢?其实PLD的使用很简单,学习PLD比学习单片机要简单的多,有数字电路基础,会使用计算机,就可以进行PLD的开发。 z 开发PLD需要了解两个部分:z 1.PLD开发软件 ;2.PLD本身1.PLD1.PLD开发软件开发软件 z
3、由于PLD软件已经发展的相当完善,用户甚至可以不用详细了解PLD的内部结构,也可以用自己熟悉的方法:如原理图输入或HDL语言来完成相当优秀的PLD设计。所以对初学者,首先应了解PLD开发软件和开发流程。了解PLD的内部结构,将有助于提高我们设计的效率和可靠性。z 如何获得PLD开发软件软件呢? 许多PLD公司都提供免费试用版或演示版(当然商业版大都是收费的),例如:可以免费从 上下载Altera公司的 QuartusII (web版),或向其代理商索取这套软件。Xilinx 公司也提供免费软件:ISE WebPack,这套可以从xilinx网站下载。Lattice 提供isplever Bas
4、e版下载,Actel等公司也都有类似的免费软件提供。以上免费软件都需要在网上注册申请License文件。 通常这些免费软件已经能够满足一般设计的需要,当然,要想软件功能更强大一些,只能购买商业版软件。 z 如果您打算使用VHDL或Verilog HDL硬件描述语言来开发PLD/FPGA,通常还需要使用一些专业的HDL开发软件,这是因为FPGA厂商提供的软件的HDL综合能力一般都不是很强,需要其他软件来配合使用。z 对于PLD产品,一般分为:基于乘积项(Product-Term)技术,EEPROM(或Flash)工艺的中小规模PLD,以及基于查找表(Look-Up table)技术,SRAM工艺
5、的大规模PLD/FPGA。EEPROM工艺的PLD密度小,多用于5,000门以下的小规模设计,适合做复杂的组合逻辑,如译码。SRAM工艺的PLD(FPGA),密度高,触发器多,多用于10,000门以上的大规模设计,适合做复杂的时序逻辑,如数字信号处理和各种算法。目前有多家公司生产CPLD/FPGA,最大的三家是:ALTERA,XILINX,Lattice。2.PLD/FPGA2.PLD/FPGA的分类和使用的分类和使用 z 在PLD/FPGA开发软件中完成设计以后,软件会产生一个最终的编程文件(如 .pof )。如何将编程文件烧到PLD芯片中去呢?z (1).对于基于乘积项(Product-T
6、erm)技术,EEPROM(或Flash)工艺的PLD(如Altera的MAX系列,Lattice的大部分产品,Xilinx的XC9500,Coolrunner系列), 厂家提供编程电缆,电缆一端装在计算机的并行打印口上,另一端接在PCB板上的一个十芯插头,PLD芯片有四个管脚(编程脚)与插头相连。z 它向系统板上的器件提供配置或编程数据,这就是所谓的在线可编程。Byteblaster使用户能够独立地配置PLD器件,而不需要编程器或任何其它编程硬件。编程电缆可以向代理商购买,也可以根据厂家提供的编程电缆的原理图自己制作,成本仅需一,二十元。 早期的PLD是不支持ISP的,它们需要用编程器烧写。
7、目前的PLD都可以用ISP在线编程,也可用编程器编程。这种PLD可以加密,并且很难解密,所以常常用于单板加密。 z (2).对于基于查找表(LUT,Look-Up table)技术,SRAM工艺的FPGA(如Altera的所有FPGA,如ACEX,Cyclone,Stratix系列,Xilinx的所有FPGA,如Spartan,Virtex系列,Lattice的EC/ECP系列等),由于SRAM工艺的特点,掉电后数据会消失,因此调试期间可以用下载电缆配置PLD器件,调试完成后,需要将数据固化在一个专用的EEPROM中(用通用编程器烧写,也有一些可以用电缆直接改写),上电时,由这片配置EEPRO
8、M先对FPGA加载数据,十几个毫秒到几百个毫秒后,FPGA即可正常工作。(亦可由CPU配置FPGA)。但SRAM工艺的PLD一般不可以直接加密。 z (3).还有一种反熔丝(Anti-fuse)技术的FPGA,如Actel,Quicklogic的部分产品就采用这种工艺。但这种的PLD是不能重复擦写,需要使用专用编程器,所以开发过程比较麻烦,费用也比较昂高。但反熔丝技术也有许多优点:布线能力更强,系统速度更快,功耗更低,同时抗辐射能力强,耐高低温,可以加密,所以在一些有特殊要求的领域中运用较多,如军事及航空航天。 为了解决反熔丝FPGA不可重复擦写的问题,Actel等公司在90年代中后期开发了基
9、于Flash技术的FPGA,如ProASIC系列,这种FPGA不需要配置,数据直接保存在FPGA芯片中,用户可以改写(但需要10几伏的高电压)。 z 随着技术的发展,在2004年以后,一些厂家推出了一些新的PLD和FPGA,这些产品模糊了PLD和FPGA的区别。例如Altera最新的MAXII系列PLD,这是一种基于FPGA(LUT)结构,集成配置芯片的PLD,在本质上它就是一种在内部集成了配置芯片的FPGA,但由于配置时间极短,上电就可以工作,所以对用户来说,感觉不到配置过程,可以传统的PLD一样使用,加上容量和传统PLD类似,所以altera把它归作PLD。 还有像Lattice的XP系列
10、FPGA,也是使用了同样的原理,将外部配置芯片集成到内部,在使用方法上和PLD类似,但是因为容量大,性能和传统FPGA相同,也是LUT架构,所以Lattice仍把它归为FPGA。 z 当今社会是数字化的社会,是数字集成电路广泛应用的社会。数字集成电路本身在不断地进行更新换代。它由早期的电子管、晶体管、小中规模集成电路、发展到超大规模集成电路(VLSIC,几万门以上)以及许多具有特定功能的专用集成电路。但是,随着微电子技术的发展,设计与制造集成电路的任务已不完全由半导体厂商来独立承担。系统设计师们更愿意自己设计专用集成电路(ASIC)芯片,而且希望ASIC的设计周期尽可能短,最好是在实验室里就能
11、设计出合适的ASIC芯片,并且立即投入实际应用之中,因而出现了现场可编程逻辑器件(FPLD),其中应用最广泛的当属现场可编程门阵列(FPGA)和复杂可编程逻辑器件(CPLD)。 z 早期的可编程逻辑器件只有可编程只读存贮器(PROM)、紫外线可按除只读存贮器(EPROM)和电可擦除只读存贮器(EEPROM)三种。由于结构的限制,它们只能完成简单的数字逻辑功能。 z 其后,出现了一类结构上稍复杂的可编程芯片,即可编程逻辑器件(PLD),它能够完成各种数字逻辑功能。典型的PLD由一个“与”门和一个“或”门阵列组成,而任意一个组合逻辑都可以用“与一或”表达式来描述,所以, PLD能以乘积和的形式完成
12、大量的组合逻辑功能。z 这一阶段的产品主要有PAL(可编程阵列逻辑)和GAL(通用阵列逻辑)。 PAL由一个可编程的“与”平面和一个固定的“或”平面构成,或门的输出可以通过触发器有选择地被置为寄存状态。 PAL器件是现场可编程的,它的实现工艺有反熔丝技术、EPROM技术和EEPROM技术。还有一类结构更为灵活的逻辑器件是可编程逻辑阵列(PLA),它也由一个“与”平面和一个“或”平面构成,但是这两个平面的连接关系是可编程的。 PLA器件既有现场可编程的,也有掩膜可编程的。 在PAL的基础上,又发展了一种通用阵列逻辑GAL (Generic Array Logic),如GAL16V8,GAL22V
13、10 等。它采用了EEPROM工艺,实现了电可按除、电可改写,其输出结构是可编程的逻辑宏单元,因而它的设计具有很强的灵活性,至今仍有许多人使用。 这些早期的PLD器件的一个共同特点是可以实现速度特性较好的逻辑功能,但其过于简单的结构也使它们只能实现规模较小的电路。 典型的PLD的部分结构(实现组合逻辑的部分) z 为了弥补这一缺陷,20世纪80年代中期。 Altera和Xilinx分别推出了类似于PAL结构的扩展型 CPLD(Complex Programmab1e Logic Dvice)和与标准门阵列类似的FPGA(Field Programmable Gate Array),它们都具有体
14、系结构和逻辑单元灵活、集成度高以及适用范围宽等特点。 这两种器件兼容了PLD和通用门阵列的优点,可实现较大规模的电路,编程也很灵活。与门阵列等其它ASIC(Application Specific IC)相比,它们又具有设计开发周期短、设计制造成本低、开发工具先进、标准产品无需测试、质量稳定以及可实时在线检验等优点,因此被广泛应用于产品的原型设计和产品生产(一般在10,000件以下)之中。几乎所有应用门阵列、PLD和中小规模通用数字集成电路的场合均可应用FPGA和CPLD器件。 z(注:不同厂家的叫法不尽相同,Xilinx把,基于查找表技术,SRAM工艺,要外挂配置用的EEPROM的PLD叫F
15、PGA;把基于乘积项技术,Flash(类似EEPROM工艺)工艺的PLD叫CPLD; Altera 把自己的PLD产品:MAX系列(乘积项技术,EEPROM工艺),FLEX系列(查找表技术,SRAM工艺)都叫作CPLD,即复杂PLD(Complex PLD),由于FLEX系列也是SRAM工艺,基于查找表技术,要外挂配置用的EPROM,用法和Xilinx的FPGA一样,所以很多人把Altera的FELX系列产品也叫做FPGA。 FPGAFPGACPLD CPLD 概述概述 z FPGA(现场可编程门阵列)与 CPLD(复杂可编程逻辑器件)都是可编程逻辑器件,它们是在PAL,GAL等逻辑器件的基础
16、之上发展起来的。同以往的PAL,GAL等相比较,FPGACPLD的规模比较大,它可以替代几十甚至几千块通用IC芯片。这样的FPGACPLD实际上就是一个子系统部件。这种芯片受到世界范围内电子工程设计人员的广泛关注和普遍欢迎。经过了十几年的发展,许多公司都开发出了多种可编程逻辑器件。比较典型的就是Xilinx公司的FPGA器件系列和Altera公司的CPLD器件系列,它们开发较早,占用了较大的PLD市场。通常来说,在欧洲用Xilinx的人多,在日本和亚太地区用ALTERA的人多,在美国则是平分秋色。全球PLD/FPGA产品60%以上是由Altera和Xilinx提供的。可以讲Altera和Xil
17、inx共同决定了PLD技术的发展方向。当然还有许多其它类型器件,如:Lattice,Vantis,Actel,Quicklogic,Lucent等。 z尽管FPGA、CPLD和其它类型PLD的结构各有其特点和长处,但概括起来,它们是由三大部分组成的:一个二维的逻辑块阵列,构成了PLD器件的逻辑组成核心;输入输出块;连接逻辑块的互连资源。z 连线资源:由各种长度的连线线段组成,其中也有一些可编程的连接开关,它们用于逻辑块之间、逻辑块与输入输出块之间的连接。z 对用户而言,CPLD与FPGA的内部结构稍有不同,但用法一样,所以多数情况下,不加以区分。z FPGACPLD芯片都是特殊的ASIC芯片,
18、它们除了具有ASIC的特点之外,还具有以下几个优点:z 随着VlSI(Very Large Scale IC,超大规模集成电路)工艺的不断提高单一芯片内部可以容纳上百万个晶体管, FPGACPLD芯片的规模也越来越大,其单片逻辑门数已达到上百万门,它所能实现的功能也越来越强,同时也可以实现系统集成。z FPGACPLD芯片在出厂之前都做过百分之百的测试,不需要设计人员承担投片风险和费用,设计人员只需在自己的实验室里就可以通过相关的软硬件环境来完成芯片的最终功能设计。所以, FPGACPLD的资金投入小,节省了许多潜在的花费。z 用户可以反复地编程、擦除、使用或者在外围电路不动的情况下用不同软件
19、就可实现不同的功能。所以,用FPGAPLD 试制样片,能以最快的速度占领市场。 FPGACPLD软件包中有各种输入工具和仿真工具,及版图设计工具和编程器等全线产品,电路设计人员在很短的时间内就可完成电路的输入、编译、优化、仿真,直至最后芯片的制作。 当电路有少量改动时,更能显示出FPGACPLD的优势。电路设计人员使用FPGACPLD进行电路设计时,不需要具备专门的IC(集成电路)深层次的知识, FPGACPLD软件易学易用,可以使设计人员更能集中精力进行电路设计,快速将产品推向市场。 PLD/FPGA PLD/FPGA 结构与原理初步(一)结构与原理初步(一) z一一.基于乘积项(基于乘积项
20、(Product-Term)的的PLD结构结构 采用这种结构的PLD芯片有:Altera的MAX7000,MAX3000系列(EEPROM工艺),Xilinx的XC9500系列(Flash工艺)和Lattice,Cypress的大部分产品(EEPROM工艺) 我们先看一下这种PLD的总体结构(以MAX7000为例,其他型号的结构与此都非常相似):图1 基于乘积项的PLD内部结构 z 这种PLD可分为三块结构:宏单元(Macrocell),可编程连线(PIA)和I/O控制块。 宏单元是PLD的基本结构,由它来实现基本的逻辑功能。图1中兰色部分是多个宏单元的集合(因为宏单元较多,没有一一画出)。可
21、编程连线负责信号传递,连接所有的宏单元。I/O控制块负责输入输出的电气特性控制,比如可以设定集电极开路输出,摆率控制,三态输出等。 图1 左上的INPUT/GCLK1,iNPUT/GCLRn,INPUT/OE1,INPUT/OE2 是全局时钟,清零和输出使能信号,这几个信号有专用连线与PLD中每个宏单元相连,信号到每个宏单元的延时相同并且延时最短。z宏单元的具体结构见下图: 图2 宏单元结构 左侧是乘积项阵列,实际就是一个与或阵列,每一个交叉点都是一个可编程熔左侧是乘积项阵列,实际就是一个与或阵列,每一个交叉点都是一个可编程熔丝,如果导通就是实现丝,如果导通就是实现“与与”逻辑。后面的乘积项选
22、择矩阵是一个逻辑。后面的乘积项选择矩阵是一个“或或”阵列阵列。两者一起完成组合逻辑。图右侧是一个可编程。两者一起完成组合逻辑。图右侧是一个可编程D触发器,它的时钟,清零输触发器,它的时钟,清零输入都可以编程选择,可以使用专用的全局清零和全局时钟,也可以使用内部逻入都可以编程选择,可以使用专用的全局清零和全局时钟,也可以使用内部逻辑(乘积项阵列)产生的时钟和清零。如果不需要触发器,也可以将此触发器辑(乘积项阵列)产生的时钟和清零。如果不需要触发器,也可以将此触发器旁路,信号直接输给旁路,信号直接输给PIA或输出到或输出到I/O脚。脚。二二. .乘积项结构乘积项结构PLDPLD的逻辑实现原理的逻辑
23、实现原理 z下面我们以一个简单的电路为例,具体说明PLD是如何利用以上结构实现逻辑的,电路如下图:z z图3 z 假设组合逻辑的输出(AND3的输出)为f,则f=(A+B)*C*(!D)=A*C*!D + B*C*!D ( 我们以!D表示D的“非”)z PLD将以下面的方式来实现组合逻辑f:图4 A,B,C,D由由PLD芯片的管脚输入后进入可编程连线阵列(芯片的管脚输入后进入可编程连线阵列(PIA),在内部,在内部会产生会产生A,A反反,B,B反反,C,C反反,D,D反反8个输出。图中每一个叉表示相连(可个输出。图中每一个叉表示相连(可编程熔丝导通),所以得到:编程熔丝导通),所以得到:f=
24、f1 + f2 = (A*C*!D) + (B*C*!D) 。这样。这样组合逻辑就实现了。组合逻辑就实现了。 图图3电路中电路中D触发器的实现比较简单,直接利用宏触发器的实现比较简单,直接利用宏单元中的可编程单元中的可编程D触发器来实现。时钟信号触发器来实现。时钟信号CLK由由I/O脚输入后进入芯片脚输入后进入芯片内部的全局时钟专用通道,直接连接到可编程触发器的时钟端。可编程内部的全局时钟专用通道,直接连接到可编程触发器的时钟端。可编程触发器的输出与触发器的输出与I/O脚相连,把结果输出到芯片管脚。这样脚相连,把结果输出到芯片管脚。这样PLD就完成了就完成了图图3所示电路的功能。所示电路的功能
25、。 z 图3的电路是一个很简单的例子,只需要一个宏单元就可以完成。但对于一个复杂的电路,一个宏单元是不能实现的,这时就需要通过并联扩展项和共享扩展项将多个宏单元相连,宏单元的输出也可以连接到可编程连线阵列,再做为另一个宏单元的输入。这样PLD就可以实现更复杂逻辑。z 这种基于乘积项的PLD基本都是由EEPROM和Flash工艺制造的,一上电就可以工作,无需其他芯片配合。PLD/FPGA PLD/FPGA 结构与原理初步(二)结构与原理初步(二) z一一.查找表(查找表(Look-Up-Table)的原理与结构的原理与结构 采用这种结构的PLD芯片我们也可以称之为FPGA:如altera的ACE
26、X,APEX系列,xilinx的Spartan,Virtex系列等。 查找表(Look-Up-Table)简称为LUT,LUT本质上就是一个RAM。 目前FPGA中多使用4输入的LUT,所以每一个LUT可以看成一个有4位地址线的16x1的RAM。 当用户通过原理图或HDL语言描述了一个逻辑电路以后,PLD/FPGA开发软件会自动计算逻辑电路的所有可能的结果,并把结果事先写入RAM,这样,每输入一个信号进行逻辑运算就等于输入一个地址进行查表,找出地址对应的内容,然后输出即可。下面是一个4输入与门的例子 z 实际逻辑电路 LUT的实现方式a,b,c,d 输入逻辑输出 地址RAM中存储的内容0000
27、0 0000000010 00010.0 .011111 11111二二. .基于查找表(基于查找表(LUT)LUT)的的FPGAFPGA的结构的结构 z我们看一看xilinx Spartan-II的内部结构,如下图: xilinx Spartan-II 芯片内部结构Slices结构zSpartan-II主要包括CLBs,I/O块,RAM块和可编程连线(未表示出)。在spartan-II中,一个CLB包括2个Slices,每个slices包括两个LUT,两个触发器和相关逻辑。 Slices可以看成是SpartanII实现逻辑的最基本结构 (xilinx其他系列,如SpartanXL,Virte
28、x的结构与此稍有不同,具体请参阅数据手册)altera的FLEX/ACEX等芯片的结构如下图: altera FLEX/ACEX 芯片的内部结构 z 逻辑单元(LE)内部结构FLEX/ACEX的结构主要包括的结构主要包括LAB,I/O块,块,RAM块(未表示块(未表示出)和可编程行出)和可编程行/列连线。在列连线。在FLEX/ACEX中,一个中,一个LAB包括包括8个逻辑单元(个逻辑单元(LE),每个每个LE包括一个包括一个LUT,一个触发器和相,一个触发器和相关的相关逻辑。关的相关逻辑。LE是是FLEX/ACEX芯片实现逻辑的最基本结芯片实现逻辑的最基本结构构(altera其他系列,如其他系
29、列,如APEX的结构与此基本相同,具体请参的结构与此基本相同,具体请参阅数据手册)阅数据手册) 三三. .查找表结构的查找表结构的FPGAFPGA逻辑实现原理逻辑实现原理 z我们还是以这个电路的为例: A,B,C,D由由FPGA芯片的管脚输入后进入可编程连线,然后作为地址线连到芯片的管脚输入后进入可编程连线,然后作为地址线连到到到LUT,LUT中已经事先写入了所有可能的逻辑结果,通过地址查找到相中已经事先写入了所有可能的逻辑结果,通过地址查找到相应的数据然后输出,这样组合逻辑就实现了。应的数据然后输出,这样组合逻辑就实现了。 该电路中该电路中D触发器是直接利触发器是直接利用用LUT后面后面D触
30、发器来实现。时钟信号触发器来实现。时钟信号CLK由由I/O脚输入后进入芯片内部的脚输入后进入芯片内部的时钟专用通道,直接连接到触发器的时钟端。触发器的输出与时钟专用通道,直接连接到触发器的时钟端。触发器的输出与I/O脚相连,脚相连,把结果输出到芯片管脚。这样把结果输出到芯片管脚。这样PLD就完成了图就完成了图3所示电路的功能。(以上这所示电路的功能。(以上这些步骤都是由软件自动完成的,不需要人为干预)些步骤都是由软件自动完成的,不需要人为干预)z 这个电路是一个很简单的例子,只需要一个LUT加上一个触发器就可以完成。对于一个LUT无法完成的的电路,就需要通过进位逻辑将多个单元相连,这样FPGA
31、就可以实现复杂的逻辑。z 由于LUT主要适合SRAM工艺生产,所以目前大部分FPGA都是基于SRAM工艺的,而SRAM工艺的芯片在掉电后信息就会丢失,一定需要外加一片专用配置芯片,在上电的时候,由这个专用配置芯片把数据加载到FPGA中,然后FPGA就可以正常工作,由于配置时间很短,不会影响系统正常工作。 也有少数FPGA采用反熔丝或Flash工艺,对这种FPGA,就不需要外加专用的配置芯片。四四. .其他类型的其他类型的FPGAFPGA和和PLDPLD z 随着技术的发展,在2004年以后,一些厂家推出了一些新的PLD和FPGA,这些产品模糊了PLD和FPGA的区别。例如Altera最新的MA
32、XII系列PLD,这是一种基于FPGA(LUT)结构,集成配置芯片的PLD,在本质上它就是一种在内部集成了配置芯片的FPGA,但由于配置时间极短,上电就可以工作,所以对用户来说,感觉不到配置过程,可以传统的PLD一样使用,加上容量和传统PLD类似,所以altera把它归作PLD。 还有像Lattice的XP系列FPGA,也是使用了同样的原理,将外部配置芯片集成到内部,在使用方法上和PLD类似,但是因为容量大,性能和传统FPGA相同,也是LUT架构,所以Lattice仍把它归为FPGA。 五五. .选择选择PLDPLD还是还是FPGAFPGA? z 根据上一篇PLD的结构和原理可以知道,PLD分
33、解组合逻辑的功能很强,一个宏单元就可以分解十几个甚至2030多个组合逻辑输入。而FPGA的一个LUT只能处理4输入的组合逻辑,因此,PLD适合用于设计译码等复杂组合逻辑。 但FPGA的制造工艺确定了FPGA芯片中包含的LUT和触发器的数量非常多,往往都是几千上万,PLD一般只能做到512个逻辑单元,而且如果用芯片价格除以逻辑单元数量,FPGA的平均逻辑单元成本大大低于PLD。 所以如果设计中使用到大量触发器,例如设计一个复杂的时序逻辑,那么使用FPGA就是一个很好选择。 同时PLD拥有上电即可工作的特性,而大部分FPGA需要一个加载过程,所以,如果系统要可编程逻辑器件上电就要工作,那么就应该选
34、择PLD。z尽管和都是可编程器件尽管和都是可编程器件,有很多共同特点有很多共同特点,但由于和结构上但由于和结构上的差异的差异,具有各自的特点具有各自的特点: 更适合完成各种算法和组合逻辑更适合完成各种算法和组合逻辑, 更适合于完成时序逻辑。换句话说更适合于完成时序逻辑。换句话说,更适更适合于触发器丰富的结构合于触发器丰富的结构,而更适合于触发器而更适合于触发器有限而乘积项丰富的结构。有限而乘积项丰富的结构。 的连续式布线结构决定了它的时序延迟的连续式布线结构决定了它的时序延迟是均匀的和可预测的是均匀的和可预测的,而的分段式布线结构而的分段式布线结构决定了其延迟的不可预测性。决定了其延迟的不可预
35、测性。 在编程上比具有更大的灵活性。在编程上比具有更大的灵活性。通过修改具有固定内连电路的逻辑功能来通过修改具有固定内连电路的逻辑功能来编程编程,主要通过改变内部连线的布线来编程主要通过改变内部连线的布线来编程; 可在逻辑门下编程可在逻辑门下编程,而是在逻辑块而是在逻辑块下编程。下编程。 的集成度比高的集成度比高,具有更复杂的布具有更复杂的布线结构和逻辑实现。线结构和逻辑实现。 z 比使用起来更方便。的编程采比使用起来更方便。的编程采用用2或技术或技术,无需外部存储器无需外部存储器芯片芯片,使用简单。而的编程信息需存放在外部存储器使用简单。而的编程信息需存放在外部存储器上上,使用方法复杂。使用
36、方法复杂。 的速度比快的速度比快,并且具有较大的时间可预测并且具有较大的时间可预测性。这是由于是门级编程性。这是由于是门级编程,并且之间采用分布并且之间采用分布式互联式互联,而是逻辑块级编程而是逻辑块级编程,并且其逻辑块之间的互联并且其逻辑块之间的互联是集总式的。是集总式的。 在编程方式上在编程方式上,主要是基于主要是基于2或或存储器编程存储器编程,编程次数可达编程次数可达1万次万次,优点是系统断电时编程优点是系统断电时编程信息也不丢失。又可分为在编程器上编程和在系统信息也不丢失。又可分为在编程器上编程和在系统编程两类。大部分是基于编程编程两类。大部分是基于编程,编程信息在编程信息在系统断电时
37、丢失系统断电时丢失,每次上电时每次上电时,需从器件外部将编程数据重新写需从器件外部将编程数据重新写入中。其优点是可以编程任意次入中。其优点是可以编程任意次,可在工作中快速编可在工作中快速编程程,从而实现板级和系统级的动态配置。从而实现板级和系统级的动态配置。 保密性好保密性好,保密性差。保密性差。 一般情况下一般情况下,的功耗要比大的功耗要比大,且集成度越高且集成度越高越明显。越明显。 z z 随著复杂可编程逻辑器件(CPLD)密度的提高,数字器件设计人员在进行大型设计时,既灵活又容易,而且产品可以很快进入市场。许多设计人员已经感受到CPLD容易使用、时序可预测和速度高等优点,然而,在过去由于
38、受到CPLD密度的限制,他们只好转向FPGA和ASIC。现在,设计人员可以体会到密度高达数十万门的CPLD所带来的好处。 CPLD结构在一个逻辑路径上采用1至16个乘积项,因而大型复杂设计的运行速度可以预测。因此,原有设计的运行可以预测,也很可靠,而且修改设计也很容易。CPLD在本质上很灵活、时序简单、路由性能极好,用户可以改变他们的设计同时保持引脚输出不变。与FPGA相比,CPLD的I/O更多,尺寸更小。 如今,通信系统使用很多标准,必须根据客户的需要配置设备以支持不同的标准。CPLD可让设备做出相应的调整以支持多种协议,并随著标准和协议的演变而改变功能。这为系统设计人员带来很大的方便,因为
39、在标准尚未完全成熟之前他们就可以著手进行硬件设计,然后再修改代码以满足最终标准的要求。CPLD的速度和延迟特性比纯软件方案更好,它的NRE费用低於ASIC,更灵活,产品也可以更快入市。 z随着可编程逻辑器件应用的日益广泛,许多IC制造厂家涉足PLD/FPGA领域。目前世界上有十几家生产CPLD/FPGA的公司,最大的三家是:ALTERA,XILINX,Lattice,其中ALTERA和XILINX占有了60%以上的市场份额。 z 1、ALTERA:九十年代以后发展很快,是最大可编程逻辑器件供应商之一。主要产品有:AX3000/7000,FLEX10K,APEX20K,ACEX1K,Strati
40、x,Cyclone等。开发软件为QuartusII。 z2、XILIXN:FPGA的发明者,老牌FPGA公司,是最大可编程逻辑器件供应商之一。产品种类较全,主要有:XC9500,Coolrunner ,Spartan, Virtex等。开发软件为ISE。通常来说,在欧洲和美国用Xilinx的人多,在日本和亚太地区用ALTERA的人多。 全球PLD/FPGA产品60%以上是由Altera和Xilinx提供的。 可以讲Altera和Xilinx共同决定了PLD技术的发展方向。 z3、Lattice:Lattice是ISP技术的发明者,ISP技术极大的促进了PLD产品的发展,与ALTERA和XILI
41、NX相比,其开发工具略逊一筹。中小规模PLD比较有特色, 1999年推出可编程模拟器件。99年收购Vantis(原AMD子公司),成为第三大可编程逻辑器件供应商。2001年12月收购agere公司(原Lucent微电子部)的FPGA部门。主要产品有ispMACH4000,EC/ECP,XO,XP以及可编程模拟器件等z4、ACTEL:反熔丝(一次性烧写)PLD的领导者,由于反熔丝PLD抗辐射,耐高低温,功耗低,速度快,所以在军品和宇航级上有较大优势。ALTERA和XILINX则较少涉足军品和宇航级市场。ACTEL在中国地区代理商是裕利(科汇二部)和世强电讯z5、Cypress : PLD/FPG
42、A不是Cypress的主要业务,但有一定的用户群,中国地区代理商有:富昌电子,德创电子等 ALTERAALTERA 开发软件开发软件 z MAX+PLUSII 普遍认为MaxplusII曾经是最优秀的PLD开发平台之一,适合开发早期的中小规模PLD/FPGA,目前已经由QuartusII替代,不再推荐使用z QuartusII Altera新一代FPGA/PLD开发软件,适合新器件和大规模FPGA的开发,已经取代MaxplusII。z SOPC Builder :配合QuartusII,可以完成集成CPU的FPGA芯片的开发工作z DSP Builder: QuartusII与Mathlab的
43、接口,利用IP核在Mathlab中快速完成数字信号处理的仿真和最终FPGA实现主流芯片选型指导:主流芯片选型指导: z1.主流主流PLD产品:产品: zMAXII:新一代PLD器件,0.18um falsh工艺,2004年底推出,采用FPGA结构,配置芯片集成在内部,和普通PLD一样上电即可工作。容量比上一代大大增加,内部集成一片8Kbits串行EEPROM,增加很多功能。MAXII采用2.5v或者3.3v内核电压,MAXII G系列采用1.8v内核电压。zMAXII容量较大,对于只需要几十个逻辑单元的简单逻辑应用,建议使用小容量的EPM3000A系列芯片z2.主流主流FPGA产品产品z Al
44、tera的主流FPGA分为两大类,一种侧重低成本应用,容量中等,性能可以满足一般的逻辑设计要求,如Cyclone,CycloneII;还有一种侧重于高性能应用,容量大,性能能满足各类高端应用,如Startix,StratixII等,用户可以根据自己实际应用要求进行选择。 在性能可以满足的情况下,优先选择低成本器件。z Cyclone(飓风)(飓风):Altera中等规模FPGA,2003年推出,0.13um工艺,1.5v内核供电,与Stratix结构类似,是一种低成本FPGA系列 ,是目前主流产品,其配置芯片也改用全新的产品。z 简评:Altera最成功的器件之一,性价比不错,是一种适合中低端
45、应用的通用FPGA,推荐使用。z CycloneII:Cyclone的下一代产品,2005年开始推出,90nm工艺,1.2v内核供电,属于低成本FPGA,性能和Cyclone相当,提供了硬件乘法器单元 z 简评:刚刚推出的新一代低成本FPGA,目前市场零售还不容易买到,从2005年年底开始,逐步取代Cyclone器件,成为Altera在中低FPGA市场中的主力产品。z Stratix :altera大规模高端FPGA,2002年中期推出,0.13um工艺,1.5v内核供电。集成硬件乘加器,芯片内部结构比Altera以前的产品有很大变化。 z 简评:Startix芯片在2002年的推出,改变了A
46、ltera在FPGA市场上的被动局面。该芯片适合高端应用。 随着2005年新一代StratixII器件的推出,被StratixII逐渐取代z StratixII: Stratix的下一代产品,2004年中期推出,90um工艺,1.2v内核供电,大容量高性能FPGA z 简评:性能超越Stratix,曾经是Altera在高端FPGA市场中的主力产品 Cyclone专用配置器件专用配置器件 专门用于配置Cyclone器件的EEPROM,可以用ByteblasterII在线改写,电压为3.3v型 号容 量适用型号(详细内容请参阅数据手册)常用封装EPCS11M bitsEP1C3,EP1C4,EP1
47、C6(压缩模式)8 脚 SOICEPCS44M bits所有Cyclone型号8 脚 SOIC 4.NoisII软处理器软处理器:verilog编写的一个32位/16位可编程CPU核,可以集成到各种FPGA中,Altera提供开发软件用于软件和硬件开发 5.更多可编程器件产品更多可编程器件产品 Altera公司还有很多仍然在广泛使用的可编程器件产品,如:ACEX 1K, MAX3000A,FLEX 10K, APEX 20K, StratixGX, 等等。 3.FPGA配置芯片配置芯片配置配置EEPROM 用于配置SRAM工艺FPGA的EEPROM,EPC2以上的芯片可以用电缆多次擦写ACEX
48、 1KACEX 1K系列系列 ACEX 1K系列是系列是Altera公司于公司于2000年推出的内核电压年推出的内核电压2.5V、价格低廉、价格低廉、SRAM工艺的工艺的PLD。该系列器件适用于。该系列器件适用于实现复杂逻辑及存储器功能,如数字信号处理、宽带数据实现复杂逻辑及存储器功能,如数字信号处理、宽带数据控制、数据变换和微处理器等高性能数字系统的应用。控制、数据变换和微处理器等高性能数字系统的应用。 ACEX 1K系列器件将查找表结构和嵌入式阵列结构相结系列器件将查找表结构和嵌入式阵列结构相结合,可以在单个可编程芯片中实现系统集成,因此,合,可以在单个可编程芯片中实现系统集成,因此, A
49、CEX 1K系列器件为高性能系统设计提供了低成本的器件,系列器件为高性能系统设计提供了低成本的器件,具有较高的性价比。具有较高的性价比。 ACEX 1K系列器件的产品有:系列器件的产品有:EP1K10、EP1K30、EP1K50和和EP1K100。 我们实验室所用的就是我们实验室所用的就是ACEX 1K系列器件的系列器件的EP1K100QC208-3。它具有高密度、系统级功能、内部连。它具有高密度、系统级功能、内部连线灵活、线灵活、I/O引脚功能强等特点。引脚功能强等特点。8.18.1 概概 述述输 入缓冲电路与阵列或阵列输出缓冲电路输入输出图图8-1 基本基本PLD器件的原理结构图器件的原理
50、结构图8.1.1 可编程逻辑器件的发展历程可编程逻辑器件的发展历程70年代年代80年代年代90年代年代PROM 和和PLA 器件器件改进的改进的 PLA 器件器件GAL器件器件FPGA器件器件EPLD 器件器件CPLD器件器件内嵌复杂内嵌复杂功能模块功能模块的的SoPC8.1.2 可编程逻辑器件的分类可编程逻辑器件的分类图图8-2 按集成度按集成度(PLD)分类分类 可编程逻辑器件(PLD) 简单PLD 复杂PLD PROM PAL PLA GAL CPLD FPGA 8.2 简单简单PLD原理原理8.2.1 电路符号表示电路符号表示图图8-3 常用逻辑门符号与现有国标符号的对照常用逻辑门符号
51、与现有国标符号的对照图图8-4PLD的互补缓冲器的互补缓冲器 图图8-5 PLD的互补输入的互补输入 图图8-6 PLD中与阵列表示中与阵列表示图图8-7 PLD中或阵列的表示中或阵列的表示 图图8-8 阵列线连接表示阵列线连接表示 8.2.2 PROM地 址译 码 器存 储 单 元阵 列0A1A1nA0W1W1pW0F1F1mFnp2图图8-9 PROM基本结构:基本结构:0111201110110.AAAWAAAWAAAWnnnn其逻辑函数是:其逻辑函数是:图图8-10 PROM的逻辑阵列结构的逻辑阵列结构与阵列(不可编程)或阵列(可编程)0A1A1nA0W1W1pW0F1F1mFnp20
52、1,011, 111, 1101 ,011 , 111 , 1100,010, 110, 10WMWMWMFWMWMWMFWMWMWMFmmpmpmpppp逻辑函数表示:逻辑函数表示:8.2.2 PROM图图8-11 PROM表达的表达的PLD图阵列图阵列与阵列(固定)或阵列(可编程)0A1A1A1A0A0A1F0F图图8-12 用用PROM完成半加器逻辑阵列完成半加器逻辑阵列与 阵 列 ( 固 定 )或 阵 列( 可 编 程 )0A1A1A1A0A0A1F0F8.2.3 PLA图8-13 PLA逻辑阵列示意图逻辑阵列示意图与 阵 列 ( 可 编 程 )或 阵 列( 可 编 程 )0A1A1A
53、1A0A0A1F0F8.2.3 PLA图图8-14 PLA与与 PROM的比较的比较0A1A1F0F2A2F0A1A1F0F2A2F8.2.4 PAL0A1A1F0F0A1A1F0F 图8-15PAL结构结构图图8-16 PAL的常用表示的常用表示8.2.4 PAL11100100R11100100RQQD11100100R11100100RVccSG1SL07SL17SG0SL0619I/O711100100R11100100RQQD11100100R11100100RVccSG1SL06SL16SG1SL0618I/O61CLK/I02I13I2078150 3 4 78121115 16
54、19 2023 2427 2831图图8-17 一种一种PAL16V8的部分结构图的部分结构图8.2.5 GAL2071 90 34 781 21 11 51 61 92 02 32 42 72 83 11381 51 8O L M CO L M C41 62 31 752 43 11 6O L M CO L M C63 23 91 574 04 71 4O L M CO L M C84 85 51 395 66 31 2O L M CO L M C1 1I / C L KIIIIIIIII / O EI / O / QI / O / QI / O / QI / O / QI / O / QI
55、 / O / QI / O / QI / O / QC L KO E图图8-18 GAL16V8的结构图的结构图GAL: General Array Logic最多有8个或项,每个或项最多有32个与项EPLDErasable Programmable Logic Device8.2.5 GAL逻辑宏单元输入/输出口输入口时钟信号输入三态控制可编程与阵列固定或阵列GAL16V88.2.5 GAL图图8-19寄存器输出结构寄存器输出结构图图8-20寄存器模式组合双向输出结构寄存器模式组合双向输出结构8.2.5 GAL图图8-21 组合输出双向结构组合输出双向结构图图8-22 复合型组合输出结构复合
56、型组合输出结构8.2.5 GAL图图8-23 反馈输入结构反馈输入结构图图8-24输出反馈结构输出反馈结构8.2.5 GAL图图8-25 简单模式输出结构简单模式输出结构8.3 CPLD结构与工作原理结构与工作原理图图8-26 MAX7000系列的单个宏单元结构系列的单个宏单元结构PRNCLRNENA逻辑阵列全局清零共享逻辑扩展项清零时钟清零选择寄 存 器旁路并行扩展项通往 I/O模块通往 PIA乘积项选择矩阵来自 I/O引脚全局时钟QDEN来自来自 PIA的的 36个信号个信号快速输入选择快速输入选择2(1) 逻辑阵列块逻辑阵列块(LAB)图图8-27- MAX7128S的结构的结构(2)
57、宏单元宏单元(3) 扩展乘积项扩展乘积项(4) 可编程连线阵列可编程连线阵列(5) 不同的不同的LAB通过在可编程连线阵列通过在可编程连线阵列(PIA)上布线,以相互连上布线,以相互连接构成所需的逻辑。接构成所需的逻辑。(6)I/O控制块控制块图图8-28 共享扩展乘积项结构共享扩展乘积项结构 图图8-29 并联扩展项馈送方式并联扩展项馈送方式图图8-30 PIA信号布线到信号布线到LAB的方式的方式图图8-31-EPM7128S器器件的件的I/O控制控制块块8.4 FPGA结构与工作原理结构与工作原理8.4.1 查找表查找表0000010100000101161RAM输入A输入B输入C输入D
58、查找表输出多路选择器图图8-33 FPGA查找表单元内部结构查找表单元内部结构查找表LUT输入1输入2输入3输入4输出图图8-32 FPGA查找查找表单元:表单元:一个一个N输入查找表输入查找表 (LUT,Look Up Table)可以实现可以实现N个输入变量的任何逻辑功个输入变量的任何逻辑功能,如能,如 N输入输入“与与”、 N输入输入“异或异或”等。等。输入多于输入多于N个的函数、方程必须分开用几个查找表(个的函数、方程必须分开用几个查找表( LUT)实现实现输出输出查黑查黑找盒找盒表子表子输入输入1输入输入2输入输入3输入输入4什么是查找表什么是查找表?基于查找表的结构模块基于查找表的
59、结构模块 0000010100000101输入 A 输入 B 输入C 输入D 查找表输出16x1RAM查找表原理查找表原理多路选择器8.4.2 FLEX10K系列器件系列器件图图8-34 FLEX 10K内内部结构部结构.IOCIOCIOCIOC.IOCIOC.IOCIOC.IOCIOC.IOCIOC逻辑单元逻辑单元.IOCIOC.IOCIOCIOCIOC.快速通道互连快速通道互连逻辑阵列块逻辑阵列块 (LAB)IOCIOC.IOCIOC.IOCIOC.IOCIOC.IOCIOC.IOCIOC.IOCIOCFLEX 10K系列FPGA结构图.IOCIOC.IOCIOC.IOCIOC.IOCIO
60、C.IOCIOC.IOCIOCEABEAB嵌入式嵌入式阵列块阵列块(1) 逻辑单元逻辑单元LE图图8-35 LE(LC)结构图结构图数据1Lab 控制 3LE 输出进位链级联链查找表 (LUT)清零和预置逻辑时钟选择进位输入级联输入进位输出级联输出Lab 控制 1CLRNDQ数据2数据3数据4Lab 控制 2Lab 控制 4(1) 逻辑单元逻辑单元LE图图8-36 进位链连进位链连通通LAB中的所有中的所有LE快速加法器快速加法器, 比较器和计数器比较器和计数器DFF进位输入进位输入(来自上一个逻辑单元来自上一个逻辑单元)S1LE1查找表查找表LUT进位链进位链DFFS2LE2A1B1A2B2
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度智能家居产品代理商合作协议及售后服务框架
- 2025版蔬菜种植基地与农业科研机构合作合同
- 2025年度山坡地质灾害防治土地租赁合同范本
- 2025版跨江大桥劳务分包合同编制指南
- 2025版科技型中小企业融资服务合同
- 贵州省纳雍县2025年上半年事业单位公开遴选试题含答案分析
- 2025年度高校毕业生就业与就业指导合同
- 2025年度手机配件全球采购与供应链优化合同
- 2025年度绿色建材商品混凝土合作协议书
- 2025房地产评估与市场分析综合服务合同
- 化工厂产品品质管理制度
- 2024-2030年中国钢纤维混凝土行业市场全景分析及投资前景展望报告
- 2025年黑龙江、吉林、辽宁、内蒙古高考物理真题(解析版)
- 2025年普通高等学校招生全国统一考试数学1卷(答案版)
- 《汽车线控底盘装调与检修》课件全套劳动任务1-16线控加速系统踏板装调与检修-线控底盘参数调节与综合测试
- 华为视觉识别规范手册中文版
- 江苏省徐州市2025年初中学业水平考试英语试题
- 创业大赛承办协议书
- 普通高中信息技术课程标准(2024年版)
- “临床营养科建设与管理指南”实施细则-I级标准化临床营养科建设示范基地
- 合伙养牛合同协议书
评论
0/150
提交评论