第七章可编程逻辑器件的工作原理及应用_第1页
第七章可编程逻辑器件的工作原理及应用_第2页
第七章可编程逻辑器件的工作原理及应用_第3页
第七章可编程逻辑器件的工作原理及应用_第4页
第七章可编程逻辑器件的工作原理及应用_第5页
已阅读5页,还剩167页未读 继续免费阅读

下载本文档

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

文档简介

第七章可编程逻辑器件的工作原理及应用主讲:司杨制作:张海峰电工教研室第七章可编程逻辑器件的工作原理及应用7.1可编程逻辑器件的编程原理17.2CPLD和FPGA的结构和特点27.3MAX_PLUS_II的基本使用方法与可编程逻辑器件的应用举例3电工教研室7.1可编程逻辑器件的编程原理7.1.1概述一、数字电路的发展与可编程器件的出现二、PLD的发展态势三、可编程逻辑器件的分类1.按集成密度划分为7.1.2PLD的结构、表示方法1.PLD的基本结构2.PLD的逻辑符号表示方法3.编程连接技术4.低密度可编程逻辑器件电工教研室6.1.3可编程只读存储器PROM6.1.4可编程逻辑阵列PLA一、PLA基本结构二、PLA应用举例6.1.5可编程阵列逻辑PAL6.1.6通用阵列逻辑GAL一、GAL16V8总体结构二、输出逻辑宏单元(OLMC)1.OLMC的结构2.GAL16V8的结构控制字3.OLMC的配置三、行地址结构6.1.2PLD的结构、表示方法一、数字电路的发展与可编程器件的出现集成度:高效、低耗、高精度、高稳定、智能化。VLSICLSICSSICMSIC7.1.1概述专用型:ASIC(ApplicationSpecificIntegratelCircuit)逻辑功能:通用型:54/74系列、74HC系列、74HCT系列等随系统规模扩大:焊点多,可靠性下降功耗增加、成本升高占用空间扩大要承担设计风险、周期长、成本高可编程器件

(PLD:ProgrammableLogicDevice)系统设计师们希望自己设计ASIC芯片,缩短设计周期,能在实验室设计好后,立即投入实际应用。VLSIC二、PLD的发展态势向低电压和低功耗方向发展,

5V3.3V2.5V1.8V更低向高集成度、高速度方向发展集成度已达到400万门以上向数、模混合可编程方向发展向内嵌多种功能模块方向发展

RAM,ROM,DSP,CPU等PROMPLAPALGAL低密度可编程逻辑器件(LDPLD)EPLDCPLDFPGA高密度可编程逻辑器件(HDPLD)可编程逻辑器件(PLD)1.按集成密度划分为三、可编程逻辑器件的分类7.1.2PLD的结构、表示方法与门阵列或门阵列乘积项和项PLD主体输入电路输入信号互补输入输出电路输出函数反馈输入信号

可由或阵列直接输出,构成组合输出;通过寄存器输出,构成时序方式输出。1.PLD的基本结构与门阵列或门阵列乘积项和项互补输入2.PLD的逻辑符号表示方法(1)

连接的方式(2)基本门电路的表示方式F1=A•B•C与门或门ABCDF1

AB

C&

L

AB

C≥1L

DF1=A+B+C+D

三态输出缓冲器输出恒等于0的与门输出为1的与门输入缓冲器简化熔丝编程技术是用熔丝作为开关元件,这些开关元件平时(在未编程时)处于连通状态,加电编程时,在不需要连接处将熔丝熔断,保留在器件内的熔丝模式决定相应器件的逻辑功能。

反熔丝编程技术也称熔通编程技术,这类器件是用逆熔丝作为开关元件。这些开关元件在未编程时处于开路状态,编程时,在需要连接处的逆熔丝开关元件两端加上编程电压,逆熔丝将由高阻抗变为低阻抗,实现两点间的连接,编程后器件内的反熔丝模式决定了相应器件的逻辑功能。(1)熔丝(Fuse)和反熔丝(Anti-fuse)编程技术3.编程连接技术熔丝结构反熔丝结构示意体积小,集成度高,速度高,易加密,抗干扰,耐高温只能一次编程,在设计初期阶段不灵活

PLD表示的与门熔丝工艺的与门原理图L=A•B•CVCC+(5V)

R

3kW

L

D1

D2

D3

A

B

C

高电平A、B、C有一个输入低电平0VA、B、C三个都输入高电平+5V5V0V5V低电平5V5V5VL=A·B·C

L

VCC

A

B

C

D

L

VCC

A

B

C

D

熔丝图中L=AB连接连接连接断开A、B、C中有一个为0A、B、C都为1输出为0;输出为1。情况2:L=AC断开连接连接断开情况1:L=ABCXX器件的开关状态不同,电路实现逻辑函数也就不同101111(2)浮栅型电可写紫外线擦除编程技术浮栅管相当于一个电子开关,如N沟浮栅管,当浮栅中没有注入电子时,浮栅管导通;当浮栅中注入电子后,浮栅管截止。浮栅管的浮栅在原始状态没有电子,如果把源极和衬底接地,且在源-漏极间加电压脉冲产生足够强的电场,使电子加速跃入浮栅中,则使浮栅带上负电荷,电压脉冲消除后,浮栅上的电子可以长期保留;当浮栅管受到紫外光照射时,浮栅上的电子将流向衬底,擦除所记忆的信息,而为重新编程做好准备。浮栅型紫外线擦除熔丝结构早期PROM器件采用此工艺可反复编程不用每次上电重新下载,但相对速度慢,功耗较大三、浮栅编程技术用浮栅编程技术生产的编程单元是一种能多次改写的ROM,即已写入的内容可以擦去,也可以重新写入新的内容。(一)叠栅型(SIMOS)存储单元25V25VGND有11无11++开启电压5V5VGND

开启电压VT1。++++开启电压加大++++开启电压VT2。××0问题:浮栅上的电荷无放电通路,没法泄漏。用紫外线照射芯片上的玻璃窗,则形成光电电流,把栅极电子带回到多晶硅衬底,SIMOS管恢复到初始的导通状态。(3)浮栅型电可写电擦除编程技(E2PROM)

此类器件在CMOS管的浮栅与漏极间有一薄氧化层区,其厚度为10μm~15μm,可产生隧道效应。编程(写入)时,漏极接地,栅极加20V的脉冲电压,衬底中的电子将通过隧道效应进入浮栅,浮栅管正常工作时处于截止状态,脉冲消除后,浮栅上的电子可以长期保留;若将其控制栅极接地,漏极加20V的脉冲电压,浮栅上的电子又将通过隧道效应返回衬底,则使该管正常工作时处于导通状态,达到对该管擦除的目的。编程和擦除都是通过在漏极和控制栅极上加入一定幅度和极性的电脉冲来实现,可由用户在“现场”用编程器来完成。

浮栅型电可擦除熔丝结构大多数CPLD器件采用此工艺可反复编程不用每次上电重新下载,但相对速度慢,功耗较大面积大向浮栅写入电荷时,G加25V,D接GND。擦除浮栅电荷时,G加5V,D接25V。(二)隧道型(FLOTOX)储存单元

前面研究的可擦写存储器的缺点是擦除已存入的信息必须用紫外光照射一定的时间,因此不能用于快速改变储存信息的场合。

FLOTOX管的结构剖面示意图如图所示。它与叠栅型管的不同在于浮栅延长区与漏区N之间的交叠处有一个厚度约为80埃的薄绝缘层。隧道型储存单元制成的存储器克服了这一缺点,它称为电可改写只读存储器E2PROM,即电擦除、电编程的只读存储器。隧道80埃(4)SRAM编程技术

与浮栅型熔丝结构基本相同。SRAM编程技术是在FPGA器件中采用的主要编程工艺之一。SRAM型的FPGA是易失性的,断电后其内部编程数据(构造代码)将丢失,需在外部配接ROM存放FPGA的编程数据。可反复编程,实现系统功能的动态重构每次上电需重新下载,实际应用时需外挂EEPROM用于保存程序(2)浮栅MOS管开关用不同的浮栅MOS管连接的PLD,编程信息的擦除方法也不同。SIMOS管连接的PLD,采用紫外光照射擦除;FlotoxMOS管和快闪叠栅MOS管,采用电擦除方法。浮栅MOS管叠栅注入MOS(SIMOS)管浮栅隧道氧化层MOS(FlotoxMOS)管快闪(Flash)叠栅MOS管

当浮栅上带有负电荷时,使得MOS管的开启电压变高,如果给控制栅加上VT1控制电压,MOS管仍处于截止状态。

当浮栅上没有电荷时,给控制栅加上大于VT1的控制电压

,MOS管导通。a.叠栅注入MOS(SIMOS)管

25V25VGND5V5VGND

iD

VT1

VT2

vGS

浮栅无电子

O

编程前

iD

VT1

VT2

vGS

浮栅无电子

浮栅有电子

O

编程前

编程后

5V5VGND5V5VGND导通截止若要擦除,可用紫外线或X射线,距管子2厘米处照射15-20分钟。L=B•C连接连接断开断开连接连接断开断开1111浮栅延长区与漏区N+之间的交叠处有一个厚度约为80A(埃)的薄绝缘层——遂道区。当遂道区的电场强度大到一定程度,使漏区与浮栅间出现导电遂道,形成电流将浮栅电荷泄放掉。遂道MOS管是用电擦除的,擦除速度快。b.浮栅隧道氧化层MOS(FlotoxMOS)管

结构特点:

1.闪速存储器存储单元MOS管的源极N+区大于漏极N+区,而SIMOS管的源极N+区和漏极N+区是对称的;

2.浮栅到P型衬底间的氧化绝缘层比SIMOS管的更薄。c.快闪叠栅MOS管开关

(FlashMemory)(自学)特点:结构简单、集成度高、编程可靠、擦除快捷。PLD中的三种与、或阵列与阵列、或阵列均可编程(PLA)与阵列固定,或阵列可编程(PROM)与阵列可编程,或阵列固定(PAL和GAL等)三种与、或阵列有什么应用特点?输出函数为最小项表达式输出函数的乘积项数不可变每个乘积项所含变量数可变输出函数的乘积项数可变每个乘积项所含变量数可变4.低密度可编程逻辑器件(LDPLD:Low-DensityPLD)

(1)PROM(ProgrammableROM)20世纪70年代初。与阵列固定,或阵列可编程。(2)PLA(ProgrammableLogicArray)20世纪70年代初。与阵列、或阵列都可编程。(3)PAL(ProgrammableArrayLogic)

20世纪70年代末。与阵列可编程,或阵列固定。(4)GAL(GenericArrayLogic)

20世纪80年代初。大部分与阵列可编程,或阵列固定。7.1.3可编程只读存储器PROM与阵列(固定)D2D1D0或阵列(可编程)A2A1A0完全译码阵列实现组合逻辑函数:将函数写为最小项之和形式,将对应的与项或起来即可。容量=与门数×或门数=2n×m利用效率低。例:试用PROM实现4位二进制码到Gray码的转换。转换真值表与阵列或阵列A2A1A0A3D2D1D0D37.1.4可编程逻辑阵列PLA一、PLA基本结构

PLA的基本结构

&≥1二、PLA应用举例

例用PLA器件实现函数解:用PLA器件实现,需3个输入端,2个输出端。用卡诺图法化简,得出F1、F2的最简与或式:相应的实现电路如图10.5.2所示。图10.5.2用PLA实现组合函数的设计

&≥1

由PLA构成的逻辑电路如图所示,试写出该电路的逻辑表达式,并确定其逻辑功能。写出该电路的逻辑表达式:AnBnCnAnBnAnCnBnCn全加器AnBnCnAnBnCnAnBnCn试写出该电路的逻辑表达式。

与阵列或阵列A3A2A1A0D3D2D1D0例:试用PLA实现4位二进制码到Gray码的转换。解:利用卡诺图化简得最简与或式:时序型PLA基本结构图

PLA的与或阵列只能构成组合逻辑电路,若在PLA中加入触发器则可构成时序型PLA,实现时序逻辑电路。与阵列或阵列······X1Xn触发器······Z1ZmW1WlQkQ1······111000010100例:试用PLA和JK触发器实现2位二进制可逆计数器。当X=0时,进行加法计数;X=1时,进行减法计数。解:X为控制信号,Y为进位(借位)输出信号。X/YQ2Q10011100/01/01/11/01/00/00/10/001000001010011100101110111010100110001①画状态图②列状态转移表③求状态、驱动和输出方程比较得驱动方程:④画阵列图1J>C11K1J>C11KX1CPQ1Q2Y7.1.5可编程阵列逻辑PAL 除了具有与阵列和或阵列以外,还有输出和反馈电路:专用输出结构可编程输入/输出结构寄存器输出结构异或输出结构图

PAL器件的基本电路结构&≥1图

专用输出结构&&≥1≥1特点:或非门输出或互补输出常用器件:PAL16L8,PAL20L10等图

可编程输入/输出结构≥1(1)端口既可做输入也可做输出(2)做输出端口时,输出信号又可被反馈到输入,构成简单的触发器。图寄存器输出结构&≥1(1)增加了D触发器,整个PAL的所有D触发器共用一个时钟和输出使能信号。(2)可构成同步时序逻辑电路图

异或输出结构&&=11增加了异或门,使时序逻辑电路的设计得到简化。例1:用PAL设计一个带使能端(低电平有效)的2/4线译码器,输出低电平有效。解:使能输入:EN;译码地址输入:A1和A0;输出为:Y0,Y1,Y2,Y3。由真值表可知:Y0=A1A0,Y1=A1A0,Y2=A1A0,Y3=A1A0,

最好选用低电平输出有效的专用输出结构或可编程I/O型PAL。由要求有使能输出,应选用带有三态输出的PAL器件。选用PAL16L8器件实现的简化示意如图:11EN1

1EN1

1EN1

1EN

1

1

1ENA0A1Y0Y1Y2Y3例1实现电路图6.1.6通用阵列逻辑GAL一、GAL16V8总体结构8个输入缓冲器(引脚2~9);8个输出缓冲反相器(引脚12~19)

8个输出反馈/输入缓冲器(既可做输入也可做输出),因此为16V8;1个时钟输入缓冲器;

1个选通信号输入反相器;

20个引脚的器件;…………1111EN&19270031CLKOLMC(19)1.8×8个与门,可实现64个乘积项(ProductTerm)。2.每个与门有32个输入端(每个乘积项可包含16个变量)。

3.每个输出端最多只能包含8个乘积项,当表达式逻辑化简后,乘积项数多于8个时,则必须适当拆开,再分配给另一个OLMC。

4.最多有16个引脚作为输入端(指16个输入变量,CLK不属于输入变量),最多有8个引脚作为输出端。

二、输出逻辑宏单元(OLMC)1.OLMC的结构:

(1)8输入的或门

(2)异或门:控制输出信号的极性

高电平有效

低电平有效

(3)DFF

(4)4个多路选择器①乘积项多路选择器(PTMUX—ProductTermMultiplexer)

②三态多路选择器(TSMUX)

③输出多路选择器(OMUX)

④反馈多路选择器(FMUX)1

1

1

1

1

01

0

1

1

0

0

0

1

1

0

1

00

0

1

0

0

0

I/O(n)Q来自邻级输出(m)AC0AC1(n)AC1(m)12、19号OLMC中的FMUX:AC0为SYN,AC1(m)为SYN。图10.6.2OLMC的结构框图表FMUX的控制功能表AC0AC1(n)AC1(m)反馈信号来源10×本单元触发器Q端11×本单元I./O端0×1邻级(m)输出0×0低电平“0”(地)***在OLMC(12)和OLMC(19)中SYN代替AC0,SYN代替AC1(m)。2.GAL16V8的结构控制字GAL16V8的各种配置由结构控制字确定。图10.7.3GAL16V8结构控制字的组成32位乘积项禁止位4位XOR(n)1位SYN8位AC1(n)1位AC04位XOR(n)32位乘积项禁止位82位12~1516~1912~19(n)(n)(n)PT63~PT32PT31~PT03.OLMC的配置1EN1CLKNCNCOENCNC来自邻级输出(m)至另一个邻级CLKOE(a)专用输入模式(b)专用组合输出模式1EN1CLKNCOENC=11VccXOR(n)NCNCNCCLKOE1EN1CLKNCOENC=11XOR(n)NCCLKNCOE来自邻级输出(m)OLMC(n)I/O(n)NC来自与阵列反馈(c)反馈组合输出模式(d)时序电路中的组合输出模式1EN1CLKOE=11XOR(n)CLKOE来自邻级输出(m)I/O(n)NC来自与阵列反馈(e)寄存器输出模式1EN1CLKOE=11XOR(n)CLKOE来自邻级输出(m)I/O(n)NC来自与阵列反馈OLMC(n)QD>Q图OLMC的5种工作模式下的简化电路三、行地址结构图GAL16V8编程单元的地址分配移位寄存器与逻辑阵列与逻辑阵列PT63

PT32PT31PT003132电子标签电子标签保留地址空间3359结构控制字6082位加密单元保留整体擦除616263SDOSDISCLK行地址熔丝图0000•••00000011•••1010……对应×××ו••××××××--•••-×-×

……共64行031SUPPER/L编程器采用下拉式菜单技术和多窗口技术,人机界面良好,操作使用简单,我们以它为例进行编程介绍。例1:用GAL设计一个带使能端(低电平有效)的2/4线译码器,输出低电平有效。解:2个信号输入A1,A0;一个使能控制端,4个输出端。选择EN由11引脚输入,Y3,Y2,Y1,Y0分别由OLMC(12)~OLMC(15)提供。应配置为专用组合输出模式:AC0=0,AC1=1;XOR=0;SYN=1;乘积项数为1。

OLMC(n)乘积项数SYNAC0AC1(n)XOR(n)输出极性配置模式1514131211111111000000000000低电平低电平低电平低电平专用组合专用组合专用组合专用组合OLMC的配置:例

人的血型有A、B、AB、O型4种。输血时输血者的血型与受血者的血型必须符合图10.7.6所示的关系。试用1片GAL16V8设计一个逻辑电路,判断输血者的血型与受血者的血型是否符合上述规定。解:设定输血者血型用X1、X2表示,受血者血型用X3、X4表示。取值组合为00~11时,分别表示血型为A、B、AB、O型;输出为F:取值为1时,表示血型相符,否则,表示血型不符。根据题意得到真值表为:X1X2X3X4F00001000100010100110010000101101101011101000010010101011011011001110111110111111例的真值表由真值表,经卡诺图法化简

X3X4X1X20001111000110111111111101电工教研室7.2CPLD和FPGA的结构和特点6.2.1PLD的发展和现状一、PLD的发展历程二、PLD的现状6.2.2CPLD/FPGA的特点1.基本结构2.编程工艺3.器件规模4.FPGA/CPLD生产商6.2.3复杂可编程逻辑器件(CPLD)的结构和基本原理一、复杂可编程逻辑器件(CPLD)的结构1.可编程逻辑阵列(LAB)2.可编程I/O单元(IOC)

3.可编程内部连线(PIA)

电工教研室6.2.4现场可编程门阵列(FPGA)的结构和基本原理一、FPGA的基本结构1.可编程逻辑块(CLB)2.输入/输出模块(IOB)3.可编程互连资源(PIR)二、CPLD与FPGA的区别三、大的PLD生产厂家四、FPGA和CPLD的选用1.器件的资源2.芯片速度3.器件功耗4.FPGA/CPLD的选择5.FPGA/CPLD封装7.2.1PLD的发展和现状一、PLD的发展历程PROM、EPROM、EEPROM

只能完成简单的数字逻辑功能PAL、GAL、PLA

PLD能以乘积和的形式完成大量的组合逻辑功能(规模较小)CPLD、FPGA

设计与制造集成电路的任务已不完全由半导体厂商来独立承担。系统设计师们更愿意自己设计专用集成电路(ASIC)芯片,而且希望ASIC的设计周期尽可能短,最好是在实验室里就能设计出合适的ASIC芯片,并且立即投入实际应用之中,因而出现了现场可编程逻辑器件(FPLD),其中应用最广泛的当属现场可编程门阵列

(FPGA)和复杂可编程逻辑器件(CPLD)。几乎所有应用门阵列、PLD和中小规模通用数字集成电路的场合均可应用FPGA和CPLD器件。70年代80年代90年代PROM和PLA器件改进的PLA器件GAL器件FPGA器件EPLD器件CPLD器件内嵌复杂功能模块的SOPCCPLD器件FPGA器件二、PLD的现状目前,使用较广泛的PLD有CPLD和FPGA两大类。CPLD:(ComplexProgrammableLogicDevice)复杂的可编程逻辑器件。专指那些集成规模大于1000门以上的可编程逻辑器件。

ROM型器件停电数据可保存。FPGA:(FieldProgrammableGateArray)现场可编程门阵列。它是一种由掩膜可编程门阵列和可编程逻辑器件两者演变而来的通用型用户可编程器件。

RAM型器件停电数据不可保存,须与存储器连用。7.2.2CPLD/FPGA的特点CPLD可编程逻辑宏单元LMC,LogicMacroCell(结构较复杂)复杂的I/O控制块(完成芯片上逻辑与外部封装脚的接口)逻辑单元之间采用连续式互连结构(固定长度的金属线)内部延时时间固定,可预测FPGA可编程逻辑功能块(实现用户功能的基本单元)可编程I/O块(完成芯片上逻辑与外部封装脚的接口)逻辑单元之间采用分段式互连结构(不同长度的金属线)内部延时时间不固定,预测性差1.基本结构CPLDFPGA集总式互连分布式互连CPLDEPROMEEROMFLASHFPGA反熔丝(Actel)RAM(Xillinx)2.编程工艺CPLDFPGA集成规模小(最大数万门)大(最高达百万门)单元粒度大(PAL结构)小(PROM结构)互连方式集总总线分段总线、长线、专用互连编程工艺EPROM、EEROM、FlashSRAM编程类型ROM型RAM型,须与存储器连用3.器件规模ALTERAFPGA:

FLEX系列:10K、10A、10KE,EPF10K30EAPEX系列:20K、20KEEP20K200EACEX系列:1K系列EP1K30、EP1K100

STRATIX系列:EP1系列EP1S30、EP1S120CPLD:

MAX7000/S/A/B系列:EPM7128SMAX9000/A系列FPGA:

XC3000系列,XC4000系列,XC5000系列

Virtex系列

SPARTAN系列:XCS10、XCS20、XCS30CPLD:

XC9500系列:XC95108、XC95256XILINX4.FPGA/CPLD生产商LATTICEVANTIS(AMD)ispLSI系列:1K、2K、3K、5K、8KispLSI1016、ispLSI2032、

ispLSI1032E、ispLSI3256AMACH系列ispPAC系列:其它PLD公司:ACTEL公司:ACT1/2/3、40MXATMEL公司:ATF1500AS系列、40MXCYPRESS公司:QUIKLOGIC公司:CPLD:

SOMUCHIC!FPGACPLD4.FPGA/CPLD生产商5.可编程逻辑器件结构示意图输入/输出单元互连资源逻辑块7.2.3复杂可编程逻辑器件(CPLD)的结构和基本原理

现在一般把所有超过某一集成度(如1000门以上)的PLD器件都称为CPLD。CPLD由可编程逻辑的功能块围绕一个可编程互连矩阵构成。由固定长度的金属线实现逻辑单元之间的互连,并增加了I/O控制模块的数量和功能。可以把CPLD的基本结构看成由可编程逻辑阵列(LAB)、可编程I/O控制模块和可编程内部连线(PIA)等三部分组成。LABLABLABLABLABLABLABLABLABLABLABLABLABLABLABLABI/O控制模块PIAMAX7123的结构一、复杂可编程逻辑器件(CPLD)的结构1.可编程逻辑阵列(LAB)

可编程逻辑阵列又若干个可编程逻辑宏单元(LogicMacroCell,LMC)组成,LMC内部主要包括与阵列、或阵列、可编程触发器和多路选择器等电路,能独立地配置为时序或组合工作方式。宏单元结构图CPLD中与、或门的表示方法ABCDP(乘积项)ACDP=A·C·DABCDF(或项)F=A+B+DABD(1)乘积项共享结构

在CPLD的宏单元中,如果输出表达式的与项较多,对应的或门输入端不够用时,可以借助可编程开关将同一单元(或其他单元)中的其他或门与之联合起来使用,或者在每个宏单元中提供未使用的乘积项给其他宏单元使用。EPM7128E乘积项扩展和并联扩展项的结构图

(2)多触发器结构

早期可编程器件的每个输出宏单元(OLMC)只有一个触发器,而CPLD的宏单元内通常含两个或两个以上的触发器,其中只有一个触发器与输出端相连,其余触发器的输出不与输出端相连,但可以通过相应的缓冲电路反馈到与阵列,从而与其他触发器一起构成较复杂的时序电路。这些不与输出端相连的内部触发器就称为“隐埋”触发器。这种结构可以不增加引脚数目,而增加其内部资源。

(3)异步时钟早期可编程器件只能实现同步时序电路,在CPLD器件中各触发器的时钟可以异步工作,有些器件中触发器的时钟还可以通过数据选择器或时钟网络进行选择。此外,OLMC内触发器的异步清零和异步置位也可以用乘积项进行控制,因而使用更加灵活。2.可编程I/O单元(IOC)

CPLD的I/O单元(Input/OutputCell,IOC),是内部信号到I/O引脚的接口部分。根据器件和功能的不同,各种器件的结构也不相同。由于阵列型器件通常只有少数几个专用输入端,大部分端口均为I/O端,而且系统的输入信号通常需要锁存。因此I/O常作为一个独立单元来处理。

3.可编程内部连线(PIA)

可编程内部连线的作用是在各逻辑宏单元之间以及逻辑宏单元和I/O单元之间提供互连网络。各逻辑宏单元通过可编程连线阵列接收来自输入端的信号,并将宏单元的信号送目的地。这种互连机制有很大的灵活性,它允许在不影响引脚分配的情况下改变内部的设计。7.2.4现场可编程门阵列(FPGA)的结构和基本原理

FPGA出现在20世纪80年代中期,与阵列型PLD有所不同,FPGA由许多独立的可编程逻辑模块组成,用户可以通过编程将这些模块连接起来实现不同的设计。FPGA具有更高的集成度、更强的逻辑实现能力和更好的设计灵活性。

FPGA器件具有高密度、高速率、系列化、标准化、小型化、多功能、低功耗、低成本,设计灵活方便,可无限次反复编程,并可现场模拟调试验证等特点。

FPGA是现场可编程门阵列(FieldProgrammableGateArray)的简称,80年代中期由美国Xilinx公司首先推出,是一种大规模可编程数字集成电路器件.它能使用户借助计算机自行设计自己需要的专用集成电路芯片,在计算机上进行功能仿真和实时仿真,及时发现问题,调整电路,改进设计方案.

FPGA由可编程逻辑块(CLB)、输入/输出模块(IOB)及可编程互连资源(PIR)等三种可编程电路和一个SRAM结构的配置存储单元组成。CLB是实现逻辑功能的基本单元,它们通常规则地排列成一个阵列,散布于整个芯片中;可编程输入/输出模块(IOB)主要完成芯片上的逻辑与外部引脚的接口,它通常排列在芯片的四周;可编程互连资源(IR)包括各种长度的连线线段和一些可编程连接开关,它们将各个CLB之间或CLB与IOB之间以及IOB之间连接起来,构成特定功能的电路。一、FPGA的基本结构(1)CLB:(2)IOB:分布于芯片中央,实现规模不大的组合、时序电路。分布于芯片四周,实现内部逻辑电路与芯片外部引脚的连接。(3)IR:包括不同类型的金属线、可编程的开关矩阵、可编程的连接点。经编成实现CLB之间,CLB与IOB之间的连接。(4)SRAM:存放CLB、IOB以及互连开关的编程数据。断电时,SRAM信息丢失,FPGA不能实现任何功能。每次通电时,需给SRAM“装载”信息,自动完成。信息存放在EPROM。SRAM的特点:可靠,抗干扰能力强,综合测试能力强。图10.8.2FPGA内SRAM单元QQT读/写数据组态控制FPGA的基本结构图1.可编程逻辑块(CLB)

CLB主要由逻辑函数发生器、触发器、数据选择器等电路组成。逻辑函数发生器主要由查找表LUT(lookuptable)构成函数发生器基于查找表单元:

3.可编程互连资源(PIR)

PIR由许多金属线段构成,这些金属线段带有可编程开关,通过自动布线实现各种电路的连接。实现FPGA内部的CLB和CLB之间、CLB和IOB之间的连接。

XC4000系列采用分段互连资源结构,按相对长度可分为单长线、双长线和长线等三种。2.输入/输出模块(IOB)

IOB主要由输入触发器、输入缓冲器和输出触发/锁存器、输出缓冲器组成,每个IOB控制一个引脚,它们可被配置为输入、输出或双向I/O功能。二、CPLD与FPGA的区别CPLDFPGA内部结构Product-termLook-upTable程序存储内部EEPROMSRAM,外挂EEPROM资源类型组合电路资源丰富触发器资源丰富集成度低高使用场合完成控制逻辑能完成比较复杂的算法速度慢快其他资源-EAB,锁相环保密性可加密一般不能保密FPGA采用SRAM进行功能配置,可重复编程,但系统掉电后,SRAM中的数据丢失。因此,需在FPGA外加EPROM,将配置数据写入其中,系统每次上电自动将数据引入SRAM中。CPLD器件一般采用EEPROM存储技术,可重复编程,并且系统掉电后,EEPROM中的数据不会丢失,适于数据的保密。FPGA器件含有丰富的触发器资源,易于实现时序逻辑,如果要求实现较复杂的组合电路则需要几个CLB结合起来实现。CPLD的与或阵列结构,使其适于实现大规模的组合功能,但触发器资源相对较少。FPGA为细粒度结构,CPLD为粗粒度结构。FPGA内部有丰富连线资源,CLB分块较小,芯片的利用率较高。CPLD的宏单元的与或阵列较大,通常不能完全被应用,且宏单元之间主要通过高速数据通道连接,其容量有限,限制了器件的灵活布线,因此CPLD利用率较FPGA器件低。FPGA为非连续式布线,CPLD为连续式布线。FPGA器件在每次编程时实现的逻辑功能一样,但走的路线不同,因此延时不易控制,要求开发软件允许工程师对关键的路线给予限制。CPLD每次布线路径一样,CPLD的连续式互连结构利用具有同样长度的一些金属线实现逻辑单元之间的互连。连续式互连结构消除了分段式互连结构在定时上的差异,并在逻辑单元之间提供快速且具有固定延时的通路。CPLD的延时较小。三、大的PLD生产厂家最大的PLD供应商之一FPGA的发明者,最大的PLD供应商之一ISP技术的发明者提供军品及宇航级产品Altera主流芯片1.主流CPLD产品:

MAXII:新一代PLD器件,0.18umfalsh工艺,2004年底推出,采用FPGA结构,配置芯片集成在内部,和普通PLD一样上电即可工作。容量比上一代大大增加,内部集成一片8Kbits串行EEPROM,增加很多功能。MAXII采用2.5v或者3.3v内核电压,MAXIIG系列采用1.8v内核电压。早期的CPLD芯片主要有MAX3000、MAX7000系列。MAXII器件家族

FeatureEPM240/GEPM570/GEPM1270/GEPM2210/G逻辑单元(LE)2405701,2702,210等效宏单元(Macrocell)1924409801,700最大用户IO80160212272内置Flash大小(bit)8K8K8K8K管脚到管脚延时(ns)3.6-4.53.6-5.53.6-6.03.6-6.52.主流FPGA产品Altera的主流FPGA分为两大类,一种侧重低成本应用,容量中等,性能可以满足一般的逻辑设计要求,如Cyclone,CycloneII;还有一种侧重于高性能应用,容量大,性能能满足各类高端应用,如Startix,StratixII等,用户可以根据自己实际应用要求进行选择。在性能可以满足的情况下,优先选择低成本器件。Cyclone(飓风):Altera中等规模FPGA,2003年推出,0.13um工艺,1.5v内核供电,与Stratix结构类似,是一种低成本FPGA系列,是目前主流产品,其配置芯片也改用全新的产品。型号(1.5V)逻辑单元锁相环M4KRAM块备注EP1C32,910113每块RAM为4Kbit,可以另加1位奇偶校验位EP1C44,000217EP1C65,980220EP1C1212,060252EP1C2020,060264CycloneII:Cyclone的下一代产品,2005年开始推出,90nm工艺,1.2v内核供电,属于低成本FPGA,性能和Cyclone相当,提供了硬件乘法器单元CycloneII系列概览特性EP2C5EP2C8EP2C20EP2C35EP2C50EP2C70逻辑单元(LE)4,6088,25618,75233,21650,52868,416M4KRAM块263652105129250RAM总量119,808165,888239,616483,840594,4321,152,000嵌入式18×18乘法器1318263586150锁相环(PLL)224444最大可用I/O管脚142182315475450622Stratix

:altera大规模高端FPGA,2002年中期推出,0.13um工艺,1.5v内核供电。集成硬件乘加器,芯片内部结构比Altera以前的产品有很大变化。1.5v逻辑单元LE512bitRAM块4KbitRAM块512KMegaRAM块DSP块备注EP1S1010570946016每个DSP块可实现4个9x9乘法/累加器RAM块可以另加奇偶校验位EP1S201846019482210EP1S2525660224138210EP1S3032470295171412EP1S4041250384183414EP1S6057120574292618EP1S8079040767364922EP1S12011414011185201228StratixII:Stratix的下一代产品,2004年中期推出,90um工艺,1.2v内核供电,大容量高性能FPGAStratixII系列概览功能EP2S15EP2S30EP2S60EP2S90EP2S130EP2S180自适应逻辑模块(ALM)6,24013,55224,17636,38453,01671,760等效逻辑单元(LE)15,60033,88060,44090,960132,540179,400M512RAM块(512bits)104202329488699930M4KRAM块(4Kbits)78144255408609768M-RAM块(512K)012469总共RAMbits419,3281,369,7282,544,1924,520,4486,747,8409,383,040DSP块(每个DSP包含4个18x18乘法器)121636486396锁相环(PLL)6612121212最大可用I/O管脚3585427028861,1101,158Xilinx主流芯片1.主流CPLD产品:XC9500Flash工艺PLD,常见型号有XC9536,XC9572,XC95144等。型号后两位表示宏单元数量。5v3.3v2.5v宏单元XC9536XC9536XLXC9536XV36XC9572XC9572XLXC9572XV72XC95108XC95108XLXC95108XV108XC95144XC95144XLXC95144XV144XC95288XC95288XLXC95288XV288

CoolRunner-II:1.8v低功耗PLD产品,简评:静态功耗很低,性能指标优于XC9500,主要用于用于电池供电系统,但使用者还不是非常广泛1.8v宏单元备注XC2C3232XC2C6464XC2C128128XC2C256256XC2C384384XC2C5125122.主流FPGA产品Xilinx的主流FPGA分为两大类,一种侧重低成本应用,容量中等,性能可以满足一般的逻辑设计要求,如Spartan系列;还有一种侧重于高性能应用,容量大,性能能满足各类高端应用,如Virtex系列,用户可以根据自己实际应用要求进行选择。在性能可以满足的情况下,优先选择低成本器件。Spartan-3/3L:

新一代FPGA产品,结构与VirtexII类似,全球第一款90nm工艺FPGA,1.2v内核,于2003年开始陆续推出。简评:成本低廉,总体性能指标不是很优秀,适合低成本应用场合,是Xilinx未来几年在低端FPGA市场上的主要产品1.2vSlices18x18乘法器RAM块备注XC3S5076844每个RAM块容量是18KbitXC3S20019201212XC3S40035841616XC3S100076802424XC3S1500133123232XC3S2000204804040XC3S4000276489696XC3S500033280104104Spartan-3E:xilinx最新推出的低成本FPGA,基于Spartan-3/3L,对性能和成本进一步优化器件XC3S100EXC

3S250EXC

3S500EXC

3S1200EXC

3S1600ELogicCells2,1605,50810,47619,51233,19218x18Multipliers412202836BlockRAMBits72K216K360K504K648KDistributedRAMBits15K38K73K136K231KDCMs24488最大差分I/O对406892124156最大差单端I/O108172232304376Virtex-4:

xilinx最新一代高端FPGA产品,包含三个子系列:LX,SX,FX简评:各项指标比上一代VirtexII均有很大提高,获得2005年EDN杂志最佳产品称号,从2005年年底开始,将逐步取代VirtexII,VirtexII-Pro,是未来几年Xilinx在高端FPGA市场中的最重要的产品1.2vSlicesRAM块DSP块备注4VLX1561444832每个RAM块容量是18Kbit,DSP块可以配置为1个18x18乘法器,加法器或累加器4VLX251075272484VLX401843296644VLX6026624160644VLX8035840200804VLX10049152240964VLX16067584288964VLX2008908833696Virtex-II:2002年推出,0.15um工艺,1.5v内核,大规模高端FPGA产品简评:Xilinx比较成功的产品,目前在高端产品中使用广泛,新设计推荐用户转到Virtex-4器件上1.5vSlices18x18乘法器RAM块备注XC2V4025644每个RAM块容量是18KbitXC2V8051288XC2V25015362424XC2V50030723232XC2V100051204040XC2V150076804848XC2V2000107705656XC2V3000143369696XC2V400023040120120XC2V600033792144144XC2V800046592168168

四、FPGA和CPLD的选用1.器件的资源三家主流公司产品:

Altera、Xilinx:数千门~数百万门

Lattice:数万门以下资源占用以仿真系统给出的报告为准,并应留有适当的余量(20%)。2.芯片速度芯片速度越高,其对微小毛刺信号的反映越灵敏,系统工作的稳定性越差。芯片的速度等级与其价格的关系。3.器件功耗

CPLD:5V、3.3VFPGA:5V、3.3V、2.5V、

1.8V、1.5V4.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封装常见封装:PLCC、PQFQ、TQFP、RQFP、

VQFP、MQFP、PGA、BGA等。引脚数:28~1517电工教研室7.3MAX_PLUS_II的基本使用方法与

可编程逻辑器件的应用举例请参见Maxplus使用指南请参见Maxplus使用简介PLD的开发流程图编程的目标文件.POF文件SRAM目标文件(.SOF)JEDEC文件(.JED)十六进制(Intel格式)文件(.HEX)Tabular文本文件(.TTF)串行位流文件(.SBF)PLD开发软件LogicalDevices公司的CUPL软件DataI/O公司的ABEL软件Xilinx公司的Fundation软件Altera公司的MAX+PLUSⅡ软件Lattice公司的ISPSynarioSystem软件 通常这些软件只能开发本公司生产的器件。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适配FPGA/CPLD编程下载FPGA/CPLD器件和电路系统时序与功能门级仿真1、功能仿真2、时序仿真逻辑综合器结构综合器1、isp方式下载2、JTAG方式下载3、针对SRAM结构的配置4、OTP器件编程

功能仿真

1.8FPGA/CPLD设计流程应用FPGA/CPLD的EDA开发流程:编译器的输入和输出文件MAX+PLUSII设计文件(.gdf,.tdf,.vhd)MAX+PLUSII编译器编译器网表提取模块(包含各种网表的阅读器)功能、定时或链接SNF提取模块EDIF、VHDL和VerilogNetlist生成模块数据库生成模块划分模块设计医生逻辑综合模块装入模块装配模块第三方

EDA设计文件(.edf,.sch,.xnf)功能仿真网表文件(.snf)定时仿真网表文件(.snf)编程文件(.pof,.sof,.jed)第三方

EDA仿真和定时文件(.edo,vo,vho,sdo)映射文件(.lmf)指定和配置信息(.acf)设计输入总结设计文件支持文件MAX+PLUSII图形编辑器MAX+PLUSII文本编辑器MAX+PLUSII符号编辑器MAX+PLUSII波形编辑器.gdf.tdf.vhd.sch.edf.xnfMAX+PLUSII第三方

EDA工具.sym.inc用户.wdf.lmf1.9设计输入(原理图/HDL文本编辑)1.图形输入

图形输入

原理图输入

状态图输入波形图输入第三讲FPGA/CPLD硬件设计开发信息与通信学院:谢跃雷原理图/HDL文本编辑综合FPGA/CPLD适配FPGA/CPLD编程下载FPGA/CPLD器件和电路系统时序与功能门级仿真1、功能仿真2、时序仿真逻辑综合器结构综合器1、isp方式下载2、JTAG方式下载3、针对SRAM结构的配置

4、OTP器件编程

功能仿真应用FPGA/CPLD的EDA开发流程:下载线及下载板电路用户板电路设计通常,将对CPLD的下载称为编程(Program),对FPGA中的SRAM进行直接下载的方式称为配置(Configure),但对于OTPFPGA的下载和对FPGA的专用配置ROM的下载仍称为编程。以Altera公司的CPLD及FPG为主说明编程与配置方法一、ByteBlaster并行下载方式在实际应用中,Altera公司的器件一般采用ByteBlaster并行下载方,因为这种下载方式既方便,速度又快。Altera的ByteBlaster并行下载电缆的一端为25芯接口,可以与计算机上的25芯并口相连,另一端为l0芯接口,与含有目标器件的电路板相连。JTAG接口

JTAG(Joint

Test

Action

Group:联合测试行动小组)是一种国际标准测试协议IEEE

1149.1兼容。什么是JTAG?主要用于芯片内部测试仿真。现在多数的高级器件都支持JTAG协议,如DSP、FPGA器件等。标准的JTAG接口是4线:TMS、TCK、TDI、TDO,分别为模式选择、时钟、数据输入和数据输出线。JTAG用来对芯片进行测试,允许多个器件通过JTAG接口串联在一起,形成一个JTAG链,能实现对各个器件分别测试。现在,JTAG接口还常用于实现ISP(In-System

Programmable:在线编程),对CPLD、FLASH等器件进行编程。

早期的ByteblasterMV下载线最新的ByteblasterII下载线USBblaster下载线接口各引脚信号名称两种下载模式:(1)被动串行同步(PS)方式(2)JTAG方式ByteblasterII下载线ByteblasterII下载线ByteblasterMV下载线ByteblasterMV下载线

增强型配置器件—

串行配置器件

MAX9000A

MAX9000

MAX3000A

MAX7000S

MAX7000B

MAX7000A

MAXII

FLEX6000

FLEX8000

FLEX10KE

FLEX10KA

FLEX10K

APEX20KC

APEX20KE

APEX20K

APEXII

ACEX1K

Mercury

Cyclone

StratixMasterBlasterUSBBlasterByteBlasterII器件表2.ByteBlasterII,USBBlaster&MasterBlaster电缆兼容能力二、CPLD的编程方案PC机JTAG编程端口CPLDPC机isp编程端口CPLD编程适配电路编程适配电路JTAG编程信号:TCK、TDO、TMS、TDICPLD内带有EEPROM,掉电后信息也不会丢失,只需将软件设计好的程序直接下载到芯片中就可以。1.CPLD的JTAG方式编程CPLD编程下载连接图TCK、TDO、TMS、TDI为CPLD的JTAG口对CPLD编程多CPLD芯片编程连接方式CPLD的多芯片编程2.CPLD的isp方式编程ispLSI器件的编程采用E2CMOS元件来存储数据,编程时通过行地址和数据位对E2CMOS元件寻址。编程的寻址和移位操作由地址移位寄存器和数据移位寄存器完成。两种寄存器都按FlFO(先入先出)的方式工作。由于器件是插在目标系统中或线路板上进行编程,因此在系统编程的关键是编程时如何使芯片与外部脱离。CPLDisp--IN-SYSTEM-PROGRAMMERBALELATTICE的isp下载方式

ISP接口编程时连线器件编程时需要五根信号线用来传递编程信息:1)ispEN:编程使能信号。当=1时,器件为正常工作状态;当=0时,器件所有的I/0端被置成高阻状态,因而切断了芯片与外电路的联系。2)SDO:为数据输出线。3)SLCK:为串行时钟线。4)SDI:向串行移位寄存器提供编程数据和其它命令。5)MODE:为编程状态机的控制线,SDI与MODE一起为编程状态机的控制线。ISP状态机共有三个状态:闲置态(IDLE)、移位态(SHIFT)和执行态(EXECUTE),三种状态转移图如下图所示。

ISP功能提高设计和应用的灵活性减少对器件的触摸和损伤不计较器件的封装形式允许一般的存储样机制造方便支持生产和测试流程中的修改允许现场硬件升级迅速方便地提升功能未编程前先焊接安装系统内编程--ISP在系统现场重编程修改FPGA的3种常用的标准下载配置模式1、PassiveSerialMode3、JTAGMode2、ActiveSerialMode

三、FPGA的配置

温馨提示

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

评论

0/150

提交评论