您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 数字电子技术第三章1
第三章组合逻辑电路第一节组合电路的分析和设计第二节组合逻辑电路中的竞争与冒险第三节超高速集成电路硬件描述语言VHDL第四节组合逻辑电路模块及其应用小结相关知识回顾:逻辑运算逻辑门与或非异或同或非门与门或门与非门或非门异或门同或门本章任务:1.组合逻辑电路的分析与设计2.常用组合逻辑模块的使用由逻辑门组成第三章组合逻辑电路(2)学习常用中规模集成模块(3)了解电路中的竞争和冒险现象本章重点(1)掌握分析和设计组合电路的基本方法加法器比较器译码器编码器选择器分配器本章基本内容(1)电路分析与设计经典的方法(2)常用组合逻辑模块的灵活应用组合电路的分析组合电路的设计第一节组合电路的分析和设计组合电路一、组合电路输入:逻辑关系:Fi=fi(X1、X2、…、Xn)i=(1、2、…、m)特点:电路由逻辑门构成;不含记忆元件;输出无反馈到输入的回路;输出与电路原来状态无关。输出:X1、X2、…、XnF1、F2、…、FmX1X2Xn…组合网络组合电路方框图F1F2Fm…二、组合电路的分析分析已知逻辑电路功能步骤:输出函数表达式描述电路功能已知组合电路简化函数真值表ABCF00000010010001111000101111011111真值表因此该电路为少数服从多数电路,称表决电路。解:(1)由电路图得逻辑表达式(2)由逻辑表达式得真值表ACBCABACBCABF++==••(3)功能分析:多数输入变量为1,输出F为1;多数输入变量为0,输出F为0。例1:试分析右图所示逻辑电路的功能。&&&&ABCF解:(1)由电路图得表达式⊕=⊕=⊕==01012123233BBGBBGBBGBG(2)列出真值表例2:试分析下图所示逻辑电路的功能。=1G2B2=1G1B1=1G0B0G3B3自然二进制码格雷码B3B2B1B0G3G2G1G000000000000100010010001100110010010001100101011101100101011101001000110010011101101011111011111011001010110110111110100111111000(2)列出真值表(1)由电路图得表达式本电路是自然二进制码至格雷码的转换电路。(3)分析功能⊕=⊕=⊕==01012123233BBGBBGBBGBG注意:利用此式时对码位序号大于(n-1)的位应按0处理,如本例码位的最大序号i=3,故B4应为0,才能得到正确的结果。推广到一般,将n位自然二进制码转换成n位格雷码:Gi=Bi⊕Bi+1(i=0、1、2、…、n-1)⊕=⊕=⊕==01012123233BBGBBGBBGBG自然二进制码至格雷码的转换三、组合电路的设计步骤:根据要求设计出实际逻辑电路形式变换根据设计所用芯片要求选择所需门电路根据设计要求分析题意,将设计要求转化为逻辑关系,这一步为设计组合逻辑电路的关键确定输入、输出、列出真值表写出表达式并简化画逻辑电路图例3:半加器的设计(1)半加器真值表(2)输出函数(3)逻辑图输入输出被加数A加数B和S进位C0000011010101101ABCBABABAS=⊕=+=(4)逻辑符号&ABC=1S∑COSCAB半加器逻辑符号由表达式知,若无特别要求,用一个异或门和一个与门即可实现半加器电路。电路图为:分析:半加器是将两个一位二进制数相加求和及向高位进位的电路。因此,有两个输入(加数与被加数)及两个输出(和与进位)。设被加数和加数分别为A和B,和与进位分别为S、C,真值表为:ABCABBABAS==ABCBABABAS=⊕=+=将用“异或”门实现的半加器改为用“与非”门实现函数表达式变换形式:用“与非”门实现半加器逻辑图如图所示:&ABC&S&&&全加器是实现例4:全加器的设计。学生自己完成逻辑电路全加器逻辑符号全加器真值表输入输出AiBiCiSiCi+10000000110010100110110010101011100111111一位二进制数一位二进制数低位来的进位相加和高位进位∑COSiCi+1CiBiCIAi例5:试将8421BCD码转换成余三BCD码。8421码余三码B3B2B1B0E3E2E1E0000000011100010100200100101300110110401000111501011000601101001701111010810001011910011100101010☓☓☓☓111011☓☓☓☓121100☓☓☓☓131101☓☓☓☓141110☓☓☓☓151111☓☓☓☓(2)卡诺图(1)真值表B3B2B1B000011110000111100011☓☓1☓01☓☓00☓1E3B3B2B1B000011110000111100000☓☓0☓11☓☓11☓1E0B3B2B1B000011110000111100101☓☓0☓00☓☓11☓1E1B3B2B1B000011110000111101100☓☓1☓10☓☓01☓0E2000101101212022120233BEBBBBEBBBBBBBEBBBBBE=+=++=++=(3)表达式(2)卡诺图B3B2B1B000011110000111100011☓☓1☓01☓☓00☓1E3B3B2B1B000011110000111100000☓☓0☓11☓☓11☓1E0B3B2B1B000011110000111100101☓☓0☓00☓☓11☓1E1B3B2B1B000011110000111101100☓☓1☓10☓☓01☓0E2000101101212022120233BEBBBBEBBBBBBBEBBBBBE=+=++=++=(4)电路图(3)表达式8421BCD码B3B2B1B08421BCD码转换成余3BCD码的逻辑电路余3码E1E0E2E3&&111&&&&&1&&&≥1AFf1f2&&B&CC(a)逻辑图(b)波形图ABCCttttttttpgtpdf1f2F第二节组合电路中的竞争与冒险一、冒险与竞争竞争:冒险:在组合电路中,信号经由不同的途径达到某一会合点的时间有先有后。由于竞争而引起电路输出发生瞬间错误现象。表现为输出端出现了原设计中没有的窄脉冲,常称其为毛刺。二、竞争与冒险的判断代数法:或的形式时,A变量的变化可能引起险象。卡诺图法:如函数卡诺图上为简化作的圈相切,且相切处又无其他圈包含,则可能有险象。如图所示电路的卡诺图两圈相切,故有险象。≥1AFf1f2&&B&CCABC000111100100111100两圈相切有险象三、冒险现象的消除1.增加冗余项如图所示卡诺图,只要在两圈相切处增加一个圈(冗余),就能消除冒险。增加冗余项可以解决每次只有单个输入信号发生变化时电路的冒险问题,却不能解决多个输入信号同时发生变化时的冒险现象,适用范围有限。ABC000111100100111100增加冗余圈克服险象ABC000111100100111100两圈相切有险象三、冒险现象的消除2.增加选通信号在可能产生冒险的门电路的输入端增加一个选通脉冲。当输入信号变换完成,进入稳态后,才启动选通脉冲,将门打开。这样,输出就不会出现冒险脉冲。1.增加冗余项增加选通信号的方法比较简单,一般无需增加电路元件,但选通信号必须与输入信号维持严格的时间关系,因此选通信号的产生并不容易。3.输出接滤波电容1.增加冗余项2.增加选通信号由于竞争冒险产生的干扰脉冲的宽度一般都很窄,在可能产生冒险的门电路输出端并接一个滤波电容(一般为4~20pF),使输出波形上升沿和下降沿都变得比较缓慢,从而起到消除冒险现象的作用。三、冒险现象的消除输出端接滤波电容方便易行,但会使输出电压波形变坏,仅适合对信号波形要求不高的场合。第三节超高速集成电路硬件描述语言VHDL概述VHDL语言的基本组成VHDL数据类型和属性VHDL的行为描述VHDL的结构描述★设计方法◆传统的电路系统设计方法:纯硬件逻辑设计(试凑法)存在的问题:当系统规模增大,设计工作量大,设计周期长;设计电路的体积大、功耗大、可靠性较低;交流性较差。◆现代电路的设计方法:硬件设计+软件设计从上至下的设计方法出现HardwareDescriptionLanguage,HDL★硬件描述语言◆ABEL◆AHDL◆VerilogHDL◆VHDL美国国防部在80年代初提出了VHSIC(VeryHighSpeedIntegratedCircuit)计划,其目标之一是为下一代集成电路的生产,实现阶段性的工艺极限以及完成10万门级以上的设计,建立一项新的描述方法。1981年提出了一种新的HDL,称之为VHSICHardwareDescriptionLanguage,简称为VHDL。IEEE标准★VHDL语言的主要优点◆是一种多层次的硬件描述语言,覆盖面广,描述能力强。即设计的原始描述可以是非常简练的描述,经过层层细化求精,最终成为可直接付诸生产的电路级或版图参数描述,整个过程都可以在VHDL的环境下进行。◆VHDL有良好的可读性,即可以被计算机接受,也容易被理解用VHDL书写的原文件,即是程序,又是文档,即是技术人员之间交换信息的文件,又可作为合同签约者之间的文件。◆VHDL本身的生命期长。因为VHDL的硬件描述与工艺技术无关,不会因工艺变化而使描述过时。与工艺技术有关的参数可通过VHDL提供的属性加以描述,工艺改变时,只需修改相应程序中的属性参数即可。◆支持大规模设计的分解和已有设计的再利用。一个大规模设计不可能一个人独立完成,它将由多人、多项目组来共同完成。VHDL为设计的分解和设计的再利用提供了有力的支持。◆VHDL已成为IEEE承认的一个工业标准,事实上已成为通用硬件描述语言。★VHDL语言的主要优点一、VHDL的基本组成VHDL语言参数部分——程序包接口部分—设计实体描述部分—结构体LIBRARYieee;USEieee.std_logic_1164.all;(一)参数部分——程序包程序包IEEE标准的标准程序包设计者自身设计的程序包设计中的子程序和公用数据类型的集合。调用数据类型标准程序包的VHDL语言描述放在VHDL程序的最前面,表示以后在实体或结构体中要用到数据类型包中的数据类型。调用程序包语句标准程序包定义程序包(二)接口部分—设计实体kxora1b1c1设计实体提供设计模块的公共信息,是VHDL设计电路的最基本部分。VHDL实体的描述方法:ENTITYkxorISPORT(a1,b1:INstd_logic;c1:OUTstd_logic);ENDkxor;一个模块中仅有一个设计实体。调用程序包语句标准程序包定义程序包实体及实体声明语句ENTITYkxorISPORT(a1,b1:INstd_logic;ENDkxor;c1:OUTstd_logic);ENTITY、IS、PORT、IN、OUT和END为关键字;ENTITY...END之间表示实体内容;kxor表示实体的名称,即电路的符号名;PORT——端口(引脚)信息关键字,描述了信号的流向;IN——输入模式;OUT——输出模式;std_logic表示信号取值的类型为标准逻辑。(二)接口部分—设计实体ENTITYselISPORT(d0,d1,d2,d3:INBIT;s:ININTEGERRANGE0TO3;out1:OUTBIT);ENDsel;d0d1d2d3sout1sel再例:(二)接口部分—设计实体(三)描述部分—结构体结构体描述实体硬件的互连关系、数据的传输和变换以及动态行为。一个实体可以对应多个结构体,每个结构体可以代表该硬件的某一方面特性,例如行为特性、结构特性。ARCHITECTUREkxor_arcOFkxorISBEGINc1=(NOTa1ANDb1)OR(a1ANDNOTb1);ENDkxor_arc;调用程序包语句标准程序包定义程序包实体及实体声明语句结构体1结构体2结构体nkxora1b1c1a1b1c1kxora1b1c1a1b1c1a1b1c1a1b1c1a1b
本文标题:数字电子技术第三章1
链接地址:https://www.777doc.com/doc-71330 .html