Chapter 8 Programmable Logic Device 第八章 可编程逻辑器件(PLD) Chapter 8 Programmable Logic Device 本章主要内容 第一节 PLD概述 第二节 几种PLD的结构及应用举例 §8.2.1 现场可编程逻辑阵列(FPLA) §8.2.2 可编程阵列逻辑(PAL) §8.2.3 通用阵列逻辑(GAL) §8.2.4 复杂可编程逻辑器件(CPLD) §8.2.5 现场可编程阵列(FPGA) §8.2.6 PLD的一般开发过程 第三节 集成电路计算机辅助设计(ICCAD)
§8.1 PLD概述 目前,数字集成电路产品可以分为两种形式:即标准通用型和专用型。 标准通用型集成电路是指常用的中、小规模数字电路(如74系列、4000系列等),其逻辑功能设计以实现数字系统的基本功能块为目的,一般比较简单,并且固定不变。优点是通用性强,使用方便灵活;缺点是体积、功耗和重量较大,可靠性和可维护性较差等。 专用型集成电路是指按某种专门用途而设计、制造的集成电路,又称ASIC(Application Specific Integrated Circuit),ASIC器件又可分为全定制和半定制两大类。ASIC的优点是体积小、功耗低、可靠性高,高度保密;缺点是在用量不大的情况下,设计和制造这样的专用集成电路不仅成本很高,而且设计、制造的周期也很长。
由此可见,通用型和专用型集成电路在制造和使用上存在着一定的矛盾。可编程逻辑器件(Programmable Logic Device)的研制成功为解决这个矛盾提供了一条比较理想的途径。 PLD虽然是作为一种通用器件生产的,但它的逻辑功能是由用户通过对器件编程来设定的。而且有些PLD的集成度很高,足以满足设计一般数字系统的需要。这样就可以由设计人员自行编程而把数字系统“集成”在一片PLD上,而不必制造专用集成电路芯片了。
PLD的基本结构图:
一、PLD的表示方法: 描述PLD器件基本结构的逻辑图形符号如下:
二、PLD的优点: PLD综合了标准通用型逻辑器件和半定制逻辑器件的许多优点,再加上它的可编程性,为数字系统的设计带来了很多方便。其优点如下: 1、设计灵活、方便 2、高性能和高可靠性 3、费用较低 三、PLD的分类: PLD主要包括低密度可编程器件(SPLD,门数低于600门)和高密度可编程器件(HDPLD,门数高于600门,主要指CPLD和FPGA)两大类。其各自包含的产品和对应的特点见表8-1-1。
表8-1-1 PLD的分类和特点细表
Field Programmable Logic Array §8.2 几种PLD的结构及应用举例 §8.2.1 现场可编程逻辑阵列(FPLA) Field Programmable Logic Array 一、组合逻辑型FPLA的基本电路结构: 组合逻辑型FPLA由可编程的“与”逻辑阵列和可编程的“或”逻辑阵列以及输出缓冲器组成,如图8.2.1所示。若编程后的电路连接情况如图中所示,则当OE=0时可得到如下组合逻辑函数:
二、时序逻辑型FPLA的基本电路结构: 图8.2.2 时序逻辑型FPLA的电路结构
三、FPLA的特点(与ROM相比): 优点: 1)“与”阵列非全译码,阵列体积小,芯片利用率高; 2)由于“与”阵列和“或”阵列均可编程,所以设计工作 较容易; 3)可进行时序逻辑设计。 缺点: 1)可编程阵列为两个,比较来说较复杂一些,速度 较慢; 2)支持FPLA开发的软件有一定的难度。
Programmable Array Logic §8.2.2 可编程阵列逻辑(PAL) Programmable Array Logic 一、PAL的基本结构: PAL是70年代末期MMI公司率先推出的一种可编程逻辑器件。它采用双极型工艺制作,熔丝编程方式。 PAL器件由可编程的与逻辑阵列、固定的或逻辑阵列和输出电路三部分组成,其基本电路结构图由图8.2.3所示。 用PAL器件可以构成各种组合或时序逻辑电路。
图8.2.3 PAL器件的基本电路结构
例:下图为一个经过编程的PAL器件结构图,它产生了一组组合 逻辑函数Y1、Y2、Y3、Y4。
二、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来实现,可得如下所示逻辑图:
解: [例8-2-2] 用PAL器件设计一个4位循环码计数器,并要求所设计的计数器具有置零和对输出进行三态控制的功能。 表8-2-2 [例8-2-2]4位循环码的计数顺序表 解:
PAL16R4可满足上述要求,因为PAL16R4的输出缓冲器是反相器,所以4个触发器Q端的状态与上表中的Y状态相反,则Q3Q2Q1Q0的状态转换顺序应如下表所示:
据表8-2-3化简可得各个触发器的状态方程为: 驱动方程为:
用PAL16R4实现四位循环码计数器
§8.2.3 通用阵列逻辑(GAL) Generic Array Logic 四、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中,它们和“与”逻辑阵列的连接是固定的。
二、OLMC介绍: OLMC中包含一个或门、一个D触发器和由4个数据选择器及一些门电路构成的控制电路。如图8.2.8所示:
图8.2.8中AC0、AC1(n)、XOR(n)都是结构控制字中的一位数据,通过对结构控制字编程,便可设定OLMC的工作模式。GAL16V8的结构控制字如图8.2.9所示:
列的第一乘积项当中选择一个作为输出三态缓冲器的控制信号,如表8-2-4所示。
表8-2-4 TSMUX的控制功能表 8-2-5所示。
OLMC的工作模式有表8-2-6所列的5种,它们由结构控制字SYN、AC1(n)、XOR(n)的状态指定。 表8-2-5 FMUX的控制功能表 OLMC的工作模式有表8-2-6所列的5种,它们由结构控制字SYN、AC1(n)、XOR(n)的状态指定。
表8-2-6 OLMC的5种工作模式
三、OLMC的特点: 1)OLMC的输入可以独立的设定为高或低有效 2)可采用组合逻辑(异步)输出或寄存器逻辑(同步)输出; 3)器件有一个公用的输出使能端,对于每个输出使能端可以由乘积项或单独的输入项完成; 4)各宏单元基本结构相同,可以重组到另外的单元,重组态可以为以下几个模式:专用输入、专用组合输出、组合输出、寄存器输出。 四、GAL的特点: 1)主要采用E2CMOS工艺; 2)具有可擦除性、可重编程性、可反复改写; 3)具有可重组态性。
Complex Programmable Logic Device §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器件可擦除,可重编程,并且掉电后数据不会丢失。
Field Programmable Gate Array §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的特点: 2)现场可编程,产品上市快,可反复使用; 1)集成度高,逻辑实现和综合能力强,设计更灵活; 2)现场可编程,产品上市快,可反复使用; 3)FPGA内部丰富的触发器和I/O引脚弥补了PLD规模小,I/O少的不足; 4)但FPGA总的电路工作速度比一般PLD低,且有数据易失性。
§8.2.6 PLD的一般开发过程 PLD的开发过程大体可分为如下几个步骤: 一、逻辑设计 二、选定PLD的类型和型号 三、选定开发系统工具 四、编制JEDEC文件 1)设计输入 2)设计实现 3)设计验证(仿真) 五、卸载 六、测试
Integrated Circuit Computer Aided Design §8.3 集成电路计算机辅助设计 Integrated Circuit Computer Aided Design 一、计算机辅助设计(CAD)的基本概念: (一)设计自动化(DA)和计算机辅助设计(CAD) * 为开发或研制一个新的集成电路进行设计时,一般将 经历 以下三个阶段:
* IC发展早期,多为人工设计;LSI和VLSI出现后,广泛采 用和依靠计算机技术。 * 如果计算机能根据集成电路的设计要求,自动完成上述 三个阶段的设计任务,则称之为设计自动化(DA:Design Automation)。 * EDA(Electronics Design Automation,即电子设计自动化) 是一种以计算机为基本工作平台,利用计算机图形学、拓 扑逻辑学、计算数学,以至人工智能学等多种计算机应用 学科的最新成果开发出来的一整套软件工具,是一种帮助 电子设计工程师从事电子元件、产品和系统设计的综合技术。
* 计算机辅助设计(CAD:Computer Aided Design)即由人 为主导,借助于计算机来帮助人工迅速而准确地完成设计任 务的方法。 目前,人和计算机必须通过CAD这一工作模式共同完成 VLSI的设计。 (二)采用CAD技术的必要性(即优点): 减轻人工劳动,缩短设计周期; 保证设计的正确性; 提高设计质量,节省设计费用; 在VLSI设计中离开CAD技术就无法完成设计任务; 促进集成化技术的普及。
(三)集成电路正向CAD过程: * 所谓“正向设计”就是以集成电路特性指标为出发点,依次进 行系统设计、逻辑设计、线路设计和版图设计共计四个层次的 设计工作。 * 采用CAD技术的正向设计包括五部分: 1、电路设计:系统设计、逻辑设计、线路设计、设计校验 2、版图设计 3、测试码生成 4、器件模型参数的确定 5、工艺加工
一个实用的ICCAD系统应包括有一套完整的软件工具、配套的硬件工作平台和统一的用户界面。 (四)集成电路的逆向设计: 逆向设计以“逆向剖析”为基础: 如果需要解剖分析某一已有产品时,则要采用集成电路剖析分析系统,其过程为: 首先,解剖样品,去掉封装,暴露管芯;接着,进行显微照相或用高精度图像系统摄取管芯表面拓扑图,得到该集成电路样品的版图设计信息;然后,从得到的版图上提取逻辑和电路结构,分析其功能和原理;最后,获得其原始设计思想。 二、CAD系统的构成: 一个实用的ICCAD系统应包括有一套完整的软件工具、配套的硬件工作平台和统一的用户界面。
1、ICCAD软件工具: 正向设计过程中采用的ICCAD系统包括下述四大软件工具: (1) 综合设计工具 (2)模拟验证工具 (1) 综合设计工具 (2)模拟验证工具 (3)设计输入数据管理工具 (4)专用ICCAD软件 2、 ICCAD的硬件环境发展状况: 70年代中叶 ICCAD软件都是在小型以上级别的通用计算机(如 VAX750)上运行。 80年代初期 出现了可在工作站上运行的比较完整的ICCAD软件系统。 80年代末期 386、486CPU及相应协处理器的出现,使得个人微机系 统上也可运行ICCAD软件。 3、我国ICCAD系统发展状况:
一级系统: 一级系统是在“六五”期间开发的以国产DJS-130小型机为硬件环境的ICCAD软件包。它可辅助人们将设计好的版图输入到计算机并进行修改编辑,然后产生掩模数据带。 二级系统: 二级系统是在“六五”后期开发的功能较齐全的可用于大规模集成电路的CAD系统,该系统以MC68000为硬件环境,“七五”期间又作了实用化移植、改进和推广,使其可运行于开放的图形工作站。 三级系统: 三级系统又称熊猫系统,是一个面向全定制超大规模集成电路设计的CAD系统,可支持用户进行IC设计的全过程。该系统为用户提供了集成电路设计过程中所需要的CAD工具和信息管理,是一个大型的ICCAD系统。 4、国外典型ICCAD系统: 国外CAD系统的主要代表公司有:Cadence、Mentor Graphics、Viewlogic、Synopsys等。
三、ISP系统介绍: # 现代数字系统的实现手段:
# ISP技术的定义和常用编程方式: 目前,PLD已成为现代数字系统设计的主要手段,“在系统中可编程” (ISP,即In-System Programmable)逻辑器件的问世,可以说是可编程器 件中的一个革命,将可编程器件的优越性发挥到了极致。它允许用户“在系 统中”编辑和修改逻辑,给使用者提供了在不修改系统硬件设计条件下重构 系统的能力和硬件升级能力,使硬件修改变得象软件修改一样方便,系统的 可靠性因此而提高。ISP技术即直接在用户设计的目标系统中或线路板上对 PLD器件进行编程的技术。 ISP技术的常用编程方式有: (1)利用PC机的I/O口编程 (2)利用用户目标板上自备的单片机或微处理器编程 (3)多芯片ISP编程
用PC机并行口进行ISP编程原理图