可编程逻辑器件FPGA/CPLD结构与应用_第1页
可编程逻辑器件FPGA/CPLD结构与应用_第2页
可编程逻辑器件FPGA/CPLD结构与应用_第3页
可编程逻辑器件FPGA/CPLD结构与应用_第4页
可编程逻辑器件FPGA/CPLD结构与应用_第5页
已阅读5页,还剩52页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、X康芯科技康芯科技3.1 3.1 概概 述述输入缓冲电路与阵列或阵列输出缓冲电路输入输出基本基本PLD器件的原理结构图器件的原理结构图FPGA - Field Programmable Gate Array CPLD - Complex Programmable Logic DeviceX康芯科技康芯科技3.1.1 可编程逻辑器件的发展历程可编程逻辑器件的发展历程70年代年代80年代年代90年代年代PROM 和和PLA 器件器件 PAL 器件器件GAL器件器件FPGA器件器件EPLD 器件器件CPLD器件器件内嵌复杂内嵌复杂功能模块功能模块的的SoPCX康芯科技康芯科技3.1.2 可编程逻辑器

2、件的分类可编程逻辑器件的分类 按集成度按集成度(PLD)分类分类 可编程逻辑器件(PLD) 简单 PLD 复杂 PLD PROM PAL PLA GAL CPLD FPGA X康芯科技康芯科技1.熔丝熔丝(Fuse)和反熔丝和反熔丝(Anti-fuse)编程技术编程技术 熔丝编程技术熔丝编程技术是用熔丝作为开关元件,这些开关元件平时(在未编程时)是用熔丝作为开关元件,这些开关元件平时(在未编程时)处于连通状态,加电编程时,在不需要连接处将熔丝熔断,保留在器件内的处于连通状态,加电编程时,在不需要连接处将熔丝熔断,保留在器件内的熔丝模式决定相应器件的逻辑功能。熔丝模式决定相应器件的逻辑功能。 反

3、熔丝编程技术反熔丝编程技术也称熔通编程技术,这类器件是用逆熔丝作为开关元件。也称熔通编程技术,这类器件是用逆熔丝作为开关元件。这些开关元件在未编程时处于开路状态,编程时,在需要连接处的逆熔丝开这些开关元件在未编程时处于开路状态,编程时,在需要连接处的逆熔丝开关元件两端加上编程电压,逆熔丝将由高阻抗变为低阻抗,实现两点间的连关元件两端加上编程电压,逆熔丝将由高阻抗变为低阻抗,实现两点间的连接,编程后器件内的反熔丝模式决定了相应器件的逻辑功能。接,编程后器件内的反熔丝模式决定了相应器件的逻辑功能。 可编程元件的编程原理可编程元件的编程原理X康芯科技康芯科技熔丝型PROM的存储单元 UCC字线Wi位

4、线Di熔丝(a)(b)字线熔丝位线X康芯科技康芯科技2.浮栅型电可写紫外线擦除编程技术浮栅型电可写紫外线擦除编程技术EPROM(Ultra-Violet Erasable Programmable Read-Only Memory, 简称简称UVEPROM) 浮栅管相当于一个电子开关,加电写入,电压脉冲消除后,浮栅上的带电浮栅管相当于一个电子开关,加电写入,电压脉冲消除后,浮栅上的带电粒子可以长期保留;当浮栅管受到紫外光照射时,擦除所记忆的信息,而为粒子可以长期保留;当浮栅管受到紫外光照射时,擦除所记忆的信息,而为重新编程做好准备。重新编程做好准备。X康芯科技康芯科技3 浮栅型电可写电擦除编程

5、技(浮栅型电可写电擦除编程技(E2PROM) 编程和擦除都是通过在漏极和控制栅极上加入一定幅度和编程和擦除都是通过在漏极和控制栅极上加入一定幅度和极性的电脉冲来实现,可由用户在极性的电脉冲来实现,可由用户在“现场现场”用编程器来完成。用编程器来完成。4基于静态存储器基于静态存储器SRAM编程技术编程技术 X康芯科技康芯科技3.1.2 简单简单PLD原理原理一、一、 电路符号表示电路符号表示 常用逻辑门符号与现有国标符号的对照常用逻辑门符号与现有国标符号的对照X康芯科技康芯科技 电路符号表示电路符号表示 PLD的互补缓冲器的互补缓冲器 PLD的互补输入的互补输入 PLD中与阵列表示中与阵列表示

6、PLD中或阵列的表示中或阵列的表示 阵列线连接表示阵列线连接表示 X康芯科技康芯科技 PROM表达的表达的PLD图阵列图阵列与阵列(固定)或阵列(可编程)0A1A1A1A0A0A1F0F 用用PROM完成半加器逻辑阵列完成半加器逻辑阵列与 阵 列 ( 固 定 )或 阵 列( 可 编 程 )0A1A1A1A0A0A1F0F01110100AAFAAAAF二、二、 PROMX康芯科技康芯科技地 址译 码 器存 储 单 元阵 列0A1A1nA0W1W1pW0F1F1mFnp2 PROM基本结构:基本结构:0111201110110.AAAWAAAWAAAWnnnn其逻辑函数是:其逻辑函数是:X康芯科

7、技康芯科技PROM PROM的逻辑阵列结构的逻辑阵列结构与阵列(不可编程)或阵列(可编程)0A1A1nA0W1W1pW0F1F1mFnp201,011, 111, 1101 ,011 , 111 , 1100,010, 110, 10WMWMWMFWMWMWMFWMWMWMFmmpmpmpppp逻辑函数表示:逻辑函数表示:X康芯科技康芯科技三、三、 PLA PLA逻辑阵列示意图逻辑阵列示意图与 阵 列 ( 可 编 程 )或 阵 列( 可 编 程 )0A1A1A1A0A0A1F0FX康芯科技康芯科技四、四、 PAL0A1A1F0F0A1A1F0FPAL结构:结构: PAL的常用表示:的常用表示:

8、五、五、 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 / O / QI / O / QI / O / QC L KO EGAL16V8的结构图的结构

9、图输出逻辑宏单元X康芯科技康芯科技输出逻辑宏单元输入/输出口输入口时钟信号输入三态控制可编程与阵列固定或阵列GAL16V8X康芯科技康芯科技(1) 逻辑阵列块逻辑阵列块(LAB)MAX7128S的结构的结构3.1.3 CPLD结构与工作原理结构与工作原理(Complex Programmable Logic Device)X康芯科技康芯科技X康芯科技康芯科技(2) 宏单元宏单元 每个宏单元由三个功能块组成:逻辑阵列、乘积项选择矩阵和寄存器。逻辑阵列实现组合逻辑功能,可给每个宏单元提供五个乘积项;乘积项选择矩阵分配这些乘积项作为主要逻辑输入,以实现组合逻辑函数。每个宏单元上都有一个乘积项可以反相

10、,再回送到逻辑阵列,这个乘积项能够连到同一个LAB中任何其他乘积项上;宏单元的寄存器可以单独地编程为具有可编程时钟控制的D、JK或RS触发器工作方式。如果需要的话,也可将寄存器旁路,以实现纯组合逻辑的输出。宏单元的寄存器支持异步清除、异步置位功能,由乘积项选择矩阵控制这些操作。当然,每个寄存器的复位功能也可以由低电平有效的专用全局复位信号来驱动。X康芯科技康芯科技MAX7000系列的单个宏单元结构系列的单个宏单元结构PRNCLRNENA逻辑阵列全局清零共享逻辑扩展项清零时钟清零选择寄 存 器旁路并行扩展项通往 I/O模块通往 PIA乘积项选择矩阵来自 I/O引脚全局时钟QDEN来自来自 PIA

11、的的 36个信号个信号快速输入选择快速输入选择2X康芯科技康芯科技(3) 扩展乘积项扩展乘积项 共享扩展乘积共享扩展乘积项结构项结构 由于宏单元中只有五个乘积项,要实现多于五个乘积项的逻辑函数时,就需要扩展乘积项。扩展乘积项是利用可编程开关将一些宏单元中没有使用的乘积项提供给邻近的宏单元使用,可以提高资源的利用率,MAX 7000系列最多可扩展20个乘积项。X康芯科技康芯科技并联扩展项馈送方式并联扩展项馈送方式选择分频器X康芯科技康芯科技(4) 可编程连线阵列可编程连线阵列(PIA) PIA的作用是在各逻辑宏单元之间以及逻辑宏单元和I/O单元之间提供互连网络。各逻辑宏单元通过PIA接收来自专用

12、输入或输出端的信号,并将宏单元处理后的信号反馈到其需要到达的I/O单元或其他宏单元。MAX 7000的PIA有固定的延时,所以能够消除了信号之间的时间偏移,使得整个器件的时间性能容易预测。X康芯科技康芯科技(5) 不同的不同的LAB通过在可编程连线阵列通过在可编程连线阵列(PIA)上布线,以相互连上布线,以相互连接构成所需的逻辑。接构成所需的逻辑。PIA信号布线到信号布线到LAB的方式的方式X康芯科技康芯科技(6)I/O控制块控制块 I/O控制块有两个全局输出使能信号,允许把每个I/O管脚单独地配置为输入、输出和双向工作方式。所有I/O管脚都有一个三态缓冲器,缓冲器的控制端可以由全局输出使能信

13、号控制,也可以把控制端直接连到地(GND)或电源(VCC)上。当控制端接地(GND)时,缓冲器输出为高阻状态,这时I/O管脚可作为专用输入管脚使用;当控制端接电源(VCC)时,可作为输出管脚使用。X康芯科技康芯科技EPM7128S器件器件的的I/O控制块控制块三态缓冲器多路选择器X康芯科技康芯科技 MAX 7000系列包含6005000个可用门、32256个宏单元、44208个用户I/O管脚、管脚到管脚最短延迟为5.0ns,计数器最高工作频率可达178.6MHz。其产品系列如表3-1所示。特性EPM7032EPM7064EPM7096EPM7128EPM7160EEPM7192EPM7256可

14、用的门600125018002500320037505000宏单元326496128160192256逻辑阵列块(LAB)2468101216用户I/O管脚366876100104124164最大全局时钟频率(MHz)151.5178.6125151.5151.5125125表3-1 MAX 7000系列产品一览表X康芯科技康芯科技1.查找表(查找表(Look-Up-Table)的原理与结构的原理与结构 采用这种结构的PLD芯片我们也可以称之为FPGA:如altera的ACEX,APEX系列,xilinx的Spartan,Virtex系列等。 查找表(Look-Up-Table)简称为LUT,

15、LUT本质上就是一个RAM。 目前FPGA中多使用4输入的LUT,所以每一个LUT可以看成一个有4位地址线的16x1的RAM。 当用户通过原理图或HDL语言描述了一个逻辑电路以后,PLD/FPGA开发软件会自动计算逻辑电路的所有可能的结果,并把结果事先写入RAM,这样,每输入一个信号进行逻辑运算就等于输入一个地址进行查表,找出地址对应的内容,然后输出即可。3.1.4 FPGA结构与工作原理结构与工作原理X康芯科技康芯科技查找表LUT输入1输入2输入3输入4输出FPGA查找表单元:查找表单元:X康芯科技康芯科技X康芯科技康芯科技2. FLEX10K系列器件系列器件FLEX 10K内部结构内部结构

16、.IOCIOCIOCIOC.IOCIOC.IOCIOC.IOCIOC.IOCIOC逻辑单元逻辑单元.IOCIOC.IOCIOCIOCIOC.快速通道互连快速通道互连逻辑阵列块逻辑阵列块 (LAB)IOCIOC.X康芯科技康芯科技.IOCIOC.IOCIOC.IOCIOC.IOCIOC.IOCIOC.IOCIOCFLEX 10K系列FPGA结构图.IOCIOC.IOCIOC.IOCIOC.IOCIOC.IOCIOC.IOCIOCEABEAB嵌入式嵌入式阵列块阵列块X康芯科技康芯科技 逻辑阵列是由一系列的逻辑阵列块(LAB)构成的。每个LAB包含8个LE(逻辑单元)和一些连接线,每个LE含有一个4

17、输入查找表(LUT)、一个可编程触发器、进位链和级联链,LE的结构能有效地实现各种逻辑。每个LAB是一个独立的结构,它具有共同的输入、互连与控制信号,LAB的这种“粗粒度”结构有利于布线和实现器件的高性能,每个LAB代表大约相当于96个可用逻辑门,多个LAB组合起来也可以构成更大的逻辑块。(1) 逻辑阵列逻辑阵列LAB是由一系列的相邻是由一系列的相邻LE构成的构成的X康芯科技康芯科技图图3-38-FLEX10K LAB的结构图的结构图X康芯科技康芯科技(2) 逻辑单元逻辑单元LE图图3-35 LE(LC)结构图结构图数据1Lab 控制 3LE 输出进位链级联链查找表 (LUT)清零和预置逻辑时

18、钟选择进位输入级联输入进位输出级联输出Lab 控制 1CLRNDQ数据2数据3数据4Lab 控制 2Lab 控制 4X康芯科技康芯科技(3) 快速通道快速通道(FastTrack)(4) I/O单元与专用输入端口单元与专用输入端口 FLEX 10K器件内部信号的互连和器件管脚之间的信号互连是由快速通道(Fast Track)连线提供的,它是贯通器件长、宽的快速连续通道。X康芯科技康芯科技.IOCIOC.IOCIOC.IOCIOC.IOCIOC.IOCIOC.IOCIOCFLEX 10K系列FPGA结构图.IOCIOC.IOCIOC.IOCIOC.IOCIOC.IOCIOC.IOCIOCEABE

19、AB嵌入式嵌入式阵列块阵列块X康芯科技康芯科技MAX7128S的结构的结构X康芯科技康芯科技(5) 嵌入式阵列块嵌入式阵列块(EAB) 嵌入式阵列是由一系列的EAB(嵌入式阵列块)构成的。当要实现有关存储器功能时,每个EAB可提供2048比特位,用来构成RAM、ROM、FIFO或双端口RAM。当EAB用来实现乘法器、微控制器、状态机以及DSP等复杂逻辑时,每个EAB可以相当于100到600个逻辑门。EAB可以单独使用,也可以组合起来使用。X康芯科技康芯科技输出时钟DRAM/ROM256x8512x41024x22048x1DDD写脉冲电路输出宽度8 , 4 , 2 , 1 数据宽度8 , 4

20、, 2 , 1地址宽度 8,9,10,11 写使能输入时钟X康芯科技康芯科技z EAB的大小灵活可变的大小灵活可变z 通过组合通过组合EAB 可以构成更大的模块可以构成更大的模块z 不需要额外的逻辑单元,不引入延迟,不需要额外的逻辑单元,不引入延迟, EAB 可配置为深度达可配置为深度达2048的存储器的存储器EAB 的字长是可配置的256x8512x41024x22048x1256x8256x8512x4512x4256x16512x8X康芯科技康芯科技特性EPF 10K 10EPF 10K 30EPF 10K 50EPF 10K 100EPF 10K 130EPF 10K 250可用的门7

21、000310002200069000360001160006200015800082000211000149000310000逻辑单元(LE)576172828804992665612160逻辑阵列块(LAB)722163606248321520嵌入式阵列块(EAB)3610121620总的RAM位61141228820480245763276840960用户I/O管脚134246310406470470表3-2 FLEX 10K器件特性X康芯科技康芯科技10,00020,00030,00040,00050,00070,000100,000130,000250,0006,00012,00012

22、,00016,00020,00018,00024,00032,00040,000存储器容量存储器容量(单位单位: Bit)典型可用门典型可用门EPF10K10/AEPF10K20EPF10K30/AEPF10K40EPF10K5/VEPF10K70EPF10K100/AEPF10K130VEPF10K250AX康芯科技康芯科技FPGA与CPLD的区别系统的比较,与大家共享: 尽管FPGA和CPLD都是可编程ASIC器件,有很多共同特点,但由于CPLD和FPGA结构上的差异,具有各自的特点: CPLD更适合完成各种算法和组合逻辑,FPGA更适合于完成时序逻辑。换句话说,FPGA更适合于触发器丰富

23、的结构,而CPLD更适合于触发器有限而乘积项丰富的结构。 CPLD的连续式布线结构决定了它的时序延迟是均匀的和可预测的,而FPGA的分段式布线结构决定了其延迟的不可预测性。 X康芯科技康芯科技 在编程上FPGA比CPLD具有更大的灵活性。CPLD通过修改具有固定内连电路的逻辑功能来编程,FPGA主要通过改变内部连线的布线来编程;FPGA可在逻辑门下编程,而CPLD是在逻辑块下编程。 FPGA的集成度比CPLD高,具有更复杂的布线结构和逻辑实现。 CPLD比FPGA使用起来更方便。CPLD的编程采用E2PROM或FASTFLASH技术,无需外部存储器芯片,使用简单。而FPGA的编程信息需存放在外

24、部存储器上,使用方法复杂。 X康芯科技康芯科技 CPLD的速度比FPGA快,并且具有较大的时间可预测性。这是由于FPGA是门级编程,并且CLB之间采用分布式互联,而CPLD是逻辑块级编程,并且其逻辑块之间的互联是集总式的。 在编程方式上,CPLD主要是基于E2PROM或FLASH存储器编程,编程次数可达1万次,优点是系统断电时编程信息也不丢失。CPLD又可 分为在编程器上编程和在系统编程两类。FPGA大部分是基于SRAM编程,编程信息在系统断电时丢失,每次上电时,需从器件外部将编程数据重新写入 SRAM中。其优点是可以编程任意次,可在工作中快速编程,从而实现板级和系统级的动态配置。 X康芯科技

25、康芯科技CPLD保密性好,FPGA保密性差。 一般情况下,CPLD的功耗要比FPGA大,且集成度越高越明显。 X康芯科技康芯科技选择选择CPLD还是还是FPGA? 1.由由CPLD的结构和原理可以知道,的结构和原理可以知道,CPLD分解组合逻辑的功能很强,分解组合逻辑的功能很强,一个宏单元就可以分解十几个甚至一个宏单元就可以分解十几个甚至2030多个组合逻辑输入。而多个组合逻辑输入。而FPGA的一的一个个 LUT只能处理只能处理4输入的组合逻辑,因此,输入的组合逻辑,因此,CPLD适合用于设计译码等复杂适合用于设计译码等复杂组合逻辑。组合逻辑。 2.FPGA的制造工艺确定了的制造工艺确定了FP

26、GA芯片中包含的芯片中包含的LUT和触发器的数量非常和触发器的数量非常多,往往都是几千上万,多,往往都是几千上万,CPLD一般只能做到一般只能做到512个逻辑单元,而且如果用芯个逻辑单元,而且如果用芯片价片价 格除以逻辑单元数量,格除以逻辑单元数量,FPGA的平均逻辑单元成本大大低于的平均逻辑单元成本大大低于PLD。 所以所以如果设计中使用到大量触发器,例如设计一个复杂的时序逻辑,那么使用如果设计中使用到大量触发器,例如设计一个复杂的时序逻辑,那么使用FPGA就是一个很好选择。就是一个很好选择。 3. 同时同时PLD拥有上电即可工作的特性,而大部分拥有上电即可工作的特性,而大部分FPGA需要一

27、个加载过需要一个加载过程,所以,如果系统要可编程逻辑器件上电就要工作,那么就应该选择程,所以,如果系统要可编程逻辑器件上电就要工作,那么就应该选择PLDX康芯科技康芯科技FPGA/CPLD生产商 ALTERAFPGA: FLEX系列:10K、10A、10KE,EPF10K30E APEX系列:20K、20KE EP20K200E ACEX系列:1K系列 EP1K30、EP1K100 STRATIX系列:EP1系列 EP1S30、EP1S120CPLD: MAX7000/S/A/B系列:EPM7128S MAX9000/A系列FPGA: XC3000系列, XC4000系列, XC5000系列

28、Virtex系列 SPARTAN系列:XCS10、XCS20、XCS30CPLD: XC9500系列:XC95108、XC95256XILINXX康芯科技康芯科技LATTICEVANTIS(AMD)ispLSI系列:系列:1K、2K、3K、5K、8K ispLSI1016 、ispLSI2032、 ispLSI1032E、ispLSI3256A MACH系列系列 ispPAC系列:系列: 其他其他PLD公司:公司:ACTEL公司:公司: ACT1/2/3、40MXATMEL公司:公司:ATF1500AS系列、系列、40MXCYPRESS公司公司QUIKLOGIC公司公司 CPLD SO MUCH IC!FPGA CPLDFPGA/CPLD生产商 X康芯科技康芯科技FPGA/CPLD多电压兼容系统内核电压内核电压 3.3V、2.5V或或 1.8V 接受接受 2.5V、3.3V 或者或者 5.0V 输入输入输 出 电 位输 出 电 位标准标准 VccioX康芯科技康芯科技FPGA/CPLD下载方式下载方式 CPLDFPGASR

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论