1、第七章 可编程逻辑器件的工作原理及应用,主讲:司杨 制作:张海峰,电工教研室,第七章 可编程逻辑器件的工作原理及应用,电工教研室,7.1 可编程逻辑器件的编程原理,7.1.1 概述 一、数字电路的发展与可编程器件的出现 二、PLD的发展态势 三、可编程逻辑器件的分类 1.按集成密度划分为 7.1.2 PLD的结构、表示方法 1.PLD的基本结构 2.PLD的逻辑符号表示方法 3.编程连接技术 4.低密度可编程逻辑器件,电工教研室,6.1.3 可编程只读存储器PROM 6.1.4 可编程逻辑阵列 PLA 一、PLA基本结构 二、PLA应用举例 6.1.5 可编程阵列逻辑 PAL 6.1.6 通用
2、阵列逻辑 GAL 一、GAL16V8总体结构 二、输出逻辑宏单元(OLMC) 1. OLMC的结构 2.GAL16V8的结构控制字 3.OLMC的配置 三、行地址结构 6.1.2 PLD的结构、表示方法,一、数字电路的发展与可编程器件的出现,集成度:,高效、低耗、高精度、高稳定、智能化。,VLSIC,LSIC,SSIC,MSIC,7.1.1 概述,专用型:ASIC (Application Specific Integratel Circuit),逻辑功能:,通用型:54/74系列、74HC系列、74HCT系列等,可编程器件 (PLD : Programmable Logic Device )
3、,VLSIC,二、PLD的发展态势,向低电压和低功耗方向发展,5V 3.3V 2.5V 1.8V 更低,向高集成度、高速度方向发展集成度已达到400万门以上,向数、模混合可编程方向发展,向内嵌多种功能模块方向发展RAM,ROM,DSP,CPU等,1.按集成密度划分为,三、可编程逻辑器件的分类,7.1.2 PLD的结构、表示方法,与门 阵列,或门 阵列,乘积项,和项,PLD主体,输入 电路,输入信号,互补输入,输出 电路,输出函数,可由或阵列直接输出,构成组合输出;通过寄存器输出,构成时序方式输出。,1.PLD的基本结构,2. PLD的逻辑符号表示方法,(1) 连接的方式,(2)基本门电路的表示
4、方式,F1=ABC,与门,或门,A,B,C,&,L,A,B,C,1,L,D,F1=A+B+C+D,三态输出缓冲器,输出恒等于0的与门,输出为1的与门,输入缓冲器,简化,熔丝编程技术是用熔丝作为开关元件,这些开关元件平时(在未编程时)处于连通状态,加电编程时,在不需要连接处将熔丝熔断,保留在器件内的熔丝模式决定相应器件的逻辑功能。反熔丝编程技术也称熔通编程技术,这类器件是用逆熔丝作为开关元件。这些开关元件在未编程时处于开路状态,编程时,在需要连接处的逆熔丝开关元件两端加上编程电压,逆熔丝将由高阻抗变为低阻抗,实现两点间的连接,编程后器件内的反熔丝模式决定了相应器件的逻辑功能。,(1)熔丝(Fus
5、e)和反熔丝(Anti-fuse)编程技术,3. 编程连接技术,熔丝结构,反熔丝结构示意,体积小,集成度高,速度高,易加密,抗干扰,耐高温 只能一次编程,在设计初期阶段不灵活,PLD表示的与门,熔丝工艺的与门原理图,L=ABC,高电平,A、B、C有一个输入低电平0V,A、B、C三个都输入高电平+5V,低电平,L=ABC,熔丝图中 L=AB,A、B、C 中有一个为0,A、B、C 都为1,输出为0;,输出为1。,情况2:L=AC,情况1:L=ABC,X,X,器件的开关状态不同, 电路实现逻辑函数也就不同,1 0 1,1 1 1,(2)浮栅型电可写紫外线擦除编程技术,浮栅管相当于一个电子开关,如N沟
6、浮栅管,当浮栅中没有注入电子时,浮栅管导通;当浮栅中注入电子后,浮栅管截止。浮栅管的浮栅在原始状态没有电子,如果把源极和衬底接地,且在源-漏极间加电压脉冲产生足够强的电场,使电子加速跃入浮栅中,则使浮栅带上负电荷,电压脉冲消除后,浮栅上的电子可以长期保留;当浮栅管受到紫外光照射时,浮栅上的电子将流向衬底,擦除所记忆的信息,而为重新编程做好准备。,浮栅型紫外线擦除熔丝结构,早期PROM器件采用此工艺,可反复编程 不用每次上电重新下载,但相对速度慢,功耗较大,三、浮栅编程技术,用浮栅编程技术生产的编程单元是一种能多次改写的ROM,即已写入的内容可以擦去,也可以重新写入新的内容。,(一)叠栅型(SI
7、MOS)存储单元,0,问题:浮栅上的电荷无放电通路,没法泄漏。,用紫外线照射芯片上的玻璃窗,则形成光电电流,把栅极电子带回到多晶硅衬底,SIMOS管恢复到初始的导通状态。,(3)浮栅型电可写电擦除编程技(E2PROM),此类器件在CMOS管的浮栅与漏极间有一薄氧化层区,其厚度为10m15m,可产生隧道效应。编程(写入)时,漏极接地,栅极加20V的脉冲电压,衬底中的电子将通过隧道效应进入浮栅,浮栅管正常工作时处于截止状态,脉冲消除后,浮栅上的电子可以长期保留;若将其控制栅极接地,漏极加20V的脉冲电压,浮栅上的电子又将通过隧道效应返回衬底,则使该管正常工作时处于导通状态,达到对该管擦除的目的。编
8、程和擦除都是通过在漏极和控制栅极上加入一定幅度和极性的电脉冲来实现,可由用户在“现场”用编程器来完成。,浮栅型电可擦除熔丝结构,大多数CPLD器件采用此工艺,可反复编程 不用每次上电重新下载,但相对速度慢,功耗较大,向浮栅写入 电荷时,G加25 V,D接GND。,擦除浮栅 电荷时,G加5 V,D接25V。,(二)隧道型(FLOTOX)储存单元,前面研究的可擦写存储器的缺点是擦除已存入的信息必须用紫外光照射一定的时间,因此不能用于快速改变储存信息的场合。,FLOTOX管的结构剖面示意图如图所示。,它与叠栅型管的不同在于浮栅延长区与漏区N 之间的交叠处有一个厚度约为80埃的薄绝缘层。,隧道型储存单
9、元制成的存储器克服了这一缺点,它称为电可改写只读存储器E2PROM,即电擦除、电编程的只读存储器。,(4)SRAM编程技术,与浮栅型熔丝结构基本相同。SRAM编程技术是在FPGA器件中采用的主要编程工艺之一。SRAM型的FPGA是易失性的,断电后其内部编程数据(构造代码)将丢失,需在外部配接ROM存放FPGA的编程数据。,可反复编程,实现系统功能的动态重构 每次上电需重新下载,实际应用时需外挂EEPROM用于保存程序,(2) 浮栅MOS管开关,用不同的浮栅MOS管连接的PLD,编程信息的擦除方法也不同。SIMOS管连接的PLD,采用紫外光照射擦除;Flotox MOS管和快闪叠栅MOS管,采用
10、电擦除方法。,浮栅MOS管,叠栅注入MOS(SIMOS)管,浮栅隧道氧化层MOS(Flotox MOS)管,快闪(Flash)叠栅MOS管,当浮栅上带有负电荷时,使得MOS管的开启电压变高,如果给控制栅加上VT1控制电压,MOS管仍处于截止状态。,a.叠栅注入MOS(SIMOS)管,导通,截止,若要擦除,可用紫外线或X射线,距管子2厘米处照射15-20分钟。,L=BC,1 1 1 1,浮栅延长区与漏区N+之间的交叠处有一个厚度约为80A (埃)的薄绝缘层遂道区。,当遂道区的电场强度大到一定程度,使漏区与浮栅间出现导电遂道,形成电流将浮栅电荷泄放掉。,遂道MOS管是用电擦除的,擦除速度快。,b.
11、浮栅隧道氧化层MOS(Flotox MOS)管,结构特点:1.闪速存储器存储单元MOS管的源极N+区大于漏极N+区,而SIMOS管的源极N+区和漏极N+区是对称的;2. 浮栅到P型衬底间的氧化绝缘层比SIMOS管的更薄。,c.快闪叠栅MOS管开关 (Flash Memory) (自学),特点:结构简单、集成度高、 编程可靠、擦除快捷。,PLD中的三种与、或阵列,与阵列、或阵列 均可编程(PLA),与阵列固定,或阵 列可编程(PROM),与阵列可编程,或 阵列固定(PAL和 GAL等),三种与、或阵列有什么应用特点?,输出函数为最小 项表达式,输出函数的乘积项数不可变每个乘积项所含变量数可变,输
12、出函数的乘积项数可变每个乘积项所含变量数可变,4.低密度可编程逻辑器件(LDPLD:Low-Density PLD),(1) PROM (Programmable ROM),20世纪70年代初。,与阵列固定,或阵列可编程。,(2) PLA(Programmable Logic Array),20世纪 70年代初。,与阵列、或阵列都可编程。,(3) PAL(Programmable Array Logic),20世纪70年代末 。,与阵列可编程,或阵列固定。,(4) GAL(Generic Array Logic ),20世纪80年代初。,大部分与阵列可编程,或阵列固定。,7.1.3 可编程只读
13、存储器PROM,完全译码阵列,实现组合逻辑函数:将函数写为最小项之和形式,将对应的与项或起来即可。,容量与门数或门数2nm,利用效率低。,例:试用PROM实现4位二进制码到Gray码的转换。,转换真值表,7.1.4 可编程逻辑阵列 PLA,一、PLA基本结构,图 PLA的基本结构,二、PLA应用举例,例 用PLA器件实现函数,解 :用PLA器件实现,需3个输入端,2个输出端。,用卡诺图法化简,得出F1、F2的最简与或式:,相应的实现电路如图10.5.2所示。,图10.5.2 用PLA实现组合函数的设计,&,1,例 由PLA构成的逻辑电路如图所示,试写出该电路的逻辑表达式,并确定其逻辑功能。,写
14、出该电路的逻辑表达式:,AnBnCn,AnBn,AnCn,BnCn,全加器,试写出该电路的逻辑表达式。,例:试用PLA实现4位二进制码到Gray码的转换。,解:利用卡诺图化简得最简与或式:,时序型PLA基本结构图,PLA的与或阵列只能构成组合逻辑电路,若在PLA中加入触发器则可构成时序型PLA,实现时序逻辑电路。,1 1 1 0 0 0 0 1 0 1 0 0,例:试用PLA和JK触发器实现2位二进制可逆计数器。当X=0时,进行加法计数;X=1时,进行减法计数。,解:X为控制信号,Y为进位(借位)输出信号。,0 0 0 0 0 1 0 1 0 0 1 1,1 0 0 1 0 1 1 1 0 1
15、 1 1,0 1 0 1 0 0 1 1 0 0 0 1,画状态图,列状态转移表,求状态、驱动和输出方程,比较得驱动方程:,画阵列图,7.1.5 可编程阵列逻辑 PAL,除了具有与阵列和或阵列以外,还有输出和反馈电路: 专用输出结构 可编程输入/输出结构 寄存器输出结构 异或输出结构,图 PAL器件的基本电路结构,&,1,图 专用输出结构,特点:或非门输出或互补输出 常用器件:PAL16L8, PAL20L10等,图 可编程输入/输出结构,(1)端口既可做输入也可做输出 (2)做输出端口时,输出信号又可被反馈到输入,构成简单的触发器。,图 寄存器输出结构,(1)增加了D触发器,整个PAL的所有
16、D触发器共用一个时钟和输出使能信号。 (2)可构成同步时序逻辑电路,图 异或输出结构,&,&,=1,1,增加了异或门,使时序逻辑电路的设计得到简化。,例1:用PAL设计一个带使能端(低电平有效)的2/4线译码器,输出低电平有效。,解:使能输入:EN; 译码地址输入:A1和A0; 输出为:Y0,Y1,Y2,Y3。 由真值表可知:Y0=A1A0, Y1=A1A0,Y2=A1A0,Y3=A1A0, 最好选用低电平输出有效的专用输出结构或可编程I/O型PAL。由要求有使能输出,应选用带有三态输出的PAL器件。选用PAL16L8器件实现的简化示意如图:,例1实现电路图,6.1.6 通用阵列逻辑 GAL,
17、一、GAL16V8总体结构,8个输入缓冲器(引脚29) ;,8个输出缓冲反相器(引脚1219) ;,8个输出反馈/输入缓冲器(既可做输入也可做输出),因此为16V8;,1个时钟输入缓冲器;,1个选通信号输入反相器;,20个引脚的器件;,1,1,1,1,EN,&,19,2,7,0,0 3,1,CLK,OLMC,(19),1.88个与门,可实现64个乘积项(Product Term)。,2.每个与门有32个输入端(每个乘积项可包含16个变量)。,3.每个输出端最多只能包含8个乘积项,当表达式逻辑化简后,乘积项数多于8个时,则必须适当拆开,再分配给另一个OLMC。,4.最多有16个引脚作为输入端(指
18、16个输入变量,CLK不属于输入变量),最多有8个引脚作为输出端。,二、输出逻辑宏单元(OLMC),1. OLMC的结构:,(1)8输入的或门,(2)异或门:控制输出信号的极性,高电平有效,低电平有效,(3)DFF,(4)4个多路选择器,乘积项多路选择器(PTMUX Product Term Multiplexer),三态多路选择器(TSMUX),输出多路选择器(OMUX),反馈多路选择器(FMUX),图10.6.2 OLMC的结构框图,表 FMUX的控制功能表,*,*,*在OLMC(12)和OLMC(19)中SYN代替AC0,SYN代替AC1(m)。,2.GAL16V8的结构控制字,GAL1
19、6V8的各种配置由结构控制字确定。,图10.7.3 GAL16V8结构控制字的组成,32位,乘积项禁止位,4位,XOR(n),1位,SYN,8位,AC1(n),1位,AC0,4位,XOR(n),32位,乘积项禁止位,82位,1215,1619,1219,(n),(n),(n),PT63PT32,PT31PT0,3.OLMC的配置,(a)专用输入模式,(b)专用组合输出模式,(d)时序电路中的组合输出模式,1,EN,1,CLK,OE,=1,1,XOR(n),CLK,OE,来自邻级 输出(m),I/O(n),NC,来自与阵列,反馈,(e)寄存器输出模式,图 OLMC的5种工作模式下的简化电路,三、
20、行地址结构,图 GAL16V8编程单元的地址分配,移 位 寄 存 器,与逻辑阵列,与逻辑阵列,PT63 PT32,PT31 PT0,0,31,32,电 子 标 签,电 子 标 签,保 留 地 址 空 间,33,59,结 构 控 制 字,60,82位,加密单元,保留,整体擦除,61,62,63,SDO,SDI,SCLK,行 地 址,熔丝图,0000 0000,0011 1010,对应, , - - - - ,共64行,0,31,SUPPERL编程器采用下拉式菜单技术和多窗口技术,人机界面良好,操作使用简单,我们以它为例进行编程介绍。,例1:用GAL设计一个带使能端(低电平有效)的2/4线译码器,
21、输出低电平有效。,解: 2个信号输入A1,A0; 一个使能控制端,4个输出端。 选择EN由11引脚输入, Y3,Y2,Y1,Y0分别由OLMC(12)OLMC(15)提供。 应配置为专用组合输出模式:AC0=0,AC1=1;XOR=0;SYN=1;乘积项数为1。,OLMC的配置:,例 人的血型有A、B、AB、O型4种。输血时输血者的血型与受血者的血型必须符合图10.7.6所示的关系。试用1片GAL16V8设计一个逻辑电路,判断输血者的血型与受血者的血型是否符合上述规定。,解:设定输血者血型用X1、X2表示,受血者血型用X3、X4表示。取值组合为0011时,分别表示血型为A、B、AB、O型;输出
22、为F:取值为1时,表示血型相符,否则,表示血型不符。 根据题意得到真值表为:,例的真值表,由真值表,经卡诺图法化简,电工教研室,7.2 CPLD和FPGA的结构和特点,6.2.1 PLD的发展和现状 一、PLD的发展历程 二、 PLD的现状 6.2.2 CPLD/FPGA的特点 1.基本结构 2.编程工艺 3.器件规模 4.FPGA/CPLD生产商 6.2.3 复杂可编程逻辑器件(CPLD)的结构和基本原理 一、 复杂可编程逻辑器件(CPLD)的结构 1.可编程逻辑阵列(LAB) 2.可编程I/O单元(IOC) 3.可编程内部连线(PIA),电工教研室,6.2.4 现场可编程门阵列(FPGA)
23、的结构和基本原理 一、FPGA的基本结构 1.可编程逻辑块(CLB) 2.输入/输出模块(IOB) 3.可编程互连资源(PIR) 二、CPLD与FPGA的区别 三、大的PLD生产厂家 四、FPGA和CPLD的选用 1.器件的资源 2.芯片速度 3.器件功耗 4.FPGA/CPLD的选择 5.FPGA/CPLD封装,7.2.1 PLD的发展和现状,一、PLD的发展历程 PROM、EPROM、EEPROM只能完成简单的数字逻辑功能 PAL、GAL、PLAPLD能以乘积和的形式完成大量的组合逻辑功能(规模较小) CPLD、FPGA设计与制造集成电路的任务已不完全由半导体厂商来独立承担。系统设计师们更
24、愿意自己设计专用集成电路(ASIC)芯片,而且希望ASIC的设计周期尽可能短,最好是在实验室里就能设计出合适的ASIC芯片,并且立即投入实际应用之中,因而出现了现场可编程逻辑器件(FPLD),其中应用最广泛的当属现场可编程门阵列(FPGA)和复杂可编程逻辑器件(CPLD)。几乎所有应用门阵列、PLD和中小规模通用数字集成电路的场合均可应用FPGA和CPLD器件。,70年代,80年代,90年代,PROM 和PLA 器件,改进的 PLA 器件,GAL器件,FPGA器件,EPLD 器件,CPLD器件,内嵌复杂 功能模块 的SOPC,CPLD器件,FPGA器件,二、 PLD的现状,目前,使用较广泛的P
25、LD有CPLD和FPGA两大类。,CPLD: (Complex Programmable Logic Device)复杂的可编程逻辑器件。专指那些集成规模大于1000门以上的可编程 逻辑器件。ROM型器件停电数据可保存。 FPGA:(Field Programmable Gate Array)现场可编程门阵列。它是一种由掩膜可编程门阵列和可编程逻辑器件两者演变而来的通用型用户可编程器件。 RAM型器件停电数据不可保存,须与存储器 连用。,7.2.2 CPLD/FPGA的特点,CPLD 可编程逻辑宏单元LMC,Logic Macro Cell(结构较复杂) 复杂的I/O控制块(完成芯片上逻辑与外
26、部封装脚的接口) 逻辑单元之间采用连续式互连结构(固定长度的金属线) 内部延时时间固定,可预测,FPGA 可编程逻辑功能块(实现用户功能的基本单元) 可编程I/O块(完成芯片上逻辑与外部封装脚的接口) 逻辑单元之间采用分段式互连结构(不同长度的金属线) 内部延时时间不固定,预测性差,1.基本结构,CPLD,FPGA,集总式互连,分布式互连,CPLD EPROM EEROM FLASH,FPGA 反熔丝(Actel) RAM(Xillinx),2.编程工艺,3.器件规模,ALTERA,FPGA:FLEX系列:10K、10A、10KE,EPF10K30EAPEX系列:20K、20KE EP20K2
27、00EACEX系列:1K系列 EP1K30、EP1K100STRATIX系列:EP1系列 EP1S30、EP1S120 CPLD:MAX7000/S/A/B系列:EPM7128SMAX9000/A系列,FPGA:XC3000系列, XC4000系列, XC5000系列Virtex系列SPARTAN系列:XCS10、XCS20、XCS30 CPLD:XC9500系列:XC95108、XC95256,XILINX,4FPGA/CPLD生产商,LATTICE VANTIS (AMD),ispLSI系列:1K、2K、3K、5K、8KispLSI1016 、ispLSI2032、ispLSI1032E、
28、ispLSI3256AMACH系列 ispPAC系列:,其它PLD公司: ACTEL公司: ACT1/2/3、40MX ATMEL公司:ATF1500AS系列、40MX CYPRESS公司: QUIKLOGIC公司:,CPLD:,SO MUCH IC!,FPGA CPLD,FPGA/CPLD生产商,5.可编程逻辑器件结构示意图,输入/输出单元,互连资源,逻辑块,7.2.3 复杂可编程逻辑器件(CPLD)的结构和基本原理,现在一般把所有超过某一集成度(如1000门以上)的PLD器件都称为CPLD。 CPLD由可编程逻辑的功能块围绕一个可编程互连矩阵构成。由固定长度的金属线实现逻辑单元之间的互连,
29、并增加了I/O控制模块的数量和功能。可以把CPLD的基本结构看成由可编程逻辑阵列(LAB)、可编程I/O控制模块和可编程内部连线(PIA)等三部分组成。,LAB,LAB,LAB,LAB,LAB,LAB,LAB,LAB,LAB,LAB,LAB,LAB,LAB,LAB,LAB,LAB,I/O控制模块,P I A,MAX7123的结构,一、 复杂可编程逻辑器件(CPLD)的结构,1可编程逻辑阵列(LAB),可编程逻辑阵列又若干个可编程逻辑宏单元(Logic Macro Cell,LMC)组成, LMC内部主要包括与阵列、或阵列、可编程触发器和多路选择器等电路,能独立地配置为时序或组合工作方式。,宏单
30、元结构图,CPLD中与、或门的表示方法,(1)乘积项共享结构,在CPLD的宏单元中,如果输出表达式的与项较多,对应的或门输入端不够用时,可以借助可编程开关将同一单元(或其他单元)中的其他或门与之联合起来使用,或者在每个宏单元中提供未使用的乘积项给其他宏单元使用。,EPM7128E乘积项扩展和并联扩展项的结构图,(2)多触发器结构,早期可编程器件的每个输出宏单元(OLMC)只有一个触发器,而CPLD的宏单元内通常含两个或两个以上的触发器,其中只有一个触发器与输出端相连,其余触发器的输出不与输出端相连,但可以通过相应的缓冲电路反馈到与阵列,从而与其他触发器一起构成较复杂的时序电路。这些不与输出端相
31、连的内部触发器就称为“隐埋”触发器。这种结构可以不增加引脚数目,而增加其内部资源。,(3)异步时钟,早期可编程器件只能实现同步时序电路,在CPLD器件中各触发器的时钟可以异步工作,有些器件中触发器的时钟还可以通过数据选择器或时钟网络进行选择。此外,OLMC内触发器的异步清零和异步置位也可以用乘积项进行控制,因而使用更加灵活。,2可编程I/O单元(IOC),CPLD的I/O单元(Input/Output Cell,IOC),是内部信号到I/O引脚的接口部分。根据器件和功能的不同,各种器件的结构也不相同。由于阵列型器件通常只有少数几个专用输入端,大部分端口均为I/O端,而且系统的输入信号通常需要锁
32、存。因此I/O常作为一个独立单元来处理。,3可编程内部连线(PIA),可编程内部连线的作用是在各逻辑宏单元之间以及逻辑宏单元和I/O单元之间提供互连网络。各逻辑宏单元通过可编程连线阵列接收来自输入端的信号,并将宏单元的信号送目的地。这种互连机制有很大的灵活性,它允许在不影响引脚分配的情况下改变内部的设计。,7.2.4 现场可编程门阵列(FPGA)的结构和基本原理,FPGA出现在20世纪80年代中期,与阵列型PLD有所不同,FPGA由许多独立的可编程逻辑模块组成,用户可以通过编程将这些模块连接起来实现不同的设计。FPGA具有更高的集成度、更强的逻辑实现能力和更好的设计灵活性。FPGA器件具有高密
33、度、高速率、系列化、标准化、小型化、多功能、低功耗、低成本,设计灵活方便,可无限次反复编程,并可现场模拟调试验证等特点。,FPGA是现场可编程门阵列( Field Programmable Gate Array )的简称,80年代中期由美国Xilinx公司首先推出,是一种大规模可编程数字集成电路器件它能使用户借助计算机自行设计自己需要的专用集成电路芯片,在计算机上进行功能仿真和实时仿真,及时发现问题,调整电路,改进设计方案,FPGA由可编程逻辑块(CLB)、输入/输出模块(IOB)及可编程互连资源(PIR)等三种可编程电路和一个SRAM结构的配置存储单元组成。CLB是实现逻辑功能的基本单元,它
34、们通常规则地排列成一个阵列,散布于整个芯片中;可编程输入/输出模块(IOB)主要完成芯片上的逻辑与外部引脚的接口,它通常排列在芯片的四周;可编程互连资源(IR)包括各种长度的连线线段和一些可编程连接开关,它们将各个CLB之间或CLB与IOB之间以及IOB之间连接起来,构成特定功能的电路。,一、FPGA的基本结构,(1)CLB:,(2)IOB:,分布于芯片中央,实现规模不大的组合、,时序电路。,分布于芯片四周,实现内部逻辑电路与,芯片外部引脚的连接。,(3)IR:,包括不同类型的金属线、可编程的开关,矩阵、可编程的连接点。经编成实现CLB之间,CLB与IOB之间的连接。,(4)SRAM:,存放C
35、LB、IOB以及互连开关的编程数据。断电时,SRAM信息丢失,FPGA不能实现任何功能。每次通电时,需给SRAM“装载”信息,自动完成。信息存放在EPROM。 SRAM的特点:可靠,抗干扰能力强,综合测试能力强。,图 10.8.2 FPGA内SRAM单元,FPGA的基本结构图,1可编程逻辑块(CLB),CLB主要由逻辑函数发生器、触发器、数据选择器等电路组成。逻辑函数发生器主要由查找表LUT(look up table)构成,函数发生器基于查找表单元:,3可编程互连资源(PIR),PIR由许多金属线段构成,这些金属线段带有可编程开关,通过自动布线实现各种电路的连接。实现FPGA内部的CLB和C
36、LB之间、CLB和IOB之间的连接。XC4000系列采用分段互连资源结构,按相对长度可分为单长线、双长线和长线等三种。,2输入/输出模块(IOB),IOB主要由输入触发器、输入缓冲器和输出触发/锁存器、输出缓冲器组成,每个IOB控制一个引脚,它们可被配置为输入、输出或双向I/O功能。,二、CPLD与FPGA的区别,FPGA采用SRAM进行功能配置,可重复编程,但系统掉电后,SRAM中的数据丢失。因此,需在FPGA外加EPROM,将配置数据写入其中,系统每次上电自动将数据引入SRAM中。CPLD器件一般采用EEPROM存储技术,可重复编程,并且系统掉电后,EEPROM中的数据不会丢失,适于数据的
37、保密。,FPGA器件含有丰富的触发器资源,易于实现时序逻辑,如果要求实现较复杂的组合电路则需要几个CLB结合起来实现。CPLD的与或阵列结构,使其适于实现大规模的组合功能,但触发器资源相对较少。,FPGA为细粒度结构,CPLD为粗粒度结构。FPGA内部有丰富连线资源,CLB分块较小,芯片的利用率较高。CPLD的宏单元的与或阵列较大,通常不能完全被应用,且宏单元之间主要通过高速数据通道连接,其容量有限,限制了器件的灵活布线,因此CPLD利用率较FPGA器件低。,FPGA为非连续式布线,CPLD为连续式布线。FPGA器件在每次编程时实现的逻辑功能一样,但走的路线不同,因此延时不易控制,要求开发软件
38、允许工程师对关键的路线给予限制。CPLD每次布线路径一样,CPLD的连续式互连结构利用具有同样长度的一些金属线实现逻辑单元之间的互连。连续式互连结构消除了分段式互连结构在定时上的差异,并在逻辑单元之间提供快速且具有固定延时的通路。CPLD的延时较小。,三、大的PLD生产厂家, 最大的PLD供应商之一 FPGA的发明者,最大的PLD供应商之一 ISP技术的发明者 提供军品及宇航级产品,Altera 主流芯片,1. 主流CPLD产品: MAXII:新一代PLD器件,0.18um falsh工艺,2004年底推出,采用FPGA结构,配置芯片集成在内部,和普通PLD一样上电即可工作。容量比上一代
39、大大增加,内部集成一片8Kbits串行EEPROM,增加很多功能。MAXII采用2.5v或者3.3v内核电压,MAXII G系列采用1.8v内核电压。早期的CPLD芯片主要有MAX3000、MAX7000系列。,2.主流FPGA产品 Altera的主流FPGA分为两大类,一种侧重低成本应用,容量中等,性能可以满足一般的逻辑设计要求,如Cyclone,CycloneII;还有一种侧重于高性能应用,容量大,性能能满足各类高端应用,如Startix,StratixII等,用户可以根据自己实际应用要求进行选择。 在性能可以满足的情况下,优先选择低成本器件。,Cyclone(飓风):Altera中等规模
40、FPGA,2003年推出,0.13um工艺,1.5v内核供电,与Stratix结构类似,是一种低成本FPGA系列 ,是目前主流产品,其配置芯片也改用全新的产品。,CycloneII:Cyclone的下一代产品,2005年开始推出,90nm工艺,1.2v内核供电,属于低成本FPGA,性能和Cyclone相当,提供了硬件乘法器单元,Stratix :altera大规模高端FPGA,2002年中期推出,0.13um工艺,1.5v内核供电。集成硬件乘加器,芯片内部结构比Altera以前的产品有很大变化。,StratixII: Stratix的下一代产品,2004年中期推出,90um工艺,1.2v内核供
41、电,大容量高性能FPGA,Xilinx 主流芯片,1. 主流CPLD产品:,XC9500 Flash工艺PLD,常见型号有XC9536,XC9572,XC95144等。型号后两位表示宏单元数量。,CoolRunner-II: 1.8v低功耗PLD产品, 简评:静态功耗很低,性能指标优于XC9500,主要用于用于电池供电系统,但使用者还不是非常广泛,2.主流FPGA产品 Xilinx的主流FPGA分为两大类,一种侧重低成本应用,容量中等,性能可以满足一般的逻辑设计要求,如Spartan系列;还有一种侧重于高性能应用,容量大,性能能满足各类高端应用,如Virtex系列,用户可以根据自己实际应用要求
42、进行选择。 在性能可以满足的情况下,优先选择低成本器件。,Spartan-3/3L: 新一代FPGA产品,结构与VirtexII类似,全球第一款90nm工艺FPGA,1.2v内核,于2003年开始陆续推出。 简评:成本低廉,总体性能指标不是很优秀,适合低成本应用场合,是Xilinx未来几年在低端FPGA市场上的主要产品,Spartan-3E:xilinx最新推出的低成本FPGA,基于Spartan-3/3L,对性能和成本进一步优化,Virtex-4: xilinx最新一代高端FPGA产品,包含三个子系列:LX,SX,FX 简评:各项指标比上一代VirtexII均有很大提高,获得2005年EDN
43、杂志最佳产品称号,从2005年年底开始,将逐步取代VirtexII,VirtexII-Pro,是未来几年Xilinx在高端FPGA市场中的最重要的产品,Virtex-II:2002年推出,0.15um工艺,1.5v内核,大规模高端FPGA产品 简评:Xilinx比较成功的产品,目前在高端产品中使用广泛,新设计推荐用户转到Virtex-4器件上,四、FPGA和CPLD的选用,1.器件的资源三家主流公司产品:Altera、Xilinx:数千门 数百万门Lattice:数万门以下资源占用以仿真系统给出的报告为准,并应留有适当的余量(20%)。,2.芯片速度芯片速度越高,其对微小毛刺信号的反 映越灵敏
44、,系统工作的稳定性越差。芯片的速度等级与其价格的关系。3.器件功耗CPLD:5 V、3.3 VFPGA:5 V、3.3 V、2.5 V、1.8 V、1.5 V,4.FPGA/CPLD的选择CPLD选用:(1)逻辑密集型;(2)中小规模(1000 50000);(3)免费软件支持;(4)编程数据不丢失,电路简单;(5)ISP特性,编程加密;(6)布线延迟固定,时序特性稳定;,FPGA选用:(1)数据密集型;(2) 大规模设计(5000 数百万门);(3) SOC设计;(4)ASIC的设计仿真;(5)布线灵活,但时序特性不稳定;(6)需用专用的 ROM 进行数据配置。 5.FPGA/CPLD封装常
45、见封装:PLCC、PQFQ、TQFP、RQFP、 VQFP、MQFP、PGA、BGA等。引脚数:28 1517,电工教研室,7.3 MAX_PLUS_II的基本使用方法与 可编程逻辑器件的应用举例,请参见Maxplus使用指南 请参见Maxplus使用简介,PLD的开发流程图,编程的目标文件,.POF文件 SRAM目标文件(.SOF) JEDEC文件(.JED) 十六进制(Intel格式)文件(.HEX) Tabular文本文件(.TTF) 串行位流文件(.SBF),PLD开发软件,Logical Devices 公司的CUPL软件 Data I/O公司的ABEL软件 Xilinx 公司的Fu
46、ndation 软件 Altera 公司的MAX+PLUS 软件 Lattice公司的ISP Synario System软件通常这些软件只能开发本公司生产的器件。,PLD编程器,Xeltek公司的SUPERPRO系列编程器 Microcontrollers(如:INTEL公司的8751H、8796BH等); PLD器件(如各种PAL、GAL器件、XILINX公司的XC7372-68PL(159) 等CPLD器件、 Lattice 公司的 ispLSI1016-44PL(60)、ispLSI1032-84PL(62)等ispLSI器件的编程。,原理图/VHDL文本编辑,综合,FPGA/CPLD
47、 适配,FPGA/CPLD 编程下载,FPGA/CPLD 器件和电路系统,时序与功能 门级仿真,1、功能仿真 2、时序仿真,逻辑综合器,结构综合器,1、isp方式下载 2、JTAG方式下载 3、针对SRAM结构的配置4、OTP器件编程,功能仿真,1.8 FPGACPLD设计流程,应用FPGA/CPLD的EDA开发流程:,编译器的输入和输出文件,设计输入总结,1.9 设计输入(原理图HDL文本编辑),1. 图形输入,图形输入,原理图输入,状态图输入,波形图输入,第三讲 FPGA/CPLD硬件设计开发,信息与通信学院:谢跃雷,原理图/HDL文本编辑,综合,FPGA/CPLD 适配,FPGA/CPLD 编程下载,FPGA/CPLD 器件和电路系统,时序与功能 门级仿真,