您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 电子设计/PCB > 第7章可编程逻辑器件
第七章可编程逻辑器件7.1概述7.2可编程逻辑器件基础PLD逻辑表示法逻辑阵列的PLD表示法应用举例7.3通用阵列逻辑GAL7.1概述PLD出现的背景电路集成度不断提高SSIMSILSIVLSI计算机技术的发展使EDA技术得到广泛应用设计方法的发展自下而上自上而下用户需要设计自己需要的专用电路专用集成电路(ASIC-ApplicationSpecificIntegratedCircuits)开发周期长,投入大,风险大可编程器件PLD:开发周期短,投入小,风险小7.1概述PLD器件的优点集成度高,可以替代多至几千块通用IC芯片极大减小电路的面积,降低功耗,提高可靠性具有完善先进的开发工具提供语言、图形等设计方法,十分灵活通过仿真工具来验证设计的正确性可以反复地擦除、编程,方便设计的修改和升级灵活地定义管脚功能,减轻设计工作量,缩短系统开发时间,保密性好7.1概述PLD的发展趋势向高集成度、高速度方向进一步发展最高集成度已达到400万门向低电压和低功耗方向发展5V3.3V2.5V1.8V更低内嵌多种功能模块RAM,ROM,FIFO,DSP,CPU向数、模混合可编程方向发展7.1概述大的PLD生产厂家www.altera.com最大的PLD供应商之一www.xilinx.comFPGA的发明者,最大的PLD供应商之一www.latticesemi.comISP技术的发明者www.actel.com提供军品及宇航级产品7.1概述可编程专用集成电路ASIC(ApplicationSpecificIntegratedCircuit)是面向用户特定用途或特定功能的大规模、超大规模集成电路。分类:按功能分为数字的、模拟的、数字和模拟混和三种。按制造方式分为全定制、半定制ASIC、可编程三种。PLD器件的分类--按集成度可编程逻辑器件(ProgrammableLogicDevice)为通用器件,分为低密度PROM,EPROM,EEPROM,PAL,PLA,GAL只能完成较小规模的逻辑电路高密度,已经有超过400万门的器件EPLD,CPLD,FPGA可用于设计大规模的数字系统集成度高,甚至可以做到SOC(SystemOnaChip)PLD器件的分类--按结构特点基于与或阵列结构的器件--阵列型PROM,EEPROM,PAL,GAL,CPLDCPLD的代表芯片如:Altera的MAX系列基于门阵列结构的器件--单元型现场可编程逻辑门阵列FPGA:是集成度和结构复杂度最高的可编程ASIC。运算器、乘法器、数字滤波器、二维卷积器等具有复杂算法的逻辑单元和信号处理单元的逻辑设计可选用FPGA实现。按制造技术和编程方式进行分类熔丝或反熔丝编程器件--Actel的FPGA器件体积小,集成度高,速度高,易加密,抗干扰,耐高温只能一次编程,在设计初期阶段不灵活SRAM--大多数公司的FPGA器件可反复编程,实现系统功能的动态重构每次上电需重新下载,实际应用时需外挂EEPROM用于保存程序EEPROM--大多数CPLD器件可反复编程不用每次上电重新下载,但相对速度慢,功耗较大可编程ASIC的编程方式可编程ASIC的编程方式有两种:采用专用编程器进行编程在系统编程甩掉了专用编程器,而且也不用将芯片从电路系统取下,只利用计算机和一组下载电缆就可以在系统编程。Lattice和Xilinx等几家大公司现在都有在系统可编程ASIC产品。在系统编程方式方便了用户。可编程ASIC的一般开发步骤设计输入(entry)功能模拟(functionsimulation)逻辑分割(partitioning)布局和布线(placeandrouting)时间模拟(timingsimulation)写入下载数据(download)ASIC开发步骤流程图状态机输入逻辑图输入波形输入HDL输入设计输入功能模拟逻辑分割时间模拟编程下载设计输入布局布线器件验证YNNY图7-1ASIC开发步骤流程图TOP—DOWN设计思想自顶向下(TOP—DOWN)设计首先是从系统级开始入手。把系统分成若干基本单元模块,然后再把作为基本单元的这些模块分成下一层的子模块。顶层模块模块A模块B模块C模块A1模块A2模块B1模块B2模块C1模块C2模块C3图7-2top-down设计图TOP—DOWN设计思想采用TOP—DOWN层次结构化设计方法,设计者可在一个硬件系统的不同层次的模块下进行设计。总体设计师可以在上层模块级别上对其下层模块设计者所做的设计进行行为级模拟验证。在TOP—DOWN的设计过程中,划分每一个层次模块时要对目标模块做优化,在实现模块时要进行模拟仿真。虽然TOP—DOWN的设计过程是理想的,但它的缺点是得到的最小可实现的物理单元不标准,成本可能较高。BOTTOM—UP设计思想BOTTOM—UP层次结构化设计是TOP—DOWN设计的逆过程。它虽然也是从系统级开始的,即从图7-2中设计树的树根开始,但在层次模块划分时,首先考虑的是实现模块的基本物理单元是否存在,划分过程必须是从存在的基本单元出发。BOTTOM—UP设计思想设计树最末枝上的单元要么是已经制造出的单元,要么是已经开发成功的单元,或者是可以买得到的单元。自底向上(BOTTOM—UP)的设计过程采用的全是标准单元,通常比较经济。但完全采用自底向上的设计有时不能完全达到指定的设计目标要求。BOTTOM—UP设计思想用可编程ASIC实现一个好的电子系统设计通常采用TOP—DOWN和BOTTOM—UP两种方法的结合,充分考虑设计过程中多个指标的平衡。7.2可编程逻辑器件基础⒈PLD的逻辑表示⑴PLD中阵列及其阵列交叉点的逻辑表示⑵PLD中基本逻辑单元的PLD表示⒉逻辑阵列的PLD表示法应用举例⒈PLD的逻辑表示⑴PLD中阵列及其阵列交叉点的逻辑表示①PLD中阵列交叉点的逻辑表示②PLD中与阵列和或阵列的逻辑表示①PLD中阵列交叉点的逻辑表示PLD逻辑阵列中交叉点的连接方式采用图7-7所示的几种逻辑表示。(a)(b)(c)(a)表示实体连结,就是行线和列线在这个交叉点处实在连接,这个交叉点是不可编程点,在交叉点处打上实心点。①PLD中阵列交叉点的逻辑表示PLD逻辑阵列中交叉点的连接方式采用图7-7所示的几种逻辑表示。(a)(b)(c)(b)表示可编程连接。无论×或表示该符号所在行线和列线交叉处是可编程点,具有一个可编程单元。①PLD中阵列交叉点的逻辑表示PLD逻辑阵列中交叉点的连接方式采用图7-7所示的几种逻辑表示。(a)(b)(c)在采用熔丝工艺的PLD器件中,器件出厂后用户编程之前,所有可编程点处的熔丝都处于接通状态,习惯上都用×表示熔丝接通,因此可编程点上处处都打×或。①PLD中阵列交叉点的逻辑表示PLD逻辑阵列中交叉点的连接方式采用图7-7所示的几种逻辑表示。(a)(b)(c)PLD器件被用户编程后,可编程点上的熔丝有的烧断,有的接通。编程后可在编程点上仍打有×,这时的×表示可编程点被编程后熔丝接通。①PLD中阵列交叉点的逻辑表示PLD逻辑阵列中交叉点的连接方式采用图7-7所示的几种逻辑表示。(a)(b)(c)熔丝烧断的可编程点上的×消失,行线和列线不相接,这种情况用图(c)表示。②PLD中与阵列和或阵列的逻辑表示与阵列如图(a)所示。熔丝+VCCRF(A,B,C)(a)AABBCC在二极管与门的各支路与输出之间接入熔丝。熔丝保留的各支路的输入为有效输入,输出F是熔丝保留各支路输入的与逻辑函数。图(b)是PLD表示。A(b)F(A,B,C)=0CCABB图(a)和图(b)是熔丝全部保留的与阵列表示情况。F(A,B,C)=0。②PLD中与阵列和或阵列的逻辑表示图(c)是烧断3个熔丝的情况,图(d)是图(c)的PLD表示。熔丝+VCCR(c)AABBCCF(A,B,C)=ABCAABBCC(d)F(A,B,C)=ABC②PLD中与阵列和或阵列的逻辑表示可编程或阵列,其构成原理与可编程的与阵列相同。p1Rp2p3f(p1,p2,p3)=p1+p2+p3(a)f(p1,p2,p3)=p1+p2+p3(b)p1p2p3②PLD中与阵列和或阵列的逻辑表示图(c)是烧断1个熔丝的情况,图(d)是图(c)的PLD表示。p1Rp2p3f(p1,p2,p3)=p1+p3(c)f(p1,p2,p3)=p1+p3(d)p1p2p3⒈PLD的逻辑表示⑵PLD中基本逻辑单元的PLD表示①输入缓冲器和反馈缓冲器②输出极性可编程的异或门③地址选择可编程的数据选择器④可编程数据分配器的逻辑表示⑤激励方式可编程的时序记忆单元的PLD表示⑥PLD中与阵列的缺省表示⑦双向输入/输出和反馈输入的逻辑表示①输入缓冲器和反馈缓冲器在PLD中有二种特殊的缓冲器,它们是输入缓冲器和反馈缓冲器,这二种缓冲器有相同的电路构成,图7-10给出它们的PLD表示,它们是单输入、双输出的缓冲器单元,一个是高有效输出端,即同极性输出端。另一个是低有效输出端,即反极性输出端。AAA①输入缓冲器和反馈缓冲器与曾经学过的输出三态缓冲器不同,注意二者之间的区别。输入缓冲器和反馈缓冲器输出只有0、1两个逻辑状态。而输出三态缓冲器除了有0、1两个逻辑状态外,还有一个称为高阻(Z)的状态。AAA②输出极性可编程的异或门在PLD中为了实现输出极性可编程,常采用图(a)所示的异或门结构。PPQ10当熔丝烧断,异或门输出极性为低有效,即否则异或门输出高有效Q0=P⊕0=P。Q0PRVDD熔丝Q0P(a)②输出极性可编程的异或门图(b)是编程后熔丝保留,输出极性编程为高有效。图(c)是编程熔丝烧断,输出极性编程为低有效。PQ0=P+1=P(c)Q0=P+0=PP(b)③地址选择可编程的数据选择器地址选择可编程的数据选择器如图7-12所示。MUXMUX(b)(a)MUXMUX图7-12地址选择可编程数据选择器PLD表示地址选择端编程后,若列线与行线相接且接地,其输入为逻辑0。否则,列线与行线断开其输入为逻辑1。二选一数据选择器四选一数据选择器根据编程情况,地址选择端的输入有00,01,10,11四种情况。⑤激励方式可编程的时序记忆单元的PLD表示时序记忆单元有二种,即锁存器和触发器。输出的状态只受输入激励信号控制的时序记忆单元是锁存器。只有在时钟信号控制下才能得到受输入激励信号决定的相应输出状态的时序记忆单元是触发器。二种时序记忆单元的根本区别是输出状态的变化是否取决于时钟信号的控制。⑤激励方式可编程的时序记忆单元的PLD表示图7-14是激励方式可编程的时序记忆单元的PLD表示。DQCLKR/LReset通过编程,使R/L端为0,Q端的输出状态只与激励信号有关并受D决定,图所示电路为D锁存器。通过编程,若使R/L端为1,电路只有在时钟脉冲信号CLK的驱动下,Q端的状态变化受D端的激励信号决定,该电路具有D触发器功能。⑥PLD中与阵列的缺省表示在PLD器件与阵列中常看到图7-15中给出的几种表示。输出为Z1的与门4个输入变量全部被编程后输入,4个交叉点均画×。因此,01BBAAZZ1=0Z3=1ABZ2=0图7-15PLD中与阵列的默认表示⑥PLD中与阵列的缺省表示02BBAAZ同理:Z2为Z1的缺省表示。这时的阵列交叉点上均未画×,而在与门符号内却画有×,。Z1=0Z3=1ABZ2=0图7-15PLD中与阵列的默认表示⑥PLD中与阵列的缺省表示输出为Z3的与门输入阵列交叉点上无×,与门符号内也无×,这是浮动状态的逻辑表示。浮动输入状态代表与阵列编程后熔丝全部熔断,4个输入全都不同与门相接,相当与门输入悬空,与门输出为高电平,即输出逻辑“1”Z1=0Z3=1ABZ2=0图7-15PLD中与阵列的默认表示⑦双向输入/输出和反馈输入的逻辑表示双向输入/输出和反馈输入结构是PLD结构的特点之一,乘积项Pn+1为三态输出缓冲器
本文标题:第7章可编程逻辑器件
链接地址:https://www.777doc.com/doc-51249 .html