书签 分享 收藏 举报 版权申诉 / 114
上传文档赚钱

类型第7章可编程逻辑器件和现场-数字逻辑-课件.ppt

  • 上传人(卖家):晟晟文业
  • 文档编号:5105218
  • 上传时间:2023-02-11
  • 格式:PPT
  • 页数:114
  • 大小:1.11MB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《第7章可编程逻辑器件和现场-数字逻辑-课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    可编程 逻辑 器件 现场 数字 课件
    资源描述:

    1、第七章 可编程逻辑器件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特点是都具有可编程的与阵列、不可编程的或阵列、输出逻辑宏单元OL

    2、MC和输入输出逻辑单元IOC。n复 杂 可 编 程 逻 辑 器 件 C P L D:集 成 度 大 于PAL22V10或GAL22V10的PLD都可视为CPLD。nCPLD在集成度和结构上呈现的特点是具有更大的与阵列和或阵列,增加了大量的宏单元和布线资源,触发器的数量明显增加。高速的译码器、多位计数器、寄存器、时序状态机、网络适配器、总线控制器等较大规模的逻辑设计可选用CPLD来实现。因此,具有复杂算法的数字滤波器等数字信号处理单元的逻辑设计也可选用这些具有更高集成度CPLD来实现。根据芯片的集成度和结构复杂度分类n现场可编程逻辑门阵列 FPGA:现场可编程门阵列FPGA是集成度和结构复杂度最

    3、高的可编程ASIC。n运算器、乘法器、数字滤波器、二维卷积器等具有复杂算法的逻辑单元和信号处理单元的逻辑设计可选用FPGA实现。可编程ASIC的编程方式n可编程ASIC的编程方式有两种,一种是采用专用编程器进行编程,一种是在系统编程。n后者甩掉了专用编程器,而且也不用将芯片从电路系统取下,只利用计算机和一组下载电缆就可以在系统编程。nLattice和Xilinx等几家大公司现在都有在系统可编程ASIC产品。在系统编程方式方便了用户。可编程ASIC的一般开发步骤n设计输入(entry)n功能模拟(function simulation)n逻辑分割(partitioning)n布局和布线(plac

    4、e 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)表示实体连结,就是行线和列线在这个交叉点处实在连接,这个交叉点是不可编程

    5、点不可编程点,在交叉点处打上黑实点。不可编程点(b)表示可编程连接。无论或 表示该符号所在行线和列线交叉处是个可编程点可编程点,具有一个可编程单元。在采用熔丝工艺的PLD器件中,器件出厂后用户编程之前,所有可编程点处的熔丝都处于接通状态,习惯上都用表示熔丝接通,因此可编程点上处处都打或 。可编程点PLD器件被用户编程后,可编程点上的熔丝有的烧断,有的接通。编 程后可在编程点上仍打有,这时的表示可编程点被编程后熔丝接通。熔丝烧断的可编程点上的消失,行线和列线不相接,这种情况用图(c)表示。熔丝烧断点PLD中与阵列和或阵列的逻辑表示n与阵列如图(a)所示。n在二极管与门的各支路与输出之间接入熔丝。

    6、熔丝保留的各支路的输入为有效输入,输出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表示,它们是单输入、双输出的缓冲器单元,一个是高

    7、有效输出端,即同极性输出端。另一个是低有效输出端,即反极性输出端。n与曾经学过的输出三态缓冲器不同,虽然输出三态缓冲器也有三个端,但只有一个输入和一个输出端,另一个是使能控制端。图7-101.输入缓冲器和反馈缓冲器n原则上说,输出三态缓冲器有二个输入端一个输出端。注意二者之间的区别。n输入缓冲器和反馈缓冲器输出只有0、1两个逻辑状态。而输出三态缓冲器除了有0、1两个逻辑状态外,还有一个称为高阻(Z)的状态。图7-102.输出极性可编程的异或门n在PLD中为了实现输出极性可编程,常采用图(a)所示的异或门结构。PPQ10n当熔丝烧断,异或门输出极性为低有效,即 n否则异或门输出高有效Q0=P 0

    8、=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正常时(默认状态)不熔断,乘积项

    9、簇的信号传不到n号宏单元。n若编程后FUSE1熔断,乘积项簇信号可以传到n号宏单元。n如果FUSE2熔断,异或门反极性传输,否则异或门原极性传输,n号宏单元接收信号与乘积项簇信号同相。FUSE2为又一个可编程点。5.激励方式可编程的时序记忆单元的PLD表示n时序记忆单元有二种,即锁存器和触发器。n输出的状态只受输入激励信号控制的时序记忆单元是锁存器。n只有在时钟信号控制下才能得到受输入激励信号决定的相应输出状态的时序记忆单元是触发器。n二种时序记忆单元的根本区别是输出状态的变化是否取决于时钟信号的控制。5.激励方式可编程的时序记忆单元的PLD表示n由图7-14看出,通过编程,若线与行线断开,其

    10、输入为逻辑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个交叉点均画。因此,01BBAAZ6.PLD中与阵列的缺省表示02BBAAZ同理:Z2为Z1的缺省表示。这时的阵列

    11、交叉点上均未画,而在与门符号内却画有,。6.PLD中与阵列的缺省表示n输出为Z3的与门输入阵列交叉点上无,与门符号内也无,这是浮动状态的逻辑表示。浮动输入状态代表与阵列编程后熔丝全部熔断,4个输入全都不同与门相接,相当与门输入悬空,与门输出为高电平,即输出逻辑“1”7.双向输入/输出和反馈输入的逻辑表示n双向输入/输出和反馈输入结构是PLD结构的特点之一,乘积项Pn+1为三态输出缓冲器的使能端控制信号。n由于各阵列交叉点无一个,呈悬浮状态,n+1号与门输出为逻辑“1”。或阵列输出的Sm信号加在IOm引脚上,作为输出信号。同时,Sm信号又通过反馈缓冲器被反馈到与阵列。n这个输出带反馈的组态方式采

    12、用图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通用型GALl6V8的电路结构nGAL16

    13、V8的结构控制字nGAL16V8的OLMCnGAL的工作模式和逻辑组态nGAL16V8的行地址图nGAL16V8的编程GAL的基本阵列结构n图7-19给出GAL的基本结构框图。n由图7-19看出GAL是由可编程的与阵列、固定不可编程)的或阵列、可编程的输出逻辑宏单元OLMC)三部分主要电路构成。逻辑宏单元输入/输出口输入口时钟信号输入三态控制可编程与阵列固定或阵列2.GAL的开发流程(开发步骤)n(1)建立用户源文件n用户源文件就是设计者书写的描述所要实现逻辑电路功能的软件程序的集合。其软件程序必须符合某一可编程逻辑设计语言的语法规范。现在广泛使用的有ABEL-HDL,VHDL,Verilog

    14、-VHDL等硬件描述语言。n(2)编译用户源文件n要想使建立起来的用户源文件变成要下载的数据文件(JEDEC),必须经过若干步的语言处理程序。如语法检查、逻辑化简、功能模拟、时间模拟等。经过专用软件处理后,证明用户建立的源文件正确无误,最后将其转换成要下载的编程数据文件(JEDEC。把上述的一系列处理过程称为编译。3.器件编程n在专用的软件系统环境下,启动编程器,使计算机和编程器进行通信。将JEDEC数据文件下载到编程器上。n选择目标器件的制造厂家、型号进行器件匹配。n将GAL器件插入插座并锁紧。这一步必须注意芯片引脚序号与插座引脚号要对应。否则器件可能被毁坏。n下载编程。即将下载到编程器上的

    15、JEDEC数据文件写入到GAL芯片中。4.实际功能验证n将芯片从编程器取下,放到实验电路中或实际工作的系统中进行实际功能验证,如果功能正确,说明开发工作结束。如果功能验证不正确,则还要返回到第一步重新修改设计。ABEL硬件描述语言规则概要 n一、标识符与关键字n标识符n标识符用来标识器件、器件管脚或节点、集合、输入/输出信号、常量、宏及变量。n所有这些标识符都遵从同样的命名规则,具体规则如下:n标识符最多31个字符长,必须以字母或下划线打头。n除第一个字符外,标识符可由大小写字母、数字、波浪线()和下划线(_)组成。ABEL硬件描述语言规则概要 n标识符中不能使用空格,单词间分隔需用下划线。n

    16、标识符中不能使用句点,除非是一个合法的点后缀名。n标识符的命名不能与系统软件的关键字相同。n标识符可以用大写、小写或混合字体输入,但其意义与字体有关。n例如,以全部小写字母输入的标识符output与开头字母大写的Output就为不同的标号。ABEL硬件描述语言规则概要 n为了更具体地说明信号的性质,在标识符后面可以加点后缀。nABEL-HDL的合法点后缀n.FC 触发器模式控制n.CLK 边沿触发器的时钟输入n.CE 时钟门控触发器的时钟使能输入n.LE 锁存器的锁存使能输入(低电平有效)n.LH 锁存器的锁存使能输入(高电平有效)n.LD 寄存器加载输入ABEL硬件描述语言规则概要 n.PR

    17、 寄存器预置(同步或异步)n.RE 寄存器复位(同步或异步)n.SET 与器件无关的同步预置(等效于.SP加属性buffer)n.CLR 与器件无关的同步复位(等效于.SR加属性buffer)n.SP 同步寄存器预置n.SR 同步寄存器复位n.ASET 与器件无关的异步预置(等效于.AP加属性buffer)ABEL硬件描述语言规则概要 n.ACLR 与器件无关的异步复位(等效于.AR加属性buffer)n.AP 异步寄存器预置n.AR 异步寄存器复位n.OE 输出使能n.PIN 引脚反馈n.COM 触发器数据输入端(D端)的组合逻辑反馈信号n.FB 寄存器反馈(Q或!Q,与输出引脚同相)ABE

    18、L硬件描述语言规则概要 n.Q 寄存器反馈(Q瑞)n.D 在等式左边为D型触发器的数据输入在等式右边为组合逻辑反馈信号(送往D的信号)n.J JK触发器的J输入n.K JK触发器的K输入n.S SR蚀发器的S输入n.S SR触发器的R输入n.T T触发器的T输入ABEL硬件描述语言规则概要 n关键字n关键字是一种特殊的标识符,被ABEL视为保留字,不能用来给器件、管脚、节点、常量、集合、宏定义及信号命名在源文件中使用关键字时,仅表明这个关键字的作用。一旦关键字被用于错误场合,语言处理程序将标出错误。n硬件描述语言中的关键字不区分大小写,可以用大写、小写或混合字体输入。ABEL硬件描述语言规则概

    19、要 n表2-3按字母顺序列出ABEL,HDL的关键字。nAsync_reset 异步复位状态描述语句nCase-Endcase 条件选择语句nDeclarations 定义段关键字nDevice 器件定义语句*nEnd 结束语句*nEquations 逻辑方程关键字*nFunctional_block 功能模块定义语句ABEL硬件描述语言规则概要 nFuses 熔丝状态定义语句nGoto 无条件转移语句nIf-Then-Else 条件转移语句(只能用在状态图中)nInterface 功能模块接口定义语句nIstype 属性定义语句nLibrary 库引用语句nMacro 宏定义语句nModul

    20、e 模块语句nNode 节点定义语句ABEL硬件描述语言规则概要 nOptions 控制选项定义语句nPin 引脚定义语句*nProperty 特征定义语句nState 状态描述语句nState_diagram 状态图关键字nState_register 状态寄存器说明语句nSync_reset 同步复位状态描述语句nTest_vectors 测试向量*nTitle 标题语句*ABEL硬件描述语言规则概要 nTruth_table 真值表表头关键字*nWhen-Then-Else 条件转移语句(只能用在方程中)nWith-Endwith 转移方程语句ABEL硬件描述语言规则概要 n二、常量与数

    21、值n常量、定值可用于ABEL-HDL 的逻辑设计。常量值可用在赋值语句、真值表与测试向量中,有时还可赋给标识符以表示该标识符在整个模块中都有定值。常量值可为数值或非数值型特殊常量。n在ABEL-HDL中的特殊常量如表2-4所示,输入时必须在字母两边加圆点以表示其为特殊常量,否则特殊常量.C.将被认为是标识符名C。特殊常量可用大写或小写字母。ABEL硬件描述语言规则概要 nABEL-HDL中所有数值运算的精度都是128位,因此,有效数值范围是02128-1。数值可用五种形式中的任一种表示,其中四种是用不同的数制来表示数值,第五种是用字母符号表示数值。ABEL硬件描述语言规则概要 n.C.时钟输入

    22、电平(按低一高一低变化)n.K.时钟输入电平(按高一低一高变化)n.U.时钟上升沿(电平按低一高变化)n.D.时钟下降沿(电平按高一低变化)n.F.浮动输入或输出信号n.P.寄存器预装载n.SVn.n,2-9,驱动输入到超级电平2-9n.X.任意态n.Z.高阻态ABEL硬件描述语言规则概要 n当选用四种数制中的一种非默认数制来表示数据时,须在该数据前标明所用数制的符号。n表2-5列出了ABEL-HDL支持的四种数制及它们相应的符号,数制符号可用大写或小写输入。ABEL硬件描述语言规则概要 表2-5 ABEL-HDL中数值的不同进制表示数制名基数数制符号二进制2B八进制8O十进制10D十六进制1

    23、6HABEL硬件描述语言规则概要 n若一个指定的数据前没有数制符号,则认为它使用默认数制。n正常的默认数制为十进制。数也可用一个或多个字母符号来表示。n这种情况下,这个字母的ASCII的值即为它表示的数值。n例如,字符a的ASCII码是十进制数97,因此用a表示一个数时,即相当于十进制数97。ABEL硬件描述语言规则概要 n三、字符串和注释n字符串是用单引号(撇号)括起的一串ASCII码字符。字符串用于模块语句、标题语句、控制选项语句和引脚、节点、属性的定义中。n若要在字符串中使用单引号,要在它前面加一个反斜线”。n注释是使源文件易读的另一种方式。它常被用来说明源文件本身不易理解之处,注释不影

    24、响源文件的内容。ABEL硬件描述语言规则概要 n可以有两种方式插入注释:n注释以双引号()开始,以另一双引号或行结束标志结束。n注释以双斜线(/)开始,以行结束标志结束。ABEL硬件描述语言规则概要 n四、运算符、表达式和方程nABEL-HDL表达式中可包含常量、信号名等对象。表达式将这些对象进行组合、比较或进行运算,以产生输出信号。这些运算(如加法、逻辑与)在表达式中用运算符来表示。nABEL-HDL的运算符可分为四种基本类型:逻辑运算符、算术运算符、关系运算符与赋值运算符。逻辑运算符 n逻辑运算符用于布尔方程。nABEL-HDL使用的是许多逻辑设计均采用的标准逻辑运算符,它们列在表2-6中

    25、。多位逻辑运算是逐位进行的 逻辑运算符 表2-6 ABEL-HDL中的逻辑运算符运算符说明!非&与#或$异或!$异或非算术运算符 n在ABEL-HDL语言中算术运算符定义了表达式中两个对象之间的算术关系。n移位运算符也属于算术运算符,因为左移一位就相当于乘以2,右移一位就相当于除以2。n表2-7列出了算术运算符。算术运算符 运算符举例说 明 A对2求补码(负数)AB减法+A+B加法*A*B乘法/A/B无符号整数除法%A%B取模:A/B的余数AABA右移B位算术运算符 n注意:减号的用法不同时意义也不同。n当它用在一个运算数前时,表示对这个运算数取二进制补玛,当用于两个运算数之间时,表示将第三个

    26、运算数的二进制补码与第一个运算数相加。n除法是无符号整数除法;n余数可以通过取模得到。n移位运算是逻辑无符号移位。移位运算中用零来补缺位。关系运算符n关系运算符用来比较表达式中的两项。n由关系运算符构成的表达式,输出一个布尔真值或假值。n表2-8列出这些关系运算符。关系运算符运算符说 明=等 于!=不等于小于大于=大于或等于关系运算符n所有关系运算都是无符号运算。n例如,表达式!04为真,因为0的二进制反码是1111,即无符号二进制数15,而15是大于4的。n本例中假定数的精度为4位二进制,实际上ABEL-HDL使用的为128位二进制数,因此0的二进制反码应是128位均为l的二进制数。关系运算

    27、符n逻辑真或假,在ABEL-HDL内部用数值来表示。逻辑真表示为-l,取二进制补码后,相当于128住都为l的数。逻辑假为0,相当于128住都为0的数。这就是说,一个结果取真或假的关系表达式可用在任何能使用数字或数字表达式的地方,其取值是-l或0。n使用关系运算符时,要考虑运算符的优先级关系,用括号可以改变表达式的运算顺序。赋值运算符 n赋值运算符是一类用于布尔方程的特殊运算符,将表达式的值赋予输出。n有四种赋值运算符(两种组合型和两种寄存器型)。n组合型赋值在表达式求值后立即赋予输出,没有延时。n而寄存器赋值要等与输出有关的时钟脉冲到来后,才进行赋值。n表2-9列出了赋值运算符。赋值运算符 运

    28、算符说 明=组合型赋值(确定态):=寄存器型赋值(确定态)?=组合型赋值(任意态)?:=寄存器型赋值(任意态)赋值运算符 n注意:赋值运算符:=和?:=只能用在引脚到引脚的寄存器方程中。n在使用详细点后缀的寄存器方程中要使用赋值运算符=和?=。运算符的运算优先级n表达式由标识符和运算符组成,求值后得出一个结果。n所有的逻辑运算符,算术运算符和关系运算符都可用于表达式中。n表达式按所包含的运算符进行运算,每个运算符都有相应的优先级,优先级最高为1,最低为4。n表2-10按优先级次序列出了逻辑、算术、关系运算符。运算符的运算优先级优先级运算符说 明1取二进制补码(负数)1!非2&与2右移2*乘法2

    29、/无符号整数除法2%取模3+加法3减法3#或3$异或3!$异或非4=等于4!=不等于4小于4大于4=大于或等于运算符的运算优先级n若同一表达式中有优先级相同的运算符,则按从左到右的顺序进行运算,圆括号可改变运算次序,圆括号内运算优先进行。五、集合运算n在表达式和方程中可以便用集合。n集合是一组可作为整体进行运算的信号和常量,用方括号括起的一列常量和信号来表示,常量或信号间须用逗号或排列运算符(.)隔开。n排列运算符两边标识符的名字必须一致,即它们的字母前缀相同,后缀都为数字。n例如 SET1=A7.A0n表示定义一个具有8个元素(A7,A6,A5,A4,A3,A2,Al,A0)的集合,其集合名

    30、为SET1。五、集合运算n任何对集合的运算其实是对集合中的每个元素进行。n集合将一组信号用一个名字来表示,从而简化了ABEL-HDL逻辑设计和测试向量的描述。nABEL-HDL允许利用集合的序号访问集合中的元素。n比如在上述例子中,SET13表示集合SET1中的第三个元素,即A4。五、集合运算n注意,序号0是集合中最左面的元素(与元素的排列顺序有关,而不是与元素的后缀或下标有关)。n绝大多数运算符可对集合进行运算。n表2-11列出了可用于集合的运算符 五、集合运算表2-11 ABEL-HDL支持的集合运算运算符举例说 明=A=5组合型赋值:=A:=1,0,1寄存型赋值!A取二进制反码&A&B与

    31、#A#B或五、集合运算$A$B异或!$A!$B同或 A取二进制补码AB减法+A+B加法=A=B等于!=A!=B不等于AB小于=AAB大于=A=B大于或等于五、集合运算n集合按照布尔代数规则进行运算。n通常这种运算是对集合中的每个元素进行的,所以对两个以上集合进行运算,集合中的元素个数必须相等。n表达式“a,b+c,d,e”是非法的,因为两个集合中的元素个数不等。五、集合运算n表2-12给出集合的运算规则。n表中大写字母表示集合名称,小写字母表示集合中的元素。n字母k和n为元素和集合的下标。集合的下标指出该集合含有多少元素,所以Ak指出集合A包含k个元素,a1表示集合A的第一个元素,ak-1表示

    32、集合A的第k-l个元素。五、集合运算表达式赋值!Ak!ak,!ak-1,.!a1Ak!Ak+1Ak&Bkak&bk,ak-1&bk-1,.a1&b1Ak#Bkak#bk,ak-1#bk-1,.a1#b1Ak$Bkak$bk,ak-1$bk-1,.a1$b1Ak!$Bkak!$bk,ak-1!$bk-1,.a1!$b1Ak+BkDk,其中dn=an$bn$cn-1,cn=(an$bn)#(an&cn-1)#(bn&cn-1)c0=0Ak BkAk+(-Bk)Ak=Bk(ak=bk)&(ak-1=bk-1)&.&(a1=b1)Ak!=Bk(ak!=bk)#(ak-1!=bk-1)#.#(a1!=b

    33、1)Ak,=,=)的结果为一个数值:TRUE(全1)或FALSE(全0),且该数值的位数根据需要来截取。n其长度由关系运算符所处场合的上下关系决定,不取变量的长度。五、集合运算n任何形式表示的数值及数值集合,都可用于集合赋值或集合比较。只是用于集合赋值或比较的数要转换成二进制形式,并遵从下列规则:n如果该二进制数的有效位数多于集合中元素的个数,则要从左边截去多余的位。n如果该二进制数的有效位数少于集合中元素的个数,则要从左边用0补齐少的位。五、集合运算n如下面几个方程:nselect=al5.a0=H80FF;n表示当十六位地址线的地址为十六进制80FF时,信号select为TRUE。关系运算

    34、的结果始终只有l位。nout3.out0=in3.in0&enable;n表示如果enable信号为真,则输出out0至out3取对应输入in0至in3的值。若enable为FALSE,则输出全为FALSE。五、集合运算n下面以&运算符为例说明在不同场合下表示的不同作用。nSIGNAL&SIGNAL,例如:a&b。这是最常见的用法,表示如果两个信号都为真则表达式为真。nSIGNAL&NUMBER,例如:a&4。这里需先将4转换为二进制数,并且只用它的最低有效位,因此该表达式相当于a&0,其结果始终为0即假。nSIGNAL&SET,例如a&x,y,z。相当于信号与集合中的每个元素相作用,等价为:

    35、a&x,a&y,a&z。五、集合运算nSET&SET,例如:a,b&x,y。集合间的与运算将按位进行,这里就为a&x,b&y。这种场合下,如果集合长度不等,就会给出错误显示。nSET&NUMBER,例如:a,b,c&5。首先要将数转换为二进制数,并按集合的长度对该二进制数截取或填零以便两者长度相等,然后再做运算。n这里的转换过程为:na,b,c&1,0,1=a&l,b&0,c&l=a,0,c。五、集合运算nNJMBER&NUMBER,例如,9&5。n这种情况下也是先将数转换为二进制,但只使用其最低位运算,因此本例相当于1&1,结果始终为l。GAL的应用举例n用GAL实现基本逻辑门的设计 n用G

    36、AL实现组合及时序混合的逻辑电路n用GAL实现5位二进制计数器和N位任意进制计数器设计用GAL实现基本逻辑门的设计 n设计说明及构思n图7-19给出了用一片GAL16V8实现基本逻辑门的要求。n由图7-19看出所要实现的电路是简单的组合逻辑电路,选择GAL16V8的简单模式就可以实现。n选定模式后要画出引脚配置图,由图可见全部电路共有12个输入端,6个输出端。7-19用GAL实现基本逻辑门的设计 n设计说明及构思n其中8个输入信号安排在2,3,4,5,6,7,8,9专用输入引脚上,1号和11号引脚也安排2个输入信号。n剩下2个输入信号安排在12和19号引脚。7-19用GAL实现基本逻辑门的设计

    37、 n设计说明及构思n6个门电路的输出信号安排在这6个宏单元的相应输出引脚上。nGAL是通用逻辑阵列器件,根据不同应用场合,ABEL语言为其提供了三个器件文件,本例中使用的是无反馈的组合电路,所以在源文件中器件名P16V8S。7-19用GAL实现基本逻辑门的设计 n设计方法n基本逻辑门使简单组合电路,用布尔方程描述其功能很方便,采用布尔方程表示。7-19用GAL实现基本逻辑门的设计 n测试向量n源文件中我们写了两个相互独立的测试向量段来分别表示六个基本逻辑门的逻辑关系,每个逻辑门又分别设置了典型的测试向量,并且把各个逻辑门都分割开来,这样使仿真输出结果更易读,有了问题也更便于解决。n为了阅读方便

    38、我们还加了注释语句。7-197-19建立用户源文件建立用户源文件q符合符合ABEL-HDL语语言规范且能实现图言规范且能实现图7-19给出的基本逻辑门给出的基本逻辑门设计的用户源文件如设计的用户源文件如下:下:7-19非门非门INV二输入与门二输入与门AND2二输入或门二输入或门OR2二输入或非门二输入或非门NOR2二输入异或非门二输入异或非门NXOR2三输入与非门三输入与非门NAND3“测试非门、与门、或门Test vectorTest vector用GAL实现组合及时序混合的逻辑电路n设计说明及构思n组合和时序混合的逻辑电路如图7-20所示。由图7-20看出,组合电路部分包括二个电路:其中

    39、一个是实现X=AS+B S的复合逻辑门,另一个是三态门。时序电路部分包括一个D触发器和一个由2个D触发器构成的四进制计数器。说明n用GAL器件实现该电路,要用GAL的寄存器组合输出组态。n在进行设计时有二点必须注意:其一所实现的电路包括D触发器和四进制计数器,11号引脚只能做这个时序电路的使能控制端。n在建立用户源文件时,11号引脚要给予引脚定义,不必写出OE的方程式。说明n测试向量包括OE。测试或使用时将11号引脚接地就可保证时序电路使能。其二所实现的电路还包括三态门,三态门使能端E要用独立的乘积项进行控制。在设计用户源文件时,要书写有关E的专用方程式,测试向量也应包括使能信号E。n将上面的

    40、名为example2的用户源文件编译后会得到相应的name.JED下载编程数据文件。n对GAL16V8下载后完成设计。这个组合和时序混合的逻辑电路在GAL16V8中的等效电路如图7-21所示。n其中四进制计数器的真值表如表7-4所示。图图7-217-4例题n用一片GAL16V8实现图10所示的4个逻辑电路。要求写出1个符合ABEL语言规范的用户源文件。GAL16V8的引脚图如图所示。F1AiBiCiSiCi+1FADQQFF1DQQFF2CPQ1Q2=1ABC&EDF2=1图10例题n如图所示逻辑图的逻辑方程式为:F1AiBiCiSiCi+1FADQQFF1DQQFF2CPQ1Q2=1ABC&

    41、EDF2=1图10iiiiCBASiiiiiiiiiiiiiCBACBACBACBAC1ABCF 1EDF2nnQQ111nnnQQQ2112ABEL语言的源文件如下:nmodule complexntitlenexam device p16v8rnCP,OE pin 1,11nAi,Bi,Ci,A,B,C pin 2,3,4,5,6,7nD,E pin 8,9nSi,Ci+1,F1,F2,Q1,Q2 pin 12,13,14,15,16,18 nequationnSi=Ai$Bi$CinCi+1=!Ai&Bi&Ci#Ai&!Bi&Ci#Ai&Bi&!Ci#Ai&Bi&CinF1=!A&B&CnF2=D$EnQ1:=!Q1nQ2:=!Q1$Q2nEnd complex

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:第7章可编程逻辑器件和现场-数字逻辑-课件.ppt
    链接地址:https://www.163wenku.com/p-5105218.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库