可编程器件原理.ppt
《可编程器件原理.ppt》由会员分享,可在线阅读,更多相关《可编程器件原理.ppt(92页珍藏版)》请在三一办公上搜索。
1、基于EDA技术计算机组成原理课程设计电子课件,主讲教师:彭玄璋,E-mail:,第一讲 可编程逻辑器件PLD原理与应用,数字集成电路按其用途可分为:通用集成电路(General-purpose IC)专用集成电路(Application-specific IC,简称ASIC)专用集成电路则是为特定用途而设计和制造的器件,是一种由用户定制的集成电路(Custom Design IC),一般功能较强,规模较大。,ASIC又分为全定制、半定制和定制三种。全定制和定制电路是按用户要求,专门设计和生产的芯片,由于设计和试制费用高,这种电路一般只用在大批量生产的产品中。如MP3解码器、手机芯片、游戏机芯片
2、等。,1.1 概述一.数字集成电路的分类,二.半定制电路的种类,半定制电路是先由IC制造商制成标准的半成品,再按照用户的要求对半成品进行加工,实现特定的功能。半定制电路的特点是在半成品中已集成了大量的具有一定逻辑功能的模块,但模块之间的连线不确定,按用户要求进行后加工时才确定各模块间的连接关系,从而得到所需的电路。,三.PLD器件的特点 1.“与或”电路结构。可以实现任意的逻辑函数。2.高密度。一片PLD芯片少则几百门,多则几百万门。与通用器件构成的系统相比,不仅成本降低,而且可靠性大大提高。3.高速度。元件尺寸减小使寄生电容的容量大大降低,从而使器件的工作速度得以大大提高。4.高开发效率。各
3、种PLD均有相应的开发工具给予支持,不仅可以对设计进行仿真,而且还能对高层次设计进行自动综合,从而使设计效率得到极大的提高。5.多种编程方法。既有在线可重复编程的器件,又有一次性不可逆编程的器件,扩展了器件的应用领域。,四.PLD的编程方法,熔丝:One Time Programming(OTP),非易失性,易失性-SRAM,EPROM,E2CMOS(E2PROM/Flash Memory),五.用PLD设计数字系统的过程,PLD的结构特点1.PLD的基本组成,数字电路的基本结构,PLD的基本结构,1.2 简单可编程器件(SPLD)的原理,2.PLD内部电路的表示方法,(1)输入缓冲器,2.P
4、LD内部电路的表示方法,(1)输入缓冲器,(2)与(门)阵列,(3)或(门)阵列,2.PLD内部电路的表示方法,(1)输入缓冲器,(2)与(门)阵列,(4)PLD阵列图,一般表示,(4)PLD阵列图,一般表示,简化表示,3.SPLD的分类,二.可编程只读存储器(PROM),1.PROM 的结构,F1=D10 W0+D11 W1+D12 W2+D13 W3,地址译码器等效于固定的与门阵列,F0=D00 W0+D01 W1+D02 W2+D03 W3,存储阵列等效于可编程或门阵列(通过 Dij 编程),PROM的等效阵列,2.用 PROM 实现组合逻辑函数,用PROM实现逻辑函数时,输入信号从PR
5、OM的地址端加入,输出信号由PROM的数据端产生。由于PROM的与阵列固定地生成了输入变量的所有最小项,因此逻辑函数只能以最小项表达式的形式来实现.,例1-1 试用适当容量的PROM构成2位二进制乘法器。被乘数为A1A0,乘数为B1B0,乘积为M3M2M1M0。,M3(A1,A0,B1,B0)=m(15)M2(A1,A0,B1,B0)=m(10,11,14)M1(A1,A0,B1,B0)=m(6,7,9,11,13,14)M0(A1,A0,B1,B0)=m(5,7,13,15),阵列图,PROM的或阵列实际上是存储矩阵。或阵列中,每个水平线与垂直线交叉处都对应一个存储位。若某个交叉点连接起来(
6、打上叉)则表示该位存了1;若某个交叉点未连接(空白)则表示该位存了0。,按此办法将或阵列图还原成存储矩阵,不难发现该PROM所存数据函数值完全一致。因此,用PROM实现逻辑电路的本质就是将待实现函数的真值表存入PROM中。这种方法又称为查表法。,三.可编程阵列逻辑(PLA),1.PLA的结构,2.用 PLA 实现组合逻辑函数,PLA 可以实现最简与或式.,与阵列和或阵列均可编程.,例1-2:用 PLA 实现上例的2位乘法器。,根据真值表,推出最简与或式,阵列图,3.时序 PLA,4.用时序PLA实现时序电路,例1-3 用时序PLA设计模8可逆计数器.,根据状态图,选择JK触发器,可推出激励方程
7、:,根据JK触发器的激励方程,画出时序PLA阵列图,三.可编程阵列逻辑(PAL),1.PAL 的阵列结构,与阵列可编程,但或阵列是固定的.,2.PAL的输出模式,四.通用阵列逻辑(GAL),1.GAL的阵列结构,与PAL相同,与阵列可编程,或阵列是固定的.,2.输出逻辑宏单元(OLMC),S1-模式控制:S1=0 寄存器模式;S1=1 组合 I/O 模式.S0-输出极性:S0=0 低电平有效;S0=1 高电平有效.,S1S0=00寄存器低电平有效,S1S0=01寄存器高电平有效,S1S0=10组合I/O低电平有效,S1S0=11组合I/O高电平有效,3.典型GAL器件 GAL18V10,与阵列
8、有18个输入和82个输出,有10个OLMC,所有触发器均同步工作,并具有异步复位端和同步预置端,18个引脚,可配置成最多18个输入,或最多10个输出。,4.设计举例 例1-4 用GAL18V10实现6个基本门(与门、或门、与非门、或非门、异或门、符合门。,LIBRARY IEEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY basic_gates IS PORT(a1,b1,a2,b2,a3,b3,a4,b4,a5,b5,a6,b6:IN Std_Logic;f1,f2,f3,f4,f5,f6:OUT Std_Logic);END basic_gates;ARCHI
9、TECTURE func_gates OF basic_gates ISBEGIN f1=a1 AND b1;f2=a2 OR b2;f3=a3 NAND b3;f4=a4 NOR b4;f5=a5 XOR b5;f6=a6 XNOR b6;END func_gates;,例1-5 用GAL18V10实现具有同步复位、同步预置功能的十进制可逆计数器。,LIBRARY IEEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.Numeric_Std.ALL;ENTITY count_10 IS PORT(clk,clr,dir:IN Std_Logic;i:IN In
10、teger RANGE 0 TO 9;q:OUT Integer RANGE 0 TO 9);END count_10;,ARCHITECTURE func_count OF count_10 ISBEGIN PROCESS(clk)VARIABLE cnt:Integer RANGE 0 TO 9;BEGIN IF(clk=1)THEN IF(clr=0 AND dir=0)THEN cnt:=0;ELSIF(clr=0 AND dir=1)THEN cnt:=i;ELSIF(clr=1 AND dir=0)THEN IF cnt=0 THEN cnt:=9;ELSE cnt:=cnt-1;
11、END IF;ELSE IF cnt=9 THEN cnt:=0;ELSE cnt:=cnt+1;END IF;END IF;END IF;q=cnt;END PROCESS;END func_count;,1.3 高密度可编程器件(HDPLD)的组成一.分类,二.复杂可编程逻辑器件(CPLD),1.由GAL扩展的结构,若干巨模块(含多个GLB+多个I/OC+ORP)+一个GRP,Lattice公司 ispLSI10162000门,2.通用逻辑模块(GLB),可编程与阵列+固定共享或阵列+四输出逻辑宏单元,(2)可组合输出或寄存器输出;(3)触发器可重构成D、JK、T触发器。,3 输入、输出单
12、元(I/OC),输出有OC和TS等方式;输入有缓冲、寄存和锁存等方式;双向I/O方式.,5.Global Routing Pool(GRP),两维可编程开关阵列,实现各GLB之间连线,以及I/OC到GLB输入信号的连线.,4.输出布线池(ORP)GLB到I/OC输出信号的连线.,CPLD引脚到引脚(Pin-to-Pin)的延迟是固定的,因为信号从一个脚到另一个脚的传播路径是恒定的:I/OC输入总线GRPGLBORPI/OC。由于信号传播具有这种确定的路径,因此CPLD又被称为连线确定型PLD。,例1-6:用CPLD实现具有异步复位功能的16位双向移位寄存器.,LIBRARY IEEEE;USE
13、 IEEE.STD_LOGIC_1164.ALL;ENTITY srg16 IS PORT(s1,s0,cr,clk:IN Std_Logic;d:IN Std_Logic_Vector(0 TO 15);q:OUT Std_Logic_Vector(0 TO 15);END srg16;,ARCHITECTURE func_srg OF srg16 ISBEGIN PROCESS(cr,clk)VARIABLE qq:Std_Logic_Vector(0 TO 15);BEGIN IF(cr=0)THEN qq:=X“0000”;-异步复位 ELSIF(clkEvent AND clk=1)
14、THEN IF(s1=0AND s0=1)THEN qq(1 to 15):=qq(0 to 14);-右移 qq(0):=sr;ELSIF(s1=1AND s0=0)THEN qq(0 to 14):=qq(1 to 15);-左移 qq(15):=sl;ELSIF(s1=1AND s0=1)THEN qq:=d;-并行置数 END IF;END IF;q=qq;END PROCESS;END func_srg;,三.现场可编程门阵列(FPGA),1.FPGA 的结构,Xilinx公司 XC4010CLB 2020,10000门,二维排列的可配置逻辑模块CLB 输入/输出模块I/O 可编程连
15、线PI,2 CLB组成,(1)SRAM组成函数发生器,实现组合逻辑函数,(2)MUX选择组合输出或寄存器输出,4.可编程互连(PI)CLB与CLB、CLB与I/OB之间的连接均通过可编程连线资源来实现。由于FPGA内有很多CLB,因此需要十分丰富的连线资源。FPGA内的连线至少有三种:通用单长度线、通用双长度线和专用长线。,3.输入/输出块(I/OB),与CPLD的I/OC类似.,(1)通用单长度线 这种连线的长度最短,相当于一个CLB的宽度.它主要用来实现相邻CLB间的连接,方法是在每个CLB的四角都有连接单长度线的可编程开关。,(2)通用双长度线 这种连线的长度相当于单长度线的2倍.它主要
16、用来实现不相邻CLB间的连接。,(3)专用长线 用于连接相距较远的CLB和一些全局性信号,如寄存器的时钟和控制信号等,不仅要驱动多个寄存器,而且要传输较长的距离。,由于FPGA中有多种不同长度的连线资源,连接两个不相邻CLB的方法就不是唯一的,而不同连接方法所引入的信号延迟不同,因此脚到脚(Pin-to-Pin)的信号延迟就不是确定的。因此FPGA又被称为连线统计型PLD。,四.单元型CPLD(连线确定的FPGA)CPLD与FPGA各有特点 CPLD逻辑模块大灵活性小,便于实现复杂的逻辑函数,如控制类型的电路,且连线确定,可预知信号延迟;FPGA逻辑模块小但数量多,使用灵活,便于实现数据处理型
17、电路,其连线不确定,难于预知信号延迟。为此,出现了一些将两者优点结合起来的HDPLD,它们既不同于典型的CPLD,又与典型的FPGA有所区别。,1.Altera公司Flex系列器件的结构,二维排列的逻辑阵列块LAB+嵌入式阵列块EAB+输入输出单元IOE+二维快速连线通道,2.LAB的组成,8个LE+进位链/级联链+局部互连线,3.逻辑单元(LE),查找表由SRAM构成,实现组合逻辑函数;数据选择器控制输出方式(组合型或寄存器型),正常模式,实现一位全加/减器,实现加/减计数,在计数器基础上,增加了同步复位端(ICLR),4.嵌入式阵列块EAB EAB中含有大量的RAM。当作为随机访问存储器时
18、,可构成2568、5124、10242和20481等多种形式。EAB中的大容量RAM还可用作大型的查找表(类似于LE中的查找表),实现快速、复杂的逻辑函数或功能模块。,5.进位链 为加/减法器和计数器提高直接的进位信号,以提高工作速度.,6.级联链 实现多输入(4)逻辑函数,且延时最小.,7.输入输出单元(IOE)其功能类似于CPLD中的I/OC。,8.快速通道,提供LAB与IOE以及LAB之间的连接。分成行通道和列通道两种,分布于LAB周围。,从连线资源可以看出,这种PLD的内部连接关系比较确定,脚到脚(Pin-to-Pin)的信号传输路径通常是:IOE行(列)通道局部连线LAB(或EAB)
19、行(列)通道IOE 所以属于连线确定型PLD。,从逻辑单元看,逻辑功能是以SRAM方式来实现的,与典型FPGA一样属于易失性可编程器件。,1.4 HDPLD编程技术 PLD有多种编程方法,最早的SPLD采用的是熔丝开关,后又采用了紫外线可擦除MOS工艺.,在HDPLD中主要有 采用E2CMOS工艺(包括E2PROM和Flash Memory)的在系统编程技术(In-System Programmability,简称ISP)采用SRAM工艺的在电路配置技术(In-Circuit Reconfiguration,简称ICR)反熔丝开关(Antifuse)三种编程方法。,一在系统编程技术ISP 在系
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 可编程 器件 原理
![提示](https://www.31ppt.com/images/bang_tan.gif)
链接地址:https://www.31ppt.com/p-5248938.html