290 likes | 528 Views
组合逻辑型 FPLA 由 可编程的“与”逻辑阵列 和 可编程的“或”逻辑阵列 以及输出缓冲器组成,如图 8.2.1 所示。若编程后的电路连接情况如图中所示,则当 OE=0 时可得到如下组合逻辑函数:. §8.2 几种 PLD 的结构及应用举例. §8.2.1 现场可编程逻辑阵列( FPLA ) Field Programmable Logic Array. 一、组合逻辑型 FPLA 的基本电路结构:. 二、时序逻辑型 FPLA 的基本电路结构:. 图 8.2.2 时序逻辑型 FPLA 的电路结构. 三、 FPLA 的特点(与 ROM 相比):. 优点:
E N D
组合逻辑型FPLA由可编程的“与”逻辑阵列和可编程的“或”逻辑阵列以及输出缓冲器组成,如图8.2.1所示。若编程后的电路连接情况如图中所示,则当OE=0时可得到如下组合逻辑函数:组合逻辑型FPLA由可编程的“与”逻辑阵列和可编程的“或”逻辑阵列以及输出缓冲器组成,如图8.2.1所示。若编程后的电路连接情况如图中所示,则当OE=0时可得到如下组合逻辑函数: §8.2 几种PLD的结构及应用举例 §8.2.1现场可编程逻辑阵列(FPLA) Field Programmable Logic Array 一、组合逻辑型FPLA的基本电路结构:
二、时序逻辑型FPLA的基本电路结构: 图8.2.2 时序逻辑型FPLA的电路结构
三、FPLA的特点(与ROM相比): • 优点: • 1)“与”阵列非全译码,阵列体积小,芯片利用率高; • 2)由于“与”阵列和“或”阵列均可编程,所以设计工作 • 较容易; • 3)可进行时序逻辑设计。 • 缺点: • 1)可编程阵列为两个,比较来说较复杂一些,速度 • 较慢; • 2)支持FPLA开发的软件有一定的难度。
§8.2.2可编程阵列逻辑(PAL) Programmable Array Logic 一、PAL的基本结构: PAL是70年代末期MMI公司率先推出的一种可编程逻辑器件。它采用双极型工艺制作,熔丝编程方式。 PAL器件由可编程的与逻辑阵列、固定的或逻辑阵列和输出电路三部分组成,其基本电路结构图由图8.2.3所示。 用PAL器件可以构成各种组合或时序逻辑电路。
例:下图为一个经过编程的PAL器件结构图,它产生了一组组合 逻辑函数Y1、Y2、Y3、Y4。 图8.2.4 编程后的PAL电路
二、PAL的输出电路结构和反馈形式有以下几种:二、PAL的输出电路结构和反馈形式有以下几种: 1、专用输出结构 属于这种输出结构的器件有:PAL10H8、PAL14H4、 PAL14L4、 PAL10L8、PAL16C1等。 2、可编程输入/输出结构 属于这种输出结构的器件有:PAL16L8、PAL20L10等。 3、寄存器输出结构 属于这种输出结构的器件有:PAL16R4、PAL16R6、 PAL16R8等。 4、异或输出结构 属于这种输出结构的器件有:PAL20X4、PAL20X8、 PAL20X10等。 5、运算选通反馈结构 属于这种输出结构的器件有:PAL16X4、PAL16A4等。
三、PAL应用举例: [例8-2-1]用PAL器件设计一个数值判别电路。要求判断4位二进制数DCBA的大小属于0-5、6-10、11-15三个区间的哪一个之内。 解: 表8-2-1 [例8-2-1]的函数真值表
从真值表可写出Y0、Y1、Y2的逻辑函数式,这是一组具有4个输入变量、3个输出的组合逻辑函数。若选用PAL14H4来实现,可得如下所示逻辑图:从真值表可写出Y0、Y1、Y2的逻辑函数式,这是一组具有4个输入变量、3个输出的组合逻辑函数。若选用PAL14H4来实现,可得如下所示逻辑图: 图8.2.5 编程后的PAL14H4电路
[例8-2-2]用PAL器件设计一个4位循环码计数器,并要求所设计的计数器具有置零和对输出进行三态控制的功能。[例8-2-2]用PAL器件设计一个4位循环码计数器,并要求所设计的计数器具有置零和对输出进行三态控制的功能。 表8-2-2 [例8-2-2]4位循环码的计数顺序表 解:
PAL16R4可满足上述要求,因为PAL16R4的输出缓冲器是反相器,所以4个触发器Q端的状态与上表中的Y状态相反,则Q3Q2Q1Q0的状态转换顺序应如下表所示:PAL16R4可满足上述要求,因为PAL16R4的输出缓冲器是反相器,所以4个触发器Q端的状态与上表中的Y状态相反,则Q3Q2Q1Q0的状态转换顺序应如下表所示: 表8-2-3 PAL16R4中触发器的状态转换表
据表8-2-3化简可得各个触发器的状态方程为: 驱动方程为:
四、PAL的特点: 1)“与”阵列可编程方法能提供较高的性能和最有效的结构,每个输出所需的乘积项的数量由“或”阵列固定; 2)灵活性强,在现代电子行业中仍大量使用。 3)PAL的缺点是采用熔丝工艺,一旦编程后就不能修改。 §8.2.3通用阵列逻辑(GAL) Generic Array Logic 一、GAL的基本结构: 1980年以来,随着E2CMOS工艺的发展,GAL器件出现,GAL从结构上可分为两类:一类是类似PAL结构,即“与”阵列可编程而“或”阵列固定,如GAL16V8、GAL20V8等;另一类则是与阵列和或阵列可同时编程,如LATTIC 公司的GAL39V8。
GAL较PAL相比,其结构仅在输出结构上不同,其输出引脚提供了一个输出逻辑宏(OLMC——Output Logic Macro Cell),OLMC的应用大大提高了GAL输出的灵活性,基本上可用同一种型号的GAL器件实现PAL器件所有的各种输出电路工作模式。 现以GAL16V8为例,介绍GAL器件一般结构形式和工作原理。 GAL16V8有一个32X64位的可编程“与”逻辑阵列,8个OLMC,10个输入缓冲器,8个三态输出缓冲器和8个反馈/输入缓冲器。 GAL16V8的“与”逻辑阵列的每个交叉点上设有E2CMOS编程单元。 例: 图8.2.6 由3个编程单元构成的与门
GAL16V8的组成“或”逻辑阵列的8个或门分别包含于8个OLMC中,它们和“与”逻辑阵列的连接是固定的。 GAL16V8中还有一些编程单元。编程单元的地址分配和功能划分情况如图8.2.7所示。 图8.2.7 GAL16V8编程单元的地址分配
二、OLMC介绍: OLMC中包含一个或门、一个D触发器和由4个数据选择器及一些门电路构成的控制电路。如图8.2.8所示: 图8.2.8 OLMC的结构框图
图8.2.8中AC0、AC1(n)、XOR(n)都是结构控制字中的一位数据,通过对结构控制字编程,便可设定OLMC的工作模式。GAL16V8的结构控制字如图8.2.9所示:图8.2.8中AC0、AC1(n)、XOR(n)都是结构控制字中的一位数据,通过对结构控制字编程,便可设定OLMC的工作模式。GAL16V8的结构控制字如图8.2.9所示: 图8.2.9 GAL16V8结构控制字的组成 图8.2.8中的或门有8个输入端,来自与逻辑阵列的输出;异或门用于控制输出函数的极性。当XOR(n)为0时,异或门的输出与或门的输出同相,否则反相。
三、OLMC的特点: 1)OLMC的输入可以独立的设定为高或低有效 2)可采用组合逻辑(异步)输出或寄存器逻辑(同步)输出; 3)器件有一个公用的输出使能端,对于每个输出使能端可以由乘积项或单独的输入项完成; 4)各宏单元基本结构相同,可以重组到另外的单元,重组态可以为以下几个模式:专用输入、专用组合输出、组合输出、寄存器输出。 四、GAL的特点: 1)主要采用E2CMOS工艺; 2)具有可擦除性、可重编程性、可反复改写; 3)具有可重组态性。
§8.2.4复杂可编程逻辑器件(CPLD) Complex Programmable Logic Device 一、80年代末,CPLD出现,其结构从总的结构上大致一样,都以逻辑宏单元为基础,加上内部的AND-OR阵列,使之实现从简单的逻辑功能到复杂的时序控制,另外外围的I/O模块,又扩大了其在系统中的应用范围和扩展性。 二、 CPLD结构框图
三、 CPLD的特点: 1)各CPLD产品不再象PAL、GAL仅使用较通用的软件包、编程器来完成它的设计开发、应用过程,而是要求较好的逻辑优化、综合手段,在实现后又需要在时序上进行仿真,所以各家公司在自己产品的基础上对应自己的产品均有一套开发系统,如Xilinx的DS550,Altera的MAX+PLUS II, Lattice的pDS+等,它们均能够接受多种输入格式的设计方法。 2)验证时打破了以往的硬件/实验方法,以全方位的时序/逻辑软件仿真取而代之。 3)新增的ISP功能更提供了巨大的灵活性,使设计人员在自己的设计完成后,在计算机上马上就可知道自己的设计在逻辑功能上,时序上是否已达到目的。 4)CPLD器件可擦除,可重编程,并且掉电后数据不会丢失。
§8.2.5 现场可编程阵列(FPGA) Field Programmable Gate Array 一、FPGA介绍: # 80年代中期出现,最早由Xilinx公司在1985年推出 # FPGA与CPLD的比较: FPGA与传统的PLD不同,它具有类似于半定制门阵列的通用结构,即由逻辑功能块(CLB)排列阵列组成,并由可编程的互联资源连接(PI)连接这些CLB来实现所需的设计。 # FPGA与掩模编程阵列的区别: FPGA与MPGA的不同之处在于它由用户现场可编程来完成CLB之间的互联,而后者需由IC工厂通过掩模完成互联。 # FPGA是将门阵列的通用结构与PLD现场可编程特性结合于一体的新型器件,目前,FPGA在芯片上可集成100万门,可与中高等密度的门阵列相匹敌。
二、 FPGA的基本结构 CLB:是实现用户功能的基本单元,它们通常规则地排列成一个阵列,散布于整个芯片;CLB有与门、非门、门阵列及触发器、计数器和其他功能模块等等; IOB:完成芯片上逻辑与外部封装腿的接口,常围绕着阵列排列于芯片四周;IOB通常包括输入部分、输出部分和公共部分(包括全局复位网线、时钟资源等)。 PI:包括各种长度的连线线段和一些可编程连接开关,它们将各个CLB或IOB连接起来,构成特定功能的电路。
三、 FPGA的分类: 1)按CLB的大小分: 细粒度(Fine-grain) 粗粒度(Coarse-grain) 2)按互联结构分类: 分段互联型 连续互联型 3)按可编程特性分类: 一次性可编程 重复可编程
四、 FPGA的特点: 1)集成度高,逻辑实现和综合能力强,设计更灵活; 2)现场可编程,产品上市快,可反复使用; 3)FPGA内部丰富的触发器和I/O引脚弥补了PLD规模小,I/O少的不足; 4)但FPGA总的电路工作速度比一般PLD低,且有数据易失性。
§8.2.6 PLD的一般开发过程 • PLD的开发过程大体可分为如下几个步骤: • 一、逻辑设计 • 二、选定PLD的类型和型号 • 三、选定开发系统工具 • 四、编制JEDEC文件 • 1)设计输入 • 2)设计实现 • 3)设计验证(仿真) • 五、卸载 • 六、测试