资源预览内容
第1页 / 共129页
第2页 / 共129页
第3页 / 共129页
第4页 / 共129页
第5页 / 共129页
第6页 / 共129页
第7页 / 共129页
第8页 / 共129页
第9页 / 共129页
第10页 / 共129页
亲,该文档总共129页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第七章 可编程逻辑器件n7.1概述n7.2可编程逻辑器件基础nPLD逻辑表示法n逻辑阵列的PLD表示法应用举例n通用阵列逻辑GAL 7.1概述n可编程专用集成电路ASIC(Application Specific Integrated Circuit)是面向用户特定用途或特定功能的大规模、超大规模集成电路。n分类:按功能分为数字的、模拟的、数字和模拟混和三种。按制造方式分为全定制、半定制ASIC、可编程三种。根据芯片的集成度和结构复杂度分类n简 单 可 编 程 逻 辑 器 件 SPLD:集 成 度 小 于PALCE22V10或 GAL22V10的PLD。n特点是都具有可编程的与阵列、不可编程的或阵列、输出逻辑宏单元OLMC和输入输出逻辑单元IOC。n复 杂 可 编 程 逻 辑 器 件 CPLD:集 成 度 大 于PAL22V10或GAL22V10的PLD都可视为CPLD。nCPLD在集成度和结构上呈现的特点是具有更大的与阵列和或阵列,增加了大量的宏单元和布线资源,触发器的数量明显增加。高速的译码器、多位计数器、寄存器、时序状态机、网络适配器、总线控制器等较大规模的逻辑设计可选用CPLD来实现。因此,具有复杂算法的数字滤波器等数字信号处理单元的逻辑设计也可选用这些具有更高集成度CPLD来实现。根据芯片的集成度和结构复杂度分类n现场可编程逻辑门阵列 FPGA:现场可编程门阵列FPGA是集成度和结构复杂度最高的可编程ASIC。n运算器、乘法器、数字滤波器、二维卷积器等具有复杂算法的逻辑单元和信号处理单元的逻辑设计可选用FPGA实现。可编程ASIC的编程方式n可编程ASIC的编程方式有两种,一种是采用专用编程器进行编程,一种是在系统编程。n后者甩掉了专用编程器,而且也不用将芯片从电路系统取下,只利用计算机和一组下载电缆就可以在系统编程。nLattice和Xilinx等几家大公司现在都有在系统可编程ASIC产品。在系统编程方式方便了用户。可编程ASIC的一般开发步骤n设计输入(entry)n功能模拟(function simulation)n逻辑分割(partitioning)n布局和布线(place and routing)n时间模拟(timing simulation)n写入下载数据(download)ASIC开发步骤流程图PLD的逻辑表示 nPLD中阵列及其阵列交叉点的逻辑表示n1.PLD中阵列交叉点的逻辑表示n2.PLD中与阵列和或阵列的逻辑表示nPLD中基本逻辑单元的PLD表示n1.输入缓冲器和反馈缓冲器n2.输出极性可编程的异或门n3.地址选择可编程的数据选择器n4.可编程数据分配器的逻辑表示1.PLD中阵列交叉点的逻辑表示nPLD逻辑阵列中交叉点的连接方式采用图7-7所示的几种逻辑表示。图图7-7(a)表示实体连结,就是行线和列线在这个交叉点处实在连接,这个交叉点是不可编程点不可编程点,在交叉点处打上黑实点。不可编程点(b)表示可编程连接。无论或 表示该符号所在行线和列线交叉处是个可编程点可编程点,具有一个可编程单元。在采用熔丝工艺的PLD器件中,器件出厂后用户编程之前,所有可编程点处的熔丝都处于接通状态,习惯上都用表示熔丝接通,因此可编程点上处处都打或 。可编程点PLD器件被用户编程后,可编程点上的熔丝有的烧断,有的接通。编 程后可在编程点上仍打有,这时的表示可编程点被编程后熔丝接通。熔丝烧断的可编程点上的消失,行线和列线不相接,这种情况用图(c)表示。熔丝烧断点PLD中与阵列和或阵列的逻辑表示n与阵列如图(a)所示。n在二极管与门的各支路与输出之间接入熔丝。熔丝保留的各支路的输入为有效输入,输出F是熔丝保留各支路输入的与逻辑函数的。PLD中与阵列和或阵列的逻辑表示n图(b)是PLD表示。图(a)和图(b)是熔丝全部保留的与阵列表示情况。F(A,B,C)=0。PLD中与阵列和或阵列的逻辑表示n图(c)是烧断3个熔丝的情况,图(d)是图(c)的PLD表示。n可编程或阵列,其构成原理与可编程的与阵列相同。可编程或阵列n可编程或阵列,其构成原理与可编程的与阵列相同。1.输入缓冲器和反馈缓冲器n在PLD中有二种特殊的缓冲器,它们是输入缓冲器和反馈缓冲器,这二种缓冲器有相同的电路构成,图7-10给出它们的PLD表示,它们是单输入、双输出的缓冲器单元,一个是高有效输出端,即同极性输出端。另一个是低有效输出端,即反极性输出端。n与曾经学过的输出三态缓冲器不同,虽然输出三态缓冲器也有三个端,但只有一个输入和一个输出端,另一个是使能控制端。图7-101.输入缓冲器和反馈缓冲器n原则上说,输出三态缓冲器有二个输入端一个输出端。注意二者之间的区别。n输入缓冲器和反馈缓冲器输出只有0、1两个逻辑状态。而输出三态缓冲器除了有0、1两个逻辑状态外,还有一个称为高阻(Z)的状态。图7-102.输出极性可编程的异或门n在PLD中为了实现输出极性可编程,常采用图(a)所示的异或门结构。n当熔丝烧断,异或门输出极性为低有效,即 n否则异或门输出高有效Q0=P0=P。2.输出极性可编程的异或门n图(b)是编程后熔丝保留,输出极性编程为高有效。图(c)是编程熔丝烧断,输出极性编程为低有效。3.地址选择可编程的数据选择器n地址选择可编程的数据选择器如图7-12所示。n地址选择端编程后,若列线与行线相接且接地,其输入为逻辑0。否则,列线与行线断开其输入为逻辑1。n根据编程情况,地址选择端的输入有00,01,10,11四种情况。4.可编程数据分配器的逻辑表示n如图7-13所示。在图7-13中核心部分是可编程逻辑分配器根据可编程熔丝S1S0的不同编程情况,乘积项簇分别被分配到n+1号、n号、n-1号、n-2号宏单元。nFUSE1正常时(默认状态)不熔断,乘积项簇的信号传不到n号宏单元。n若编程后FUSE1熔断,乘积项簇信号可以传到n号宏单元。n如果FUSE2熔断,异或门反极性传输,否则异或门原极性传输,n号宏单元接收信号与乘积项簇信号同相。FUSE2为又一个可编程点。5.激励方式可编程的时序记忆单元的PLD表示n时序记忆单元有二种,即锁存器和触发器。n输出的状态只受输入激励信号控制的时序记忆单元是锁存器。n只有在时钟信号控制下才能得到受输入激励信号决定的相应输出状态的时序记忆单元是触发器。n二种时序记忆单元的根本区别是输出状态的变化是否取决于时钟信号的控制。5.激励方式可编程的时序记忆单元的PLD表示n由图7-14看出,通过编程,若线与行线断开,其输入为逻辑1。根据编程情况,地址选择端的输入有00,01,10,11四种情况。5.激励方式可编程的时序记忆单元的PLD表示n使R/L端为0,Q端的输出状态只与激励信号有关并受D决定,图7-14所示电路为D锁存器。n通过编程,若使R/L端为1,图7-14所示电路只有在时钟脉冲信号CLK的驱动下,Q端的状态变化受D端的激励信号决定,该电路具有D触发器功能。6.PLD中与阵列的缺省表示n在PLD器件与阵列中常看到图7-15中给出的几种表示。输出为Z1的与门4个输入变量全部被编程后输入,4个交叉点均画。因此,6.PLD中与阵列的缺省表示同理:Z2为Z1的缺省表示。这时的阵列交叉点上均未画,而在与门符号内却画有,。6.PLD中与阵列的缺省表示n输出为Z3的与门输入阵列交叉点上无,与门符号内也无,这是浮动状态的逻辑表示。浮动输入状态代表与阵列编程后熔丝全部熔断,4个输入全都不同与门相接,相当与门输入悬空,与门输出为高电平,即输出逻辑“1”7.双向输入/输出和反馈输入的逻辑表示n双向输入/输出和反馈输入结构是PLD结构的特点之一,乘积项Pn+1为三态输出缓冲器的使能端控制信号。n由于各阵列交叉点无一个,呈悬浮状态,n+1号与门输出为逻辑“1”。或阵列输出的Sm信号加在IOm引脚上,作为输出信号。同时,Sm信号又通过反馈缓冲器被反馈到与阵列。n这个输出带反馈的组态方式采用图7-16(b)所示的PLD表示。Feedback=SmFeedbackn在图7-17(a)中,乘积项Pn+1作为三态输出缓冲器的使能端控制信号。n由于各阵列交叉点全打有,所以n+1号与门输出为逻辑“0”,三态输出缓冲器禁止,其输出为高阻。n这时,或阵列输出信号Sm与IOm引脚断开,加在IOm引脚上的输入信号则可通过反馈缓冲器加到与阵列上。n这种输出三态缓冲器高阻且加在输出引脚上的信号借助反馈缓冲器成为输入信号的组态方式用图7-17(b)表示。Feedback=SmFeedback通用阵列逻辑GAL nGAL的结构及其工作原理nGAL的基本阵列结构n通用型GAL16V8的电路结构nGAL16V8的结构控制字nGAL16V8的OLMCnGAL的工作模式和逻辑组态nGAL16V8的行地址图nGAL16V8的编程GAL的基本阵列结构n图7-19给出GAL的基本结构框图。n由图7-19看出GAL是由可编程的与阵列、固定不可编程)的或阵列、可编程的输出逻辑宏单元OLMC)三部分主要电路构成。逻辑宏单元输入/输出口输入口时钟信号输入三态控制可编程与阵列固定或阵列2,3,4,5,6,7,8,9是专用输入引脚1,11,12,13,14,17,18,19各引脚可通过编程组态设为输入引脚12,13,14,17,18,19各引脚可通过编程组态设为输出引脚,15,16专用输出引脚GAL16V8的结构控制字nGAL和PAL不同之处是GAL的输出电路增加了输出逻辑宏单元OLMC。GAL的输出电路可编程。nGAL的结构控制字有5种,82位:nSYN:同步控制字1位,对8个宏单元是公共的;nAC0:结构控制字1位,对8个宏单元是公共的;nAC1(n):结构控制字8位,每个宏单元一个;nXOR(n):极性控制字8位,每个宏单元一个;nPTD:乘积项禁止控制字64位,每个与门一个。GAL16V8的OLMC的内部电路构成nOLMC的内部电路构成如图7-21所示。PTMUX称为乘积项多路开关OMUX称为输出多路开关。TSMUX称为三态多路开关FMUX称为反馈多路开关nAC0和AC1(n)对TSMUX的全部控制作用见表7-1。FMUX的全部控制功能如表7-2所示。GAL的工作模式和逻辑组态nGAL16V8、GAL20V8系列器件的OLMC有寄存器模式、复杂模式、简单模式三种工作模式。用户通过输出引脚定义方程确定OLMC的工作模式。输出引脚定义方程有A型、B型、C型三种。它们与工作模式的关系如表7-3所示。表表7-3 OLMC的工作模式同引脚定义方程的关系的工作模式同引脚定义方程的关系输出引脚输出引脚方程类型方程类型输出引脚输出引脚定义方程式定义方程式工作模式工作模式A型型B型型C型型引脚名:引脚名:=逻辑方程式逻辑方程式引脚名引脚名=逻辑方程式逻辑方程式引脚名引脚名.OE=逻辑方程式逻辑方程式引脚名引脚名=SYN=0AC0=1寄存器模式寄存器模式SYN=1AC0=1复杂模式复杂模式SYN=1AC0=0简单模式简单模式输出逻辑宏单元三种模式又分为七种逻辑组态,其隶属关系如表7-4所示。表表7-4 三种模式和七种组态的关系三种模式和七种组态的关系工作模式工作模式逻辑组态逻辑组态寄存器模式寄存器模式复杂模式复杂模式简单模式简单模式寄存器输出组态寄存器输出组态 组合输出组态组合输出组态有反馈组合输出有反馈组合输出 无反馈组合输出无反馈组合输出无无反反馈馈组组合合输输出出组组态态 本本级级输输出出邻邻级级输输入入组态组态 相邻输入组态相邻输入组态2.GAL的开发流程(开发步骤)n(1)建立用户源文件n用户源文件就是设计者书写的描述所要实现逻辑电路功能的软件程序的集合。其软件程序必须符合某一可编程逻辑设计语言的语法规范。现在广泛使用的有ABEL-HDL,VHDL,Verilog-VHDL等硬件描述语言。n(2)编译用户源文件n要想使建立起来的用户源文件变成要下载的数据文件(JEDEC),必须经过若干步的语言处理程序。如语法检查、逻辑化简、功能模拟、时间模拟等。经过专用软件处理后,证明用户建立的源文件正确无误,
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号