资源描述
第十章 可编程逻辑器件,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第十章 可编程逻辑器件,*,第,6,章可编程逻辑器件,PLD,:,P,rogrammable,L,ogic,D,evice,1,第6章可编程逻辑器件PLD: Programmable L,PLD,是厂家作为一种,通用型器件,生产的,半定制电路,,用户可以利用软、硬件开发工具对器件进行设计和编程,使之实现所需要的逻辑功能。,6.1 PLD,概述,PLD,内部包含有,丰富的逻辑部件,(如各种门电路、开关、触发器等)和连线,各逻辑部件相互不连接或局部连接。,用户可通过配置器件内部逻辑部件的互连关系、分配,PLD,管脚的用途,即所谓的,编程,,实现多种逻辑功能。,同一种,PLD,器件,其内部逻辑部件的互连关系不同、引脚的分配方案不同,实现的逻辑功能也不同,给使用者带来了极大的方便,2,PLD是厂家作为一种通用型器件生产的半定制电路,用户,开发过程,Design Entry,Compile,Simulation,Programming(Download),PLD,的开发流程示意图,3,开发过程 Design EntryCompile Simul,三、多路选择器,6.1.1 PLD,的表示方法,一、输入缓冲电路,二、门电路及导线连接表示,6.1 PLD,概述,4,三、多路选择器 6.1.1 PLD的表示方法 一、输入,1,A,A,A,连接方式表示,PLD,输入缓冲电路,5,1AAA连接方式表示PLD输入缓冲电路 5,PLD,中的与门、或门表示,6,PLD中的与门、或门表示6,PLD,中的,多路选择器,00,01,10,11,A,B,C,D,C,0,F,C,1,7,PLD中的多路选择器00011011ABCDC0FC17,6.1.2,可编程功能的实现,6.1 PLD,概述,8,6.1.2 可编程功能的实现6.1 PLD概述8,6.1.3 PLD,的制造工艺,6.1 PLD,概述,基于,FLASH,技术的,PLD,紫外线可擦除的,PLD,电可擦除的,PLD,基于,SRAM,技术的,PLD,基于熔丝,/,反熔丝基数的,PLD,基于掩模技术的,PLD,9,6.1.3 PLD的制造工艺6.1 PLD概述基于F,6.1.4 PLD,的分类,6.1 PLD,概述,一、,PLD,的集成度分类,可编程逻辑器件,PLD,低,密度可编程逻辑器件,LD,PLD,高,密度可编程逻辑器件,HD,PLD,PROM,PLA,PAL,GAL,CPLD,FPGA,10,6.1.4 PLD的分类6.1 PLD概述一、PLD的,1.,低密度可编程逻辑器件,(LDPLD:,Low-Density PLD,),(1),PROM (,Programmable ROM,),与阵列固定,或阵列可编程。,(2),PLA(Programmable Logic Array),与阵列、或阵列都可编程。,(3),PAL(Programmable Array Logic),与阵列可编程,或阵列固定。,(4),GAL(Generic Array Logic ),大部分与阵列可编程,或阵列固定。,11,1.低密度可编程逻辑器件(LDPLD:Low-Density,LDPLD,的分类与结构,名称,与阵列,或阵列,输出部分,PROM,固定,可编程,固定,PLA,可编程,可编程,固定,PAL,可编程,固定,固定,GAL,可编程,固定,可配置,12,LDPLD的分类与结构名称与阵列或阵列输出部分PROM固定可,2.,高密度可编程逻辑器件,(HDPLD:,High-Density PLD,),(1)CPLD (,Complex PLD,),20,世纪,80,年代中。,20,世纪,80,年代中。,(2) FPGA(,Field Programmable Gate Array,),13,2.高密度可编程逻辑器件(HDPLD:High-Densit,6.1.4 PLD,的分类,6.1 PLD,概述,一、,PLD,的集成度分类,二、,PLD,的制造工艺分类,三、,按编程方法,分类,14,6.1.4 PLD的分类6.1 PLD概述一、PLD的,PLD,的基本结构,一、,PLD,实现各种逻辑功能的依据,二、传统,PLD,的总体结构,图,传统,PLD,的总体结构,输出,电路,输入,电路,与,阵列,或,阵列,外部,数据,输入,数据,输出,输入项,乘积项,和项,反馈,6.1 PLD,概述,15,PLD的基本结构 一、PLD实现各种逻辑功能的依据 二、传统,一、基本结构,:,地址译码器、存储单元,矩阵,、输出电路,存,1,,字线,W,和位线,b,间接二极管;,存,0,,字线,W,和位线,b,间不接二极管。,二、工作原理,6.2,可编程只读存储器(,PROM,),6.2.1 PROM,的结构和功能,16,一、基本结构 :地址译码器、存储单元矩阵、输出电路 存1,字,逻辑关系:,译码器部分的输出变量和输入变量(包括原,变量和反变量)构成,“,与,”,的关系。,存储矩阵和输出电路部分的输出变量和存储,矩阵的输入变量构成,“,或,”,的关系。,译码器部分的输出变量和输入变量(包括原,变量和反变量)构成,“,与,”,的关系。,二、工作原理,6.2,可编程只读存储器(,PROM,),6.2.1 PROM,的结构和功能,17,逻辑关系:译码器部分的输出变量和输入变量(包括原 变量和反变,2.,实现组合逻辑函数,例,9.1.1,试用,ROM,实现如下组合逻辑函数。,首先应将以上两个逻辑函数化成由最小项,组成的标准“与,-,或”式,即,解,:,6.2,可编程只读存储器(,PROM,),6.2.2 ROM,的应用,18,2.实现组合逻辑函数 例9.1.1 试用ROM实现如下组合,2.,实现组合逻辑函数,例,9.1.1,试用,ROM,实现如下组合逻辑函数。,解,:,6.2,可编程只读存储器(,PROM,),6.2.2 ROM,的应用,采用有,3,位地址码、,2,位数据输出的,8,字节,2,位,ROM,。将,A,、,B,、,C3,个变量分别接至地址,输入端,A,2,A,1,A,0,。按逻辑函数要求存入相应数,据,即可在数据输出端,D,0,、,D,1,得到,F,1,和,F,2,其,19,2.实现组合逻辑函数 例9.1.1 试用ROM实现如下组合,ROM,阵列如图所示,1,1,1,(D,1,),(D,0,),F,2,F,1,A,B,C,20,ROM 阵列如图所示111(D1)(D0)F2F1ABC20,图,6.3.1,&,1,6.3,可编程逻辑阵列(,PLA,),6.3.1 PLA,的结构与应用,与阵列可编程,与阵列可编程,21,图6.3.1&16.3 可编程逻辑阵列(PLA) 6.3.,PLA,应用举例,例 用,PLA,器件实现函数,解,:用,PLA,器件实现,需,3,个输入端,,2,个输出端。,用卡诺图法化简,得出,F,1,、,F,2,的最简与或式:,相应的实现电路如图所示。,22,PLA应用举例 例 用PLA器件实现函数 解 :用PLA器件,图,用,PLA,实现组合函数的设计,&,1,23,图 用PLA实现组合函数的设计 &123,除了具有与阵列和或阵列以外,还有输出和反馈电路:,专用输出结构,可编程输入,/,输出结构,寄存器输出结构,异或输出结构,6.3,可编程逻辑阵列(,PLA,),6.3.2 PAL,的结构与应用,24,除了具有与阵列和或阵列以外,还有输出和反馈电路:6.3 可编,例,1,:用,PAL,设计一个带使能端(低电平有效),的,2/4,线译码器,输出低电平有效。,解:使能输入:,EN,;,译码地址输入:,A1,和,A0,;,输出为:,Y0,Y1,Y2,Y3,。,由真值表可知:,Y0=,A1,A0,Y1=,A1A0,Y2=A1,A0,Y3=A1A0,最好选用低电平输出有效的专用输出结构或可编程,I/O,型,PAL,。由要求有使能输出,应选用带有三态输出的,PAL,器件。选用,PAL16L8,器件实现的简化示意如图:,25,例1:用PAL设计一个带使能端(低电平有效)解:使能输入:,1,1,EN,1,1,EN,1,1,EN,1,1,EN,1,1,1,EN,A,0,A,1,Y,0,Y,1,Y,2,Y,3,例,1,实现电路图,26,11 1 1 1 1 1,PAL,的优点:, 提高了功能密度,节省了空间。通常一片,PAL,可以代替,4,12,片,SSI,或,2,4,片,MSI,。同时,虽然,PAL,只有,20,多种型号,但可以代替,90,的通用器件,因而进行系统设计时,可以大大减少器件的种类。,提高了设计的灵活性,且编程和使用都比较方便。, 有上电复位功能和加密功能,可以防止非法复制。,27,PAL的优点: 提高了设计的灵活性,且编程和使用都比较,20,世纪,80,年代初,美国,Lattice,半导体公司研制。,GAL,的结构特点:输出端有一个组态可编程的输出逻辑宏单元,OLMC,,通过编程可以将,GAL,设置成不同的输出方式。这样,具有相同输入单元的,GAL,可以实现,PAL,器件所有的输出电路工作模式,故而称之为通用可编程逻辑器件。,GAL,与,PAL,的区别:,PAL,是,PROM,熔丝工艺,为一次编程器件,而,GAL,是,E,2,PROM,工艺,可重复编程;,PAL,的输出是固定的,而,GAL,用一个可编程的输出逻辑宏单元(,OLMC,)做为输出电路。,GAL,比,PAL,更灵活,功能更强,应用更方便,几乎能替代所有的,PAL,器件。,6.4,通用阵列逻辑(,GAL,),28,20世纪80年代初,美国Lattice半导体公司研制。6.4,6.4,通用阵列逻辑(,GAL,),GAL,是低密度,PLD,,因此,它的结构和前述的低密度,PLD,类似。,如,GAL16V8,,,GAL20V8,等。,但是,GAL,的输出电路更为复杂,灵活性大,不需要用户来选择芯片。,29,6.4 通用阵列逻辑(GAL) GAL是低密度PLD,因此,,一、,GAL16V8,总体结构,8,个输入缓冲器(引脚,29,),;,8,个输出缓冲,反相,器(引脚,1219,),;,8,个输出反馈,/,输入缓冲器(既可做输入也可做输出),因此为,16V8,;,1,个时钟输入缓冲器;,1,个选通信号输入,反相,器;,20,个引脚的器件;,30,一、GAL16V8总体结构8个输入缓冲器(引脚29) ;8,基本包含三种结构:,CPLD,是阵列型高密度可编程控制器,其基本结构形式和,PAL,、,GAL,相似,都由可编程的与阵列、固定的或阵列和逻辑宏单元组成,但集成规模都比,PAL,和,GAL,大得多。,逻辑阵列块(,LAB,),可编程,I/O,单元,可编程连线阵列(,PIA,),6.5,复杂可编程逻辑器件(,CPLD,),31,基本包含三种结构: CPLD是阵列型高密度可编程控,CPLD,的结构图,32,CPLD的结构图32,逻辑阵列块(,LAB,),一个,LAB,由十多个宏单元的阵列组成。,每个宏单元由三个功能块组成:,逻辑阵列,乘积项选择矩阵,可编程寄存器,它们可以被单独的配置为时序逻辑或组合逻辑工作方式。,如果每个宏单元中的乘积项不够用时,还可以利用其结构中的共享和并联扩展乘积项。,33, 逻辑阵列块(LAB) 一个LAB由十多,可编程,I/O,单元,I/O,端常作为一个独立单元处理。通过对,I/O,端口编程,可以使每个引脚单独的配置为输入输出和双向工作、寄存器输入等各种不同的工作方式。,可编程连线阵列,在各,LAB,之间以及各,LAB,和,I/O,单元之间提供互连网络。这种互连机制有很大的灵活性,它允许在不影响引脚分配的情况下改变内部的设计。,34, 可编程I/O单元 可编程连线阵列34,作业,35,作业35,PAL,的输出结构, 专用输出结构。输出端只能输出信号,不能兼作输入。只能实现组合逻辑函数。目前常用的产品有,PAL10H8,、,PAL10L8,等。,36,PAL的输出结构36,可编程,I/O,结构。输出端有一个三态缓冲器,三态门受一个乘积项的控制。,当三态门禁止,输出呈高阻状态时,,I/O,引脚作输入用;,当三态门被选通时,,I/O,引脚作输出用。,37, 可编程I/O结构。输出端有一个三态缓冲器,三态门,寄存器输出结构。输出端有一个,D,触发器,在使能端的作用下,触发器的输出信号经三态门缓冲输出。能记忆原来的状态,从而实现时序逻辑功能。,38, 寄存器输出结构。输出端有一个D触发器,在使能端的,异或,寄存器型输出结构。,输出部分有两个或门,它们的输出经异或门后再经,D,触发器和三态缓冲器输出,这种结构便于对与或逻辑阵列输出的函数求反,还可以实现对寄存器状态进行维持操作,适用于实现计数器及状态。(,A,0=,A,,,A,1=,A,),39, 异或寄存器型输出结构。39,PAL,的命名,PAL,共有,21,种,通过不同的命名可以区别。,40,PAL的命名40,普通型,GAL16V8,的基本特点。,(,1,),GAL,的基本结构。,8,个输入缓冲器和,8,个输出反馈,/,输入缓冲器。,8,个输出逻辑宏单元,OLMC,和,8,个三态缓冲器,每个,OLMC,对应一个,I/O,引脚。,41,普通型GAL16V8的基本特点。41,GAL16V8,的逻辑图,42,GAL16V8的逻辑图42,GAL,器件没有独立的或阵列结构,各个或门放在各自的输出逻辑宏单元(,OLMC,)中。,由,88,个与门构成的与阵列,共形成,64,个乘积项,每个与门有,32,个输入项,由,8,个输入的原变量、反变量(,16,)和,8,个反馈信号的原变量、反变量(,16,)组成,故可编程与阵列共有,3288=2048,个可编程单元。,系统时钟,CK,和三态输出选通信号,OE,的输入缓冲器。,43,GAL器件没有独立的或阵列结构,各个或门放在各自的输,OLMC,的逻辑图,(,2,)输出逻辑宏单元(,OLMC,)的结构,44,OLMC的逻辑图 (2)输出逻辑宏单元(OLMC),或门:有,8,个输入端,和来自与阵列的,8,个乘积项(,PT,)相对应。,异或门:用于选择输出信号的极性。,D,触发器:使,GAL,适用于时序逻辑电路。,4,个多路开关(,MUX,):在结构控制字段作用下设定输出逻辑宏单元的状态。,45,或门:有8个输入端,和来自与阵列的8个乘积项(PT),GAL,的结构控制字,(,3,),GAL,的结构控制字, XOR,(,n,):输出极性选择位。共有,8,位,分别控制,8,个,OLMC,的输出极性。异或门的输出,D,与它的输入信号,B,和,XOR,(,n,)之间的关系为:,D,BXOR,当,XOR,0,时,即,D = B,;,当,XOR,1,时,即,D =B,46,GAL的结构控制字 (3)GAL的结构控制字, SYN,(,n,):时序逻辑电路,/,组合逻辑电路选,择位。,当,SYN,0,时,,D,触发器处于工作状态,,OLMC,可为时序逻辑电路;,当,SYN=1,时,,D,触发器处于非工作状态,,OLMC,只能是组合逻辑电路。,注意:当,SYN,0,时,可以通过其它控制字,使,D,触发器不被使用,这样便可以构成组合逻辑输出。但只要有一个,OLMC,需要构成时序逻辑电路时,就必须使,SYN,0,。, AC0,、,AC1,(,n,):与,SYN,相配合,用来控制 输出逻辑宏单元的输出组态。,47, SYN(n):时序逻辑电路/组合逻辑电路选择位。,(,4,),GAL,的,5,种工作模式,SYN,AC0,AC1,XOR,功 能,输出极性,1,0,1,/,组合逻辑专用输入三态门禁止,/,1,0,0,0,1,组合逻辑专用输出,低有效,高有效,1,1,1,0,1,组合逻辑带反馈双向,I/O,输出,低有效,高有效,0,1,1,0,1,时序逻辑组合,I/O,输出,低有效,高有效,0,1,0,0,1,时序逻辑寄存器输出,低有效,高有效,只要写入不同的结构控制字,就可以得到不同类型的输出电路结构。,48,(4)GAL的5种工作模式 SYNAC0AC1XO,FPGA,的基本结构:,可编程逻辑模块,CLB,输入输出模块,IOB,互连资源,IR, 可编程逻辑模块,CLB,结构形式:, 查找表结构, 多路开关结构, 多级与非门结构。,电路组成:,逻辑函数发生器,触发器,数据选择器,信号变换,49,FPGA的基本结构: 可编程逻辑模块CLB电路组成,可编程输入输出模块,(IOB),IOB,主要完成芯片内部逻辑与外部封装脚的接口,它通常排列在芯片的四周;提供了器件引脚和内部逻辑阵列的接口电路。每一个,IOB,控制一个引脚,(,除电源线和地线引脚外,),,将它们可定义为输入、输出或者双向传输信号端。,50, 可编程输入输出模块(IOB)50,可编程互连资源,(IR),包括各种长度的连线线段和一些可编程连接开关。,连线通路的数量与器件内部阵列的规模有关,阵列规模越大,连线数量越多。,互连线按相对长度分为单线、双线和长线三种。,51, 可编程互连资源(IR)51,52,52,
展开阅读全文