《FPGA结构与应用幻灯片》由会员分享,可在线阅读,更多相关《FPGA结构与应用幻灯片(70页珍藏版)》请在金锄头文库上搜索。
1、EDA技术实用教程,第2章 FPGACPLD结构与应用,2.1.1 数字集成电路分类,通用型:逻辑功能比较简单,固定不变。专用型(ASIC,Application Specific IC) 为某种专门用途而设计的集成电路。 可编程逻辑器件(PLD,Programmable Logic Device) 其逻辑功能可由用户通过对器件编程来设定。,数字系统,2.1 概 述,图2-1 基本PLD器件的原理结构图,乘积项逻辑可编程结构,2.1.2 可编程逻辑器件的分类,图2-2 PLD按集成度分类,按集成密度分:,按编程方式分:,一次性编程OTP(One Time Programmable)器件可多次编
2、程MTP(Many Time Programmable)器件,乘积项逻辑可编程结构(PLD):基本结构由与阵列和或阵列组成。 SRAM查找表逻辑可编程结构( FPGA ):采用RAM“数据”查找的方式,并用多个查找表构成一个阵列。,按结构特点分类:,按编程工艺分:采用一次性编程的熔丝(Fuse)或反熔丝(Antifuse)元件的可编程器件,如PROM、PLA和PAL等。,采用紫外线擦除、电可编程元件,即采用EPROM、UVCMOS工艺结构的可多次编程器件。 如EPLD。,采用电擦除、电可编程元件。其中一种是E2PROM,另一种是采用快闪存储器单元(Flash Memory)结构的可多次编程器件
3、。如GAL和CPLD,Actel的FPGA是Flash。,基于静态存储器SRAM结构的可多次编程器件。目前多数FPGA是基于SRAM结构的可编程器件。,2.1.3 可编程逻辑器件的发展历程,70年代,80年代,90年代,PROM 器件,PAL 器件,GAL器件,FPGA器件,EPLD 器件,CPLD器件,内嵌复杂功能模块的SoPC,PLA 器件,2.2 简单PLD结构原理,2.2.1 逻辑元件符号表示,图2-3 两种不同版本的国际标准逻辑门符号对照,IEEE 1991版,IEEE 1984版,图2-4PLD的互补缓冲器 图2-5 与图3-4等效 图2-6 PLD中与阵列表示,图2-7 PLD中
4、或阵列的表示 图2-8 阵列线连接表示,PLD中逻辑门符号的简化表示,2.2.2 PROM(只能构建组合逻辑),图2-9 PROM基本结构,W的逻辑函数:,图2-10 PROM的逻辑阵列结构,F的逻辑函数:,图2-11 PROM表达的PLD阵列图,图2-12 用PROM完成半加器逻辑阵列,举例:用42PROM实现半加器,2.2.3 PLA (Programmable Logic Array),图2-13 PLA逻辑阵列示意图,可编程与阵列可编程或阵列,图2-14 PLA与 PROM的比较,PLA利用率较高,但需要化简,PLA(63),PROM (83),2.2.4 PAL ( Programm
5、able Array Logic),图2-15 PAL结构,图2-16 PAL的常用表示,可编程与阵列固定或阵列,图2-17 PAL16V8的部分结构图,可编程与阵列固定或阵列输出电路(有多种结构类型),2.2.5 GAL,图2-18 GAL16V8的结构图,可编程与阵列固定或阵列OLMC,GAL General Array Logic Device最多有8个或项,每个或项最多有32个与项EPLDErasable Programmable Logic Device,乘积项逻辑,上述四种LDPLD器件比较,三态、 I/O、寄存器、异或输出、互补带反馈,2.3 CPLD结构与工作原理,Comple
6、x Programmable Logic Device,基本电路结构:,将若干个类似于GAL的功能模块和实现互连的开关矩阵集成于同一芯片上,就形成了CPLD。它包含以下三个基本部分1.宏单元(通用逻辑模块/ GLB): 由可编程的与逻辑阵列、乘积项共享的或逻辑阵列和输出逻辑宏单元三部分构成。多个宏单元组成一个LAB_逻辑阵列块。2.I/O控制块(I/O单元):是内部信号到I/O引脚的接口部分。3.PIA_可编程连线阵列(可编程内部连线): 给各通用逻辑模块之间,以及通用逻辑模块和I/O之间提供互连网络。,逻辑阵列块(LAB,Logic Array Block),图3-27 MAX3000的结构
7、(Altera),可编程连线阵列( PIA,Programmable Interconnect Array),一个LAB由16个宏单元的阵列组成。,图2-26 MAX3000A系列的单个宏单元结构,PRN,CLRN,ENA,逻辑阵列,全局清零,共享逻辑扩展项,清零,时钟,清零选择,寄存器旁路,并行扩展项,通往 I/O模块,通往 PIA,乘积项选择矩阵,来自 I/O引脚,全局时钟,来自 PIA的 36个信号(Programmable Interconnect Array),快速输入选择,2,可编程与阵列固定或阵列OLMC,逻辑阵列乘积项选择矩阵可编程寄存器,1、宏单元,共享扩展乘积项,图2-28
8、 共享扩展乘积项结构,每个宏单元提供一个单独的乘积项,通过一个非门取反后反馈到逻辑阵列中,可被LAB内任何一个或全部宏单元使用和共享,以组成复杂的逻辑函数。每个LAB有16个共享扩展项。,图2-29 并联扩展项馈送方式,并联扩展乘积项,宏单元中一些没有被使用的乘积项可分配到邻近的宏单元去实现快速、复杂的逻辑函数。允许最多20个乘积项直接送到或逻辑。,2、可编程连线阵列PIA,图2-30 PIA信号布线到LAB的方式,专用输入、I/O引脚和宏单元输出都连接到PIA,用户可编程控制PIA把器件中任何信号连接到其目的地。,3、I/O控制块,图2-31 MAX3000A系列器件的I/O控制块,允许每个
9、I/O引脚单独被配置为输入、输出和双向工作方式。,五个主要部分:逻辑阵列块(LAB)宏单元扩展乘积项(共享和并联)可编程连线阵列(PIA)I/O控制块,三个基本部分,CPLD的结构:,f= (A+B)C(D)=ACD + BCD,f,举例:,A、B、C、D由PLD芯片的管脚输入后进入可编程连线阵列(PIA),在内部会产生A、A非、B、B非、C、C非、D、D非8个输出。图中每一个叉表示相连(可编程熔丝导通),所以得到:f= f1 + f2 = (ACD) + (BCD) 。 D触发器直接利用宏单元中的可编程D触发器来实现。 时钟信号CLK由I/O脚输入后进入芯片内部的全局时钟专用通道,直接连接到
10、可编程触发器的时钟端。 可编程触发器的输出与I/O脚相连,把结果输出到芯片管脚。 (以上步骤均由软件自动完成,不需人为干预),此简单电路只需一个宏单元即可完成。 对于复杂电路,需通过并联扩展项和共享扩展项将多个宏单元相连,宏单元的输出也可以连接到可编程连线阵列,再做为另一个宏单元的输入。这样PLD就可实现更复杂的逻辑。,CPLD的优点(Advantage)断电后数据不会丢失。,CPLD的缺点(Disadvantage)组成复杂的、特殊的数字系统时欠灵活。,2.4 FPGA结构与工作原理,2.4.1 查找表(LUT,Look Up Table),图2-33 FPGA查找表单元内部结构,图2-32
11、 FPGA查找表单元,Field Programmable Gate Array,0,0,0,0,0,1,0,1,0,0,0,0,0,1,0,1,输入 A 输入 B 输入C 输入D,查找表输出,16x1RAM,查找表原理,多路选择器,函数发生器,一个N输入查找表 (LUT,Look Up Table)可以实现N个输入变量的任何逻辑功能,如 N输入“与”、 N输入“异或”等。输入多于N个的函数、方程必须分开用几个查找表( LUT)实现,什么是查找表?,基于查找表的结构模块,.,IOC,IOC,.,IOC,IOC,.,IOC,IOC,.,IOC,IOC,.,IOC,IOC,.,IOC,IOC,.,
12、IOC,IOC,.,IOC,IOC,.,IOC,IOC,.,IOC,IOC,.,IOC,IOC,.,IOC,IOC,EAB,EAB,嵌入式阵列块,快速通道互连,逻辑单元,逻辑阵列块 (LAB),FPGA内部结构示意图,嵌入式乘法器锁相环(PLL),LELUT可编程FF进位链级联链(寄存器链),1、逻辑单元LE(Logic Element ),普通模式算术模式,2、逻辑阵列块LABLogic Array Block,LAB16个LE进位链/寄存器链/直通互连局部互连 /行互连/列互连/,图2-38 LAB阵列间互连,连续布线 = 每次设计重复的可预测性和高性能,连续布线 ( Altera 基于查
13、找表(LUT)的 FPGA),LAB,LE,3、行/ 列互连(快速通道),分段布线 = 每次设计不重复的难预测性,性能降低,4、I/O单元与专用输入端口,IO单元结构图,5、嵌入式存储器:由数十个M9K的存储器块构成,每个M9K存储器块具有很强的伸缩性,可实现8192位RAM、ROM、移位寄存器、FIFO。还可通过多种连线与可编程资源实现连接,大大增强了FPGA的性能,扩大了其应用范围。,用M9K构成不同结构的RAM和ROM,6、乘法器、PLL,下面是一个4输入与门的例子,举例:,仍以上述电路为例: A、B、C、D由FPGA芯片的管脚输入后进入快速通道,然后作为地址线连到LUT,LUT中已经事先写入了所有可能的逻辑结果,通过地址查找到相应的数据然后输出,这样组合逻辑就实现了。该电路中D触发器是直接利用LUT后面D触发器来实现。 时钟信号CLK由I/O脚输入后进入芯片内部的时钟专用通道,直接连接到触发器的时钟端。 触发器的输出与I/O脚相连,把结果输出到芯片管脚。(以上步骤都是由软件自动完成的,不需要人为干预),FPGA的优点(Advantage)在组成一些复杂的、特殊的数字系统时显得更加灵活。,FPGA的缺点(Disadvantage)FPGA中大多采用基于静态随机存储器(SRAM)的查找表结构,所以断电后数据便随之消失。,