1、主要内容主要内容5.1 概述概述5.2 简单可编程逻辑器件简单可编程逻辑器件5.3 高密度可编程逻辑器件高密度可编程逻辑器件5.4 可编程逻辑器件的编程与测试可编程逻辑器件的编程与测试uPLD器件的结构、特点和工作原理;器件的结构、特点和工作原理;u用用PLD器件实现函数。器件实现函数。本章重点本章重点1、可编程逻辑器件的含义及用途、可编程逻辑器件的含义及用途可编程逻辑器件,简称可编程逻辑器件,简称PLD。是一种可由用户编程来实现各种逻。是一种可由用户编程来实现各种逻辑功能的器件。它作为辑功能的器件。它作为通用型通用型的逻辑器件出现,但它的逻辑功能却的逻辑器件出现,但它的逻辑功能却是由用户通过
2、编程来设定,因此,它同时具有是由用户通过编程来设定,因此,它同时具有专用型专用型器件的特点。器件的特点。专用型和通用型逻辑器件是数字集成电路根据逻辑特点不同进行专用型和通用型逻辑器件是数字集成电路根据逻辑特点不同进行分类得到的。分类得到的。2、PLD的发展历程及分类的发展历程及分类低密度低密度PLD:ROM、可编程逻辑阵列、可编程逻辑阵列PLA、可编程阵列逻辑、可编程阵列逻辑PAL、通用阵列逻辑通用阵列逻辑GAL。高密度高密度PLD:可擦除的可编程逻辑器件:可擦除的可编程逻辑器件EPLD、复杂可编程逻辑、复杂可编程逻辑器件器件CPLD、可编程逻辑门阵列、可编程逻辑门阵列PFGA。在系统可编程逻
3、辑器件在系统可编程逻辑器件:ISP-PLD5.1 概述概述5.1.1 可编程逻辑器件的发展可编程逻辑器件的发展3、可编程逻辑器件电路的表示、可编程逻辑器件电路的表示与门与门 (b)输出恒等于输出恒等于0的与门的与门 (c)或门或门 (d)互补输出的缓冲器互补输出的缓冲器(e)三态输出的缓冲器三态输出的缓冲器 5.2 简单可编程逻辑器件简单可编程逻辑器件 根据与门阵列、或门阵列和输出结构的不同,简单可编程根据与门阵列、或门阵列和输出结构的不同,简单可编程逻辑器件(简称简单逻辑器件(简称简单PLD)可分为)可分为4 种基本类型:种基本类型:PROM、PLA、PAL 和和GAL。简单。简单PLD 也
4、称为低密度也称为低密度PLD,其基本框,其基本框图为:图为:输入缓冲电路与功能电路或功能电路输出缓冲电路输入数据输入项乘积项或项输出数据5.2.1 只读存储器只读存储器ROM存储器的相关概念存储器的相关概念:半导体存储器是一种能存储大量二进制信息的半导体器半导体存储器是一种能存储大量二进制信息的半导体器件。件。常见的半导体存储器件举例:软盘、光盘、常见的半导体存储器件举例:软盘、光盘、U盘、内存、盘、内存、闪存等。闪存等。衡量存储器性能的两个主要指标:存储容量和存取速度。衡量存储器性能的两个主要指标:存储容量和存取速度。1 1存贮容量存贮容量 定义:定义:存贮二值信息的多少,用存贮二值信息的多
5、少,用BitBit或或ByteByte为单位。为单位。1K=1024=21K=1024=210102 2存取时间存取时间定义:定义:连续两次读取(或写入)操作所间隔的最短时间。连续两次读取(或写入)操作所间隔的最短时间。时间越短,速度越高。时间越短,速度越高。存储器的分类存储器的分类:1.按存取功能分类按存取功能分类只读存储器只读存储器(简称(简称ROM)随机存储器随机存储器(简称(简称RAM)掩膜掩膜ROM可编程可编程ROM可编程可擦除的可编程可擦除的ROM快闪存储器快闪存储器紫外线擦除紫外线擦除电擦除电擦除静态静态RAM(结构复杂、速度快)(结构复杂、速度快)动态动态RAM(结构简单、集成
6、度高、速(结构简单、集成度高、速度慢)度慢)2.按制造工艺分类按制造工艺分类双极型双极型MOS型(多用于大容量存储)型(多用于大容量存储)1、掩膜、掩膜ROM(1)掩膜)掩膜ROM的特点的特点u不能由用户编程,其中的程序是按照用户的要求专门设不能由用户编程,其中的程序是按照用户的要求专门设计,出厂时内部存储的数据已计,出厂时内部存储的数据已“固化固化”在里边。在里边。u常用来存放固定的数据或程序,如计算机系统的引导程常用来存放固定的数据或程序,如计算机系统的引导程序、监控程序、函数表、字符表等。序、监控程序、函数表、字符表等。1、掩膜、掩膜ROM存储矩阵由存储单元(二极管、双极型三极管或存储矩
7、阵由存储单元(二极管、双极型三极管或MOS管)排列而成。管)排列而成。地址译码器负责将输入的地址翻译成相应的控制信号,然后根据该信号地址译码器负责将输入的地址翻译成相应的控制信号,然后根据该信号从存储矩阵中将指定单元中的数据选出,且送到输出缓冲器。从存储矩阵中将指定单元中的数据选出,且送到输出缓冲器。输出缓冲器既可以提高存储器的带负载能力,也可以实现对输出状态的输出缓冲器既可以提高存储器的带负载能力,也可以实现对输出状态的三态控制,以便与系统的总线联接。三态控制,以便与系统的总线联接。(2)掩膜)掩膜ROM的结构框图及各部分的作用的结构框图及各部分的作用地址译码器存储矩阵输出缓冲器地址输入数据
8、输出三态控制2、可编程只读存储器、可编程只读存储器PROM(1)特点)特点u在结构上,同样由地址译码器、存储矩阵和输出缓冲器在结构上,同样由地址译码器、存储矩阵和输出缓冲器三部分组成。三部分组成。u在出厂时已经在存储矩阵的所有交叉点上全部制作了存在出厂时已经在存储矩阵的所有交叉点上全部制作了存储元件,即相当于在所有存储单元中都存入了储元件,即相当于在所有存储单元中都存入了1。(2)PROM举例举例168 位位PROM 的结构原理图的结构原理图熔丝熔丝 PROM 中的内容一中的内容一经写入,就不可能再修改,经写入,就不可能再修改,即只能写入一次。即只能写入一次。所以所以PROM不可能满足研制过不
9、可能满足研制过程中经常修改存储内容的程中经常修改存储内容的需要。需要。11输出缓冲输出缓冲VCCA1A0D1D3D2D0VCC地址译码器EN0W1W2W3W存储单元字线字线 分析已存入数据的固定分析已存入数据的固定ROM电路。(二极管作存电路。(二极管作存储单元)储单元)地址译码器地址译码器010AAW 011AAW 012AAW 013AAW 存储单元存储单元0101133AAAAWWD0101010232AAAAAAWWWD0101011231AAAAAAWWWD0101020AAAAWWD 地址译码器是一个地址译码器是一个与门与门阵列阵列,每一个字线对应一个,每一个字线对应一个最小项,且
10、是全部最小项。最小项,且是全部最小项。存储单元是一个存储单元是一个或门阵列或门阵列,每一个位线,每一个位线是将所对应的与项相加,是最小项之和。是将所对应的与项相加,是最小项之和。位位线线例:固定例:固定PROM11输出缓冲输出缓冲VCCA1A0D1D3D2D0地地址址译译码码器器存存储储单单元元0W1W2W3W 地址译码器(字线字线)和存储矩阵(位线位线)之间的关系。0101020AAAAWWD0101011231AAAAAAWWWD0101010232AAAAAAWWWD0101133AAAAWWD0 01 10 01 11 10 01 10 00 01 11 11 11 11 11 10
11、00 00 01 11 1字线字线W W和位线和位线D D的每个交叉点都是的每个交叉点都是一个存储单元。交叉点接二极管一个存储单元。交叉点接二极管时相当于存时相当于存1 1,没有接二极管相当,没有接二极管相当于存于存0 0。交叉点的数目就是存储单。交叉点的数目就是存储单元数。元数。存储容量字数存储容量字数X位数位数4X4交叉点还可以接三极管、交叉点还可以接三极管、MOSMOS管等。管等。只有只有W W0 0为为1 1其余为字其余为字线为线为0 00 01 11 10有有0 0为为0 0,全,全1 1为为1 1。有有1 1为为1 1,全,全0 0为为0 0。PROM通用阵列图表示法:将字线和位线
12、画成相互垂直将字线和位线画成相互垂直的一个阵列,字线和位线的的一个阵列,字线和位线的每一个交叉点对应一个存储每一个交叉点对应一个存储单元,在交叉点上画一个单元,在交叉点上画一个“点点”,表示该单元存,表示该单元存“1”1”,否则表示该单元存否则表示该单元存“0”0”。ABAB0W1W2W3W PROM方框图:地址码地址码字线字线位线位线与与阵列是输入阵列是输入变量的全部最变量的全部最小项。不可编小项。不可编程程。与项相与项相加,可加,可编程编程0D1D2D3D例:用二极管作存储单元的固定ROM3、可编程可擦除只读存储器可编程可擦除只读存储器EPROM(1)特点)特点u是一种可以多次改写的是一种
13、可以多次改写的ROM,总体结构与前面两种,总体结构与前面两种ROM 相同。相同。u最早研究成功并投入使用的最早研究成功并投入使用的EPROM 是利用紫外线照射是利用紫外线照射芯片上的石英窗口,从而抹去存储器中的信息,再用电的芯片上的石英窗口,从而抹去存储器中的信息,再用电的方式写入新的信息。方式写入新的信息。u存储单元是用浮置栅雪崩注入型存储单元是用浮置栅雪崩注入型MOS 管(管(FAMOS)构)构成的。成的。3、可编程可擦除只读存储器可编程可擦除只读存储器EPROM(2)EPROM芯片举例芯片举例-2764uA0 A12:13条地址输入线,条地址输入线,表明芯片的容量是表明芯片的容量是8K个
14、单元。个单元。uD0 D7:8条数据线,表明芯条数据线,表明芯片中的每个存储单元存放一个字片中的每个存储单元存放一个字节(即节(即8位二进制数)。位二进制数)。91014131211123645782019151617182827262325242221PPV12A7A6A5A4A3A2A1A0A0D1D2DGNDCCVPGMNC8A9A11AOE10ACE7D6D5D4D3D4、电、电可擦除可编程只读存储器可擦除可编程只读存储器E2PROM(1)特点)特点u可用电信号进行在线擦除与重写,需要时间很短。可用电信号进行在线擦除与重写,需要时间很短。2716 型型E2PROM 的容量为的容量为2K
15、8 位,其逻辑符号为:位,其逻辑符号为:(2)E2PROM芯片举例芯片举例-27164、电、电可擦除可编程只读存储器可擦除可编程只读存储器E2PROMuA0 A10:11条地址输入线。条地址输入线。uI/O0 I/O7:8条数据输入条数据输入/输出线。输出线。5、快闪存储器(、快闪存储器(Flash Memory)u闪存闪存具有较快的读取速度具有较快的读取速度,以较大区块进行数据抹擦。,以较大区块进行数据抹擦。u由于结构的限制,其擦除次数有限,通常在由于结构的限制,其擦除次数有限,通常在1万至万至100万万次次之间。之间。u与硬盘相比,闪存的动态抗震能力更强。与硬盘相比,闪存的动态抗震能力更强
16、。u典型应用:典型应用:笔记本、相机、笔记本、相机、U盘、手机等。盘、手机等。5.2.2 可编程逻辑阵列可编程逻辑阵列PLA基本结构中包括与阵列和或阵列,这两种阵列都可编程。基本结构中包括与阵列和或阵列,这两种阵列都可编程。清华大学电机系唐庆玉清华大学电机系唐庆玉2003年年11月月15日编日编AND阵列可编程OR阵列可编程O2 O1 O0I2 I1 I0输出输入问题:问题:图中的四个输出的图中的四个输出的逻辑式分别是什么?逻辑式分别是什么?该电路能否用来设该电路能否用来设计时序逻辑电路?计时序逻辑电路?5.2.3 可编程阵列逻辑可编程阵列逻辑PALu可编程阵列逻辑(可编程阵列逻辑(Progr
17、ammabee Array Logic)u70年代末由年代末由MMI公司推出公司推出u双极性工艺、熔丝编程方式(一次性编程)双极性工艺、熔丝编程方式(一次性编程)u是在是在FPLA(现场可编程逻辑阵列)基础上发展而来的。(现场可编程逻辑阵列)基础上发展而来的。u由可编程的与逻辑阵列、固定的或逻辑阵列和输出电路由可编程的与逻辑阵列、固定的或逻辑阵列和输出电路组成。组成。1、PAL的基本电路结构及特点的基本电路结构及特点基基本本电电路路结结构构一个编程后的一个编程后的PAL电路:电路:图中的四个输出的逻辑式分别是什么?图中的四个输出的逻辑式分别是什么?若若 ,则如何编程?则如何编程?4132143
18、213IIIIIIIIIY专用输出结构专用输出结构可编程输入可编程输入/输出结构输出结构寄存器输出结构寄存器输出结构异或输出结构异或输出结构运算选通反馈结构运算选通反馈结构2、PAL的几种输出电路结构的几种输出电路结构PAL的输出结构(的输出结构(1)专用输出结构)专用输出结构专用输出结构的输出端只能用作输出使用。专用输出结构的输出端只能用作输出使用。与阵列4YABCD或阵列2Y3Y1YPAL的输出结构(的输出结构(2)可编程可编程输入输入/输出结构输出结构 该结构该结构PAL的输出端是一个可编程控制的三态缓冲器,同时的输出端是一个可编程控制的三态缓冲器,同时可以做输入端使用。可以做输入端使用
19、。1I2I1C2C1G2G3G1/OI2/OIPAL的输出结构(的输出结构(3)寄存器输出结构)寄存器输出结构 利用寄存器输出结构不仅可以存储利用寄存器输出结构不仅可以存储与或与或逻辑阵列输出的逻辑阵列输出的状态,而且能很方便地组成各种时序逻辑电路。状态,而且能很方便地组成各种时序逻辑电路。PAL的输出结构(的输出结构(4)异或输出结构)异或输出结构 利用异或输出结构不仅便于对利用异或输出结构不仅便于对与或与或逻辑阵列输出的函数逻辑阵列输出的函数求反,还可以实现寄存器的保持操作。求反,还可以实现寄存器的保持操作。PAL的输出结构(的输出结构(5)运算选通反馈结构)运算选通反馈结构利用该结构可以
20、产生多种算术、逻辑运算。利用该结构可以产生多种算术、逻辑运算。PAL的应用(的应用(1)设计组合逻辑电路)设计组合逻辑电路(例(例5.2)PAL的应用(的应用(2)设计时序逻辑电路)设计时序逻辑电路(例(例5.3)PAL的应用:的应用:uGAL采用电可擦除的采用电可擦除的CMOS工艺制作,可以用电压信号工艺制作,可以用电压信号擦除并可重新编程。擦除并可重新编程。uGAL器件的输出端设置了可编程的输出逻辑宏单元器件的输出端设置了可编程的输出逻辑宏单元OLMC(Output Logic Macro Cell)。)。u通过编程可将通过编程可将OLMC设置成不同的工作状态,这样就可以设置成不同的工作状
21、态,这样就可以用同一种型号的用同一种型号的GAL器件实现器件实现PAL器件所有的各种输出电器件所有的各种输出电路工作模式,从而增强了器件的通用性。路工作模式,从而增强了器件的通用性。uGAL16V8的电路结构图的电路结构图5.2.4 通用阵列逻辑通用阵列逻辑(GAL)1、GAL的基本电路结构及特点的基本电路结构及特点GAL16V8I0/CLK I1 I2 I3 I4 I5 I6 I7 I8 GNDVCC F7 F6 F5 F4 F3 F2 F1 F0 I9/OE20111012-9脚输入(固定)脚输入(固定)1脚时钟(可定义成输入)脚时钟(可定义成输入)11脚脚 输出使能输出使能(可定义成输入
22、)(可定义成输入)12-19脚输出(也可定义成输入)脚输出(也可定义成输入)I/O O I/OGAL16V8的引脚图:的引脚图:2、输出逻辑宏单元输出逻辑宏单元(OLMC)(1)OLMC的结构 图图 9-30 OLMC的内部结构的内部结构 来自与逻辑阵列01PTMUXXOR(n)QQDAC1(n)AC0反馈FMUX10110100AC0*AC1(m)*AC1(n)11100100TSUXM01OUXMUCCG2来自邻级输出(m)I/O(n)CLKOECLKOE图9-30G1 一个或门:实一个或门:实现或逻辑,是现或逻辑,是或阵列中的一或阵列中的一员;员;一个一个D-FF:实:实现时序逻辑;现时
23、序逻辑;四个数据选择四个数据选择器:实现模式器:实现模式控制;控制;(由由AC0和和AC1(n)编程编程控制控制)门电路:辅助门电路:辅助功能。功能。3、OLMC的结构控制字的结构控制字 总控制总控制屏蔽不用屏蔽不用乘积项乘积项极性控制极性控制 当当SYN=1时,时,8个单元都是组合型;个单元都是组合型;当当SYN=0时,允许每个单元自定义为组合型或寄存器型时,允许每个单元自定义为组合型或寄存器型(由由AC0、AC1(n)确定确定);每个OLMC包含或门阵列中的一个或门。一个或门有 8 个输入端,和来自与阵列的 8 个乘积项(PT)相对应。其中 7 个直接相连,第一个乘积项(图中最上边的一项)
24、经PTMUX相连或门输出为有关乘积项之和。异或门的作用是选择输出信号的极性。当XOR(n)为1时,异或门起反相器作用,否则起同相器作用。XOR(n)是控制字中的一位,n为引脚号。D触发器(寄存器)对异或门的输出状态起记忆(存储)作用,使GAL适用于时序逻辑电路。4个多路开关(MUX)在结构控制字段作用下设定输出逻辑宏单元的组态。PTMUX是乘积项选择器,在AC1(n)AC0控制下选择第一乘积项或地(0)送至或门输入端。OMUX是输出类型选择器,在AC1(n)+AC0控制下选择组合型(异或门输出)或寄存型(经D触发器存储后输出)逻辑运算结果送到输出缓冲器。TSMUX是三态缓冲器的使能信号选择器,
25、在AC1(n)和AC1控制下从UCC、地、OE或第一乘积项中选择 1 个作为输出缓冲器的使能信号。FMUX是反馈源选择器。在AC1(n)、AC0控制下选择D触发器的Q、本级OLMC输出、邻级OLMC的输出或地电平作为反馈源送回与阵列作为输入信号。(2)结构控制字 GAL的结构控制字共 82 位,每位取值为“1”或“0”,如图 9-31 所示。图中XOR(n)和AC1(n)字段下的数字对应各个OLMC的引脚号。图 9-31 GAL的结构控制字 图9-3132位乘积项禁止4位XOR(n)1位SYN8位AC1(n)1位AC04位XOR(n)32位乘积项禁止1215121916 19(n)(n)(n)
26、PT63PT32PT31 PT082位 SYN 决定GAL器件是具有寄存器型(时序型)输出能力(SYN=0),还是纯粹组合型输出能力(SYN=1)。在OLMC(12)和OLMC(19)中,SYN还替代AC1(n),SYN替代AC0作为FMUX的选择输入,以维护与PAL器件的兼容性。AC0、AC1(n)方式控制位。8 个OLMC公用1位AC0。AC1(n)共 8 位,每个OLMC(n)有1位,n为引脚号(1219)。AC0,AC1(n)两者配合控制各MUX的工作。XOR(n)极性控制位,共 8 位,每个OLMC(n)有 1 位,它通过异或门来控制输出极性。XOR(n)=0时,输出低有效;XOR(
27、n)=1 时,输出高有效。PT(n)积项禁止位,共 64 位,和与阵列中 64 个乘积项(PT0PT63)相对应,用以禁止(屏蔽)某些不用的乘积项。在SYN、AC0、AC1(n)组合控制下,OLMC(n)可组态配置成 5 种工作模式,表 9-4 列出了各种模式下对控制位的配置和选择。图 9-32(a)(e)分别表示不同配置模式下OLMC的等效电路。OLMC组态的实现,即结构控制字各控制位的设定都是由开发软件和硬件自动完成的。从以上分析看出GAL器件由于采用了OLMC,所以使用更加灵活,只要写入不同的结构控制字,就可以得到不同类型的输出电路结构。这些电路结构完全可以取代PAL器件的各种输出电路结
28、构。表 9-4 OLMC工作模式的配置选择 5.3 高密度可编程逻辑器件高密度可编程逻辑器件 通常将集成度大于通常将集成度大于1000 门门/片的片的PLD 称为高密度可编程称为高密度可编程逻辑器件(逻辑器件(HDPLD)。)。u可擦除可编程逻辑器件可擦除可编程逻辑器件EPLDu复杂可编程逻辑器件复杂可编程逻辑器件CPLDu现场可编程门阵列现场可编程门阵列FPGAu 是一种集成度比是一种集成度比PAL和和GAL高得多的高密度高得多的高密度PLD(1万门万门以上)。以上)。u 基本结构与基本结构与PAL和和GAL类似,仍由可编程的与逻辑阵列、类似,仍由可编程的与逻辑阵列、固定的或逻辑阵列和输出逻
29、辑宏单元(固定的或逻辑阵列和输出逻辑宏单元(OLMC)组成。)组成。u EPLD中的中的OLMC不仅可编程,而且不仅可编程,而且OLMC中的触发器还中的触发器还增设了预置数和异步置零功能,因此比增设了预置数和异步置零功能,因此比GAL中的中的OLMC有更大的使用灵活性。有更大的使用灵活性。5.3.1 可擦除可编程逻辑器件(可擦除可编程逻辑器件(EPLD)5.3.2 复杂可编程逻辑器件(复杂可编程逻辑器件(CPLD)1.CPLD 的结构的结构(a)通用)通用CPLD结构框图结构框图 (b)逻辑块结构图)逻辑块结构图逻辑块逻辑块逻辑块逻辑块逻辑块逻辑块逻辑块逻辑块器件内部的可编程连线区I/OI/O
30、(a)内部的可编程连线区乘积项阵列乘积项分配宏单元I/O单元(b)2.CPLD 的组成的组成 Altera 公司生产的公司生产的MAX7000A从结构上主要包括逻辑从结构上主要包括逻辑阵列块(阵列块(LAB)、宏单元、)、宏单元、I/O 控制块和可编程互连阵列控制块和可编程互连阵列(PIA)四部分。)四部分。(1)逻辑阵列块()逻辑阵列块(LAB)每个逻辑阵列块由每个逻辑阵列块由16 个宏单元组成,其输入信号分别来自个宏单元组成,其输入信号分别来自于于PIA 的的36 个通用逻辑输入、全局控制信号和从个通用逻辑输入、全局控制信号和从I/O 引脚到寄引脚到寄存器的直接输入通道。存器的直接输入通道
31、。(2)宏单元)宏单元 主要由与阵列、乘积项选择阵列、一个或门、一个异或门、主要由与阵列、乘积项选择阵列、一个或门、一个异或门、一个触发器和四个数据选择器构成,因此,每一个宏单元就一个触发器和四个数据选择器构成,因此,每一个宏单元就相当于一片相当于一片GAL。MAX7000A 所有宏单元的所有宏单元的OLMC 都能单独都能单独的被配置成组合逻辑工作方式或时序逻辑工作方式。的被配置成组合逻辑工作方式或时序逻辑工作方式。2.CPLD 的组成的组成(3)I/O 控制块控制块 MAX7000A 的每一个的每一个I/O 控制块允许每个控制块允许每个I/O 引脚单独的引脚单独的配置成输入、输出或双向工作方
32、式。所有配置成输入、输出或双向工作方式。所有I/O 引脚都有一个三引脚都有一个三态输出缓冲器,可以从态输出缓冲器,可以从616 个全局输出使能信号中选择一个个全局输出使能信号中选择一个信号作为其控制信号,也可以选择集电极开路输出。信号作为其控制信号,也可以选择集电极开路输出。(4)可编程互连阵列()可编程互连阵列(PIA)PIA 可以将多个可以将多个LAB 和和I/O 控制块连接起来构成所需要的控制块连接起来构成所需要的逻辑功能。逻辑功能。MAX7000A中的中的PIA 是一组可编程的全局总线,是一组可编程的全局总线,可以将输入任何信号源送到整个芯片的各个地方。可以将输入任何信号源送到整个芯片
33、的各个地方。5.3.3 现场可编程门阵列(现场可编程门阵列(FPGA)u 是一种高密度是一种高密度PLD(3万门以上万门以上/片)。片)。u 电路结构不再是由电路结构不再是由与或与或逻辑阵列和输出逻辑宏单元逻辑阵列和输出逻辑宏单元(OLMC)组成,而是由若干独立的可编程逻辑模块)组成,而是由若干独立的可编程逻辑模块组成。组成。u 用户可以通过编程将这些逻辑模块连接成所需要的数用户可以通过编程将这些逻辑模块连接成所需要的数字系统。字系统。FPGA的基本结构形式示意图:的基本结构形式示意图:可编程输入/输出I/O可编程逻辑单元C图9-40可编程布线资源CLBuFPGA 的大部分引脚都与可编程的的大
34、部分引脚都与可编程的IOB 相连,均可根据相连,均可根据需要设置成输入端或输出端。需要设置成输入端或输出端。u每个每个CLB 中都包含组合逻辑电路和存储电路(触发器)中都包含组合逻辑电路和存储电路(触发器)两部分,可以设置成规模不大的组合逻辑电路或时序逻辑两部分,可以设置成规模不大的组合逻辑电路或时序逻辑电路。电路。u为了能将这些为了能将这些CLB 灵活地连接成各种应用电路,在灵活地连接成各种应用电路,在CLB 之间的布线区内配备了丰富的连线资源。这些互连资源包之间的布线区内配备了丰富的连线资源。这些互连资源包括不同类型的金属线、可编程的开关矩阵和可编程的连接括不同类型的金属线、可编程的开关矩
35、阵和可编程的连接点。点。FPGA的结构特点:的结构特点:FPGA的优点:的优点:uFPGA 的这种的这种CLB 阵列结构形式克服了阵列结构形式克服了PAL 等等PLD 中中那种固定的与或逻辑阵列结构的局限性,在组成一些复那种固定的与或逻辑阵列结构的局限性,在组成一些复杂的、特殊的数字系统时显得更加灵活。杂的、特殊的数字系统时显得更加灵活。u同时,由于加大了可编程同时,由于加大了可编程I/O 端的数目,也使得各引脚端的数目,也使得各引脚信号的安排更加方便和合理。信号的安排更加方便和合理。FPGA的缺点:的缺点:u信号传输延迟时间不确定。信号传输延迟时间不确定。在构成复杂的数字系统时一般在构成复杂
36、的数字系统时一般总要将若干个总要将若干个CLB 组合起来才能实现。而由于每个信号的传组合起来才能实现。而由于每个信号的传输途径各异,所以传输延迟时间也就不可能相等。这不仅会输途径各异,所以传输延迟时间也就不可能相等。这不仅会给设计工作带来麻烦,而且也限制了器件的工作速度。给设计工作带来麻烦,而且也限制了器件的工作速度。uFPGA 中的编程数据具有掉电易失性。中的编程数据具有掉电易失性。因此,每次开始工因此,每次开始工作时都要重新装载编程数据,并需要配备保存编程数据的作时都要重新装载编程数据,并需要配备保存编程数据的RPROM。这些都给使用带来一些不便。这些都给使用带来一些不便。u保密性差。保密
37、性差。FPGA的编程数据一般是存放在的编程数据一般是存放在EPROM 中的,中的,而且要读出并送到而且要读出并送到FPGA 的的SRAM 中,因而不便于保密。中,因而不便于保密。5.4 可编程逻辑器件的编程与测试可编程逻辑器件的编程与测试5.4.1 可编程逻辑器件的开发过程可编程逻辑器件的开发过程u可编程逻辑器件可编程逻辑器件PLD 的开发是指利用开发软件和编程工的开发是指利用开发软件和编程工具对器件进行设计开发成一个应用系统的过程。具对器件进行设计开发成一个应用系统的过程。u开发开发PLD 器件必须具备以下条件:一台器件必须具备以下条件:一台PC 机,机,PLD 的的开发软件,编程电缆或硬件
38、编程器以及相应的开发软件,编程电缆或硬件编程器以及相应的PLD 器件和器件和功能部件。功能部件。开发高密度开发高密度PLD 器件的流程:器件的流程:设计要求及准备设计输入原理图硬件描述语言波形图设计处理优化、综合适配、分割布线、布局器件编程产品功能仿真时序仿真器件测试5.4.2 可编程逻辑器件的编程技术可编程逻辑器件的编程技术1.在系统可编程技术(在系统可编程技术(ISP)u在系统可编程技术(在系统可编程技术(InSystem Programmable,简称,简称ISP)是)是20 世纪世纪80 年代末年代末Lattice公司首先提出的一种先进公司首先提出的一种先进的编程技术。的编程技术。uI
39、SP 技术不再需要编程器,只需要通过计算机接口和编程技术不再需要编程器,只需要通过计算机接口和编程电缆,对已经装配在系统中的电缆,对已经装配在系统中的PLD 进行编程。进行编程。u具有具有ISP 特性的特性的PLD 均采用均采用E2PROM 编程工艺,可以反编程工艺,可以反复擦写,系统掉电后信息不会丢失。复擦写,系统掉电后信息不会丢失。5.4.2 可编程逻辑器件的编程技术可编程逻辑器件的编程技术2.在电路可再配置技术(在电路可再配置技术(ICR)u在电路可再配置技术(在电路可再配置技术(In-Circuit Reconfiguration,简称,简称ICR)也不需要编程器,可以直接对已经装配在
40、电路板上的)也不需要编程器,可以直接对已经装配在电路板上的PLD 器件进行编程。器件进行编程。u具有具有ICR 特性的特性的PLD 均采用均采用SRAM 编程工艺,该工艺的编编程工艺,该工艺的编程速度比较快,但掉电后信息会丢失,因此每次上电后都需程速度比较快,但掉电后信息会丢失,因此每次上电后都需要向要向SRAM 中重新写入编程数据,该过程通常成为中重新写入编程数据,该过程通常成为“配置配置”。u若想改变若想改变PLD的逻辑功能,则就需要重新配置新的编程数的逻辑功能,则就需要重新配置新的编程数据,该过程称为据,该过程称为“再配置再配置”。由于再配置是直接在电路板上。由于再配置是直接在电路板上进
41、行的,因此称进行的,因此称ICR 为在电路可再配置。为在电路可再配置。5.4.2 可编程逻辑器件的编程技术可编程逻辑器件的编程技术3.边界扫描测试技术边界扫描测试技术u边界扫描技术是一种应用于数字集成电路器件的标准化可边界扫描技术是一种应用于数字集成电路器件的标准化可测试性设计方法,提供了对电路板上元件的功能、互连及相测试性设计方法,提供了对电路板上元件的功能、互连及相互间影响进行测试的一种新方案,极大地方便了系统电路的互间影响进行测试的一种新方案,极大地方便了系统电路的测试。测试。u能实现高精度的故障定位。能实现高精度的故障定位。u大大减少了产品的测试时间,缩短了产品的设计和开发周大大减少了产品的测试时间,缩短了产品的设计和开发周期。期。u边界扫描技术克服了传统针床测试技术的缺点,而且测试边界扫描技术克服了传统针床测试技术的缺点,而且测试费用也相对较低。费用也相对较低。