340 likes | 465 Views
第十三章 组合逻辑电路分析与设计 第一节 组合逻辑电路的分析 13.1.1 组合电路的一般分析方法 13.1.2 加法器电路分析 13.1.3 编码器电路分析 13.1.4 译码器电路分析 第二节 组合逻辑设计 13.2.1 组合逻辑电路设计的基本思想 13.2.2 组合逻辑电路的一般设计方法 13.2.3 组合逻辑电路的设计举例 第三节 组合逻辑电路中的竞争 — 冒险现象 13.3.1 组合逻辑电路中的竞争 — 冒险现象 13.3.2 竞争 — 冒险现象的判断
E N D
第十三章 组合逻辑电路分析与设计 第一节 组合逻辑电路的分析 13.1.1 组合电路的一般分析方法 13.1.2 加法器电路分析 13.1.3 编码器电路分析 13.1.4 译码器电路分析 第二节 组合逻辑设计 13.2.1 组合逻辑电路设计的基本思想 13.2.2 组合逻辑电路的一般设计方法 13.2.3 组合逻辑电路的设计举例 第三节 组合逻辑电路中的竞争—冒险现象 13.3.1 组合逻辑电路中的竞争—冒险现象 13.3.2 竞争—冒险现象的判断 13.3.3 冒险现象的消除
A B S CI CO =1 =1 组合逻辑电路 a1y1 a2y2 ┇┇ anym & ≥1 1 研究对象:组合逻辑电路的分析与设计 关注焦点:从分析一些简单的组合电路过渡到一些常用的中规模集成电路,通过分析中规模集成电路掌握组合电路的设计思想,能够设计满足具体要求的组合电路。 所谓组合逻辑电路,就是任意时刻的输出稳定状态仅仅取决于该时刻的输入信号,而与输入信号作用前电路所处的状态无关。
一般为与或式,但形式不惟一,通过变换可实现用不同门电路组成逻辑图。一般为与或式,但形式不惟一,通过变换可实现用不同门电路组成逻辑图。 逻辑表达式 真实地反映出变量取值与函数值之间的关系,通过对其进行状态赋值可以得到对应的真值表。真值表是判断逻辑关系的有效手段,真值表具有惟一性。 真值表 是化简逻辑函数的主要工具,为最后实现逻辑图作必要准备。 卡诺图 表示变量之间的逻辑关系,一个逻辑表达式可以用不同逻辑图实现。逻辑图只反映逻辑功能,不反映电路特性。 逻辑图
A B C F ≥1 & A P2 P1 AP3F BB C P4 C & & ≥1 & & & 第一节 组合逻辑电路分析 1. 组合逻辑电路一般分析方法 ①根据逻辑电路图写出各输出端的逻辑函数表达式; ②用逻辑代数掌握的逻辑函数化简方法,对逻辑表达式进行化简和转换; ③根据简化的逻辑函数表达式列出相应的真值表; ④依据真值表和逻辑函数表达式对逻辑电路的功能进行分析,最后对逻辑电路进行评价。 数字系统中常用的组合逻辑电路的逻辑功能主要有:二进制数的运算、二进制数的比较、编码与译码、数字信号的选择与分配、二进制代码的变换、奇偶校验等。 分析以下组合逻辑电路,并描述逻辑功能。
逻辑功能描述: 由真值表可知,当A、B、C三个输入信号相同时,输出为1,即输入信号一致时,输出为1。这个电路可用来检测信号不一致,故称为“不一致电路” 2. 加法器电路分析 算术运算是数字系统的基本功能之一,更是数字计算机中不可缺少的组成单元。 最基本的加法器是一位加法器。一位加法器又分为半加器和全加器。半加器是指包考虑低位进位的本位相加;全加器则是本位的两个加数与低位进位3个数相加。
AS B CO =1 AS CO B ∑ CO &
COS CI B A SCO ABCI ≥1 ≥1 ∑ CO CI & & & & & & & 1 1 1 COS3S2S1S0 B3A3B2A2B1A1B0A0 CO∑ CI CO∑ CI CO∑ CI CO∑ CI 由一位加法器组成的四位加法器。这种加法器的缺点是运算速度慢。最不利的情况下,做一次加法运算需要经过4个全加器的传输延迟时间。
标准MSI加法器74LS82、74LS283 74LS82是两个一位全加器串接成的两位加法器,两个74LS82串接可以组成四位加法器。74LS283是快速进位加法器,即各位进位不是由前级全加器进位提供。 分析真值表可知,在两种情况下会有进位输出信号:①AB=1则CO=1;②A+B=1且CI=1,则CO=1。即 定义进位生成函数Gi=AiBi,进位传递函数Pi=Ai+Bi,则
COS3S2S1S0 G21G11 X1Y1 G22G23G12G13 G25G24G15G14 B3A3B2A2B1A1B0A0CI =1 =1 =1 =1 ≥1 & ≥1 & ≥1 & ≥1 & & & & & 1 & ≥1 & ≥1 & ≥1 & ≥1 1 第i位的和Si逻辑表达式为: 试分析X1、Y1和S1的逻辑表达式?
8 线 | 3 线 编 码 器 I0Y2 I1 I2 I3Y1 I4 I5 I6Y0 I7 3. 编码器电路分析 编码器是将某一特定的信息转换成二进制系统可以识别的代码,将二进制代码按一定规律编排,使每组代码具有特定含义就称为编码。 编码器有普通编码器和优先编码器。现在以8线--3线编码器为例说明。
I1I2I3I4I5I6I7 Y2 Y1 Y0 ≥1 ≥1 ≥1 如果在任何时刻I0~I7当中仅有一个取值为1,则28=256种组合,只有表中8种组合,其它项为约束项。可将逻辑表达式化简为如下。 下面介绍标准编码器74LS148 74LS148是8线--3线优先译码器。组合逻辑电路的分析就是分析已有的逻辑电路图,然后确定逻辑电路的功能,于是我们先给出74LS148优先编码器的逻辑电路图。
YsYEXY0Y1Y2 G2G3 G1 I0I1I2I3I4I5I6I7S & & ≥1 & ≥1 & ≥1 & 1 1 1 1 1 1 1 1 1 1 1 1
74LS148功能表 输 入 输 出 S I0I1I2I3I4I5I6I7 Y2Y1Y0YSYEX 1 0 0 0 0 0 0 0 0 0 x x x x x x x x 1 1 1 1 1 1 1 1 x x x x x x x 0 x x x x x x 0 1 x x x x x 0 1 1 x x x x 0 1 1 1 x x x 0 1 1 1 1 x x 0 1 1 1 1 1 x 0 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 0 0 0 1 0 0 0 1 1 0 0 1 0 1 0 0 1 1 1 0 1 0 0 1 0 1 0 1 1 0 1 1 0 1 0 1 1 1 1 0
S S B m0Bm0 AA m1m1 m2m2 m3m3 1 & & 1 1 1 1 & & & & & & 4. 译码码器电路分析 译码器的逻辑功能与编码器相反,它是将具有特定含义的不同二进制代码辨别出来。 例如,计算机中访问某个地址或者访问某个外设,首先是经过译码,找到被访问的设备和地址,然后再根据具体要求完成相应操作。 两个输入量二进制译码电路
& G0 Y0 G1 Y1 S1G2 S2Y2 S3 GS G3 Y3 G4 Y4 G5 A0Y5 G6 A1Y6 G7 A2Y7 & 1 & & & & & 1 1 & 1 1 & 1 1 标准译码器74LS138电路分析。74LS138是3--8译码器,电路如图所示。
3--8译码器功能表 输 入 输 出 S1 S2+S3 A2A1A0 Y0Y1Y2Y3Y4Y5Y6Y7 0 x 1 1 1 1 1 1 1 1 x 1 0 0 0 0 0 0 0 0 x x x x x x 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 0
& Y0 Y1 A0 Y2 Y3 A1 Y4 Y5 A2 Y6 Y7 A3 Y8 Y9 & 1 & 1 & 1 & 1 & 1 & 1 & 1 & 1 & 74LS42是二--十进制译码电路,即根据输入的二进制数,输出有十个不同状态分别代表0~9十进制数。
二--十译码器74LS42功能表 序 号 输 入 输 出 A3A2A1A0 Y0Y1Y2Y3Y4Y5Y6Y7Y8Y9 0 1 2 3 4 5 6 7 8 9 0 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 0 1 0 1 0 1 1 0 0 1 1 1 1 0 0 0 1 0 0 1 0 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 0 伪 码 1 0 1 0 1 0 1 1 1 1 0 0 1 1 0 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
aa ff bb gg ee cc dd (a)共阳极7段数码管结构 (b)共阴极7段数码管结构 UCC R a b c d e f g 七段字形译码器 七段字符显示器与七段显示译码器 字符显示驱动电路
YaYbYcYdYeYf Yg G13G14G15G16G17G18G19 G3A’0G9A’1G10A’2G11A’3G12 G4 G5G6G7G8 G1G2 RBILTBI/RBOA0A1A2A3 ≥1 & ≥1 & ≥1 & ≥1 & ≥1 & ≥1 & ≥1 & & & & & & 1 & & & & 1 1 七段显示译码器有输出低电平的译码器(7447、74LS47、74LS247)和输出高电平的译码器(7448、74LS48、74LS248)。 下面以7448电路为例说明。
BCD--七段显示译码器功能表 数 字 输 入 输 出 A3A2A1A0 YaYbYcYdYeYfYg 字形 0 1 2 3 4 5 6 7 8 9 0 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 0 1 0 1 0 1 1 0 0 1 1 1 1 0 0 0 1 0 0 1 1 1 1 1 1 1 0 0 1 1 0 0 0 0 1 1 0 1 1 0 1 1 1 1 1 0 0 1 0 1 1 0 0 1 1 1 0 1 1 0 1 1 0 0 1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1 1 1 1 1 1 1 0 0 1 1 10 11 12 13 14 15 1 0 1 0 1 0 1 1 1 1 0 0 1 1 0 1 1 1 1 0 1 1 1 1 0 0 0 1 1 0 1 0 0 1 1 0 0 1 0 1 0 0 0 1 1 1 0 0 1 0 1 1 0 0 0 1 1 1 1 0 0 0 0 0 0 0
显示数据 A B C D 位选信号 S0 S1 S2 多数码管动态显示控制方法 用一片74LS48和一片74LS138实现八位数码管的八位十进制数显示。
第二节 组合逻辑电路设计 1. 组合逻辑电路设计的基本思想 组合逻辑电路设计是根据某一具体逻辑问题或某一逻辑功能要求,得到实现该逻辑问题或逻辑功能的“最优”逻辑电路。 所谓“最优”的逻辑设计,往往不能用一或几个简单指标来描述。在用小规模集成电路进行逻辑设计时,利用前面介绍的逻辑函数简化和变换等方法,追求的目标是最少逻辑门和最少的器件种类等,以达到最稳定、最经济的指标。这是数字电路逻辑设计的基础,是比较成熟和经典的设计方法,这一部分主要是以这一基本思想来讨论逻辑电路的设计问题。 采用中、大规模集成电路,追求最少门数和器件种类将不再成为“最优”设计的指标,而转为追求集成块数的减少。 2. 组合逻辑电路的一般设计方法 (1)根据实际逻辑问题的叙述,进行逻辑抽象。 ①根据事件的因果关系,确定输入变量和输出变量; ②定义逻辑状态的含义; ③列出真值表并写出逻辑表达式。
(2)根据选定的器件类型将逻辑函数转换和化简,写出与门电路相对应的最简逻辑函数表达式。(2)根据选定的器件类型将逻辑函数转换和化简,写出与门电路相对应的最简逻辑函数表达式。 (3)按简化逻辑函数表达式绘制逻辑电路图。 (4)完成工艺设计,最后装配调试。 组合逻辑电路设计中应注意的几个问题 (1)输入变量的形式。既提供原变量又提供反变量,还是只有原变量。如果无反变量,尽管可以增加一个非门产生反变量,但是增加了组合电路级数,使传输时间增加。通常需要采取适当设计方法来节省器件,减少传输时间。 (2)对组合逻辑电路信号传输时间的要求,即级数的要求 (3)单输出函数还是多输出函数。设计时要求对总体电路进行简化,而不是对局部进行简化,即应考虑一个门电路能被多个函数所公用。 (4)逻辑门输入端数的限制。可通过代数变换使之在满足芯片输入端的要求下芯片的数目最少。
A B F C & & & & 3. 组合逻辑电路设计举例 例1:用与非门设计一个三变量的“多数表决电路”。 解:第一步,根据题意写出真值表 第二步,根据真值表写出函数最小项表达式。 第三步,化简逻辑函数表达式,并转换成适当形式。 由于要求用与非门实现,对该逻辑函数转换
A B F C & & 1 A B F C & & & & 1 & & 1 例2:设输入只有原变量,在不提供反变量的情况下,用三级与非门实现逻辑函数 解:首先利用卡诺图将逻辑函数化简为最简“与或”表达式 若对逻辑代数进行变换 经过变换后以后的逻辑函数实现的逻辑电路要比没有变换后的逻辑电路简单。往往这种方法对于只有原变量输入电路的简化是一种比较有效的方法。
一个乘积项由两部分组成:不带“非”号部分(头部)和带“非”号部分(尾部),如:一个乘积项由两部分组成:不带“非”号部分(头部)和带“非”号部分(尾部),如: ①将两个乘积项合并为一个乘积项 ②寻找公因子,减少非号 乘积项的头部可以根据需要插入尾部,乘积项的值不变。
C A D B 00 01 11 10 00 1 1 1 01 1 1 11 1 1 10 1 C B A DF A C B & & & & & & & & 例3:试用74LS00(二输入四与非门)实现下列函数 解:利用卡诺图对原函数化简 由于74LS00只有两个输入端,所以要对上述的逻辑函数进行适当变换才能实现。 对于三变量的乘积项可用提公因子法。
AAA A FB 2 BF Btpd 1 FF t1t2 (a)逻辑冒险电路及波形图 (b)功能冒险电路及波形图 ≥1 & ≥1 第三节 组合逻辑电路中的竞争--冒险现象 1. 组合逻辑电路中的竞争--冒险现象 竞争:对于两个输入信号同时向相反的逻辑电平跳变(一个从1变为0,另一个从0变为1)是竞争现象。 冒险:在电路输出端可能产生尖峰脉冲的现象叫做冒险现象。 逻辑冒险:在组合电路中,当某一个变量发生变化时,由于信号所经过的路径不同,使达到某个门的同一输入信号产生了时差,进而产生瞬时的尖峰脉冲。 功能冒险:在组合电路的输入端,有几个变量同时发生变化时,由于信号传输快慢不同,在某个门的输入端必然有时间差,进而导致输出端产生瞬时尖峰脉冲。
2. 竞争--冒险现象的判断 判断竞争--冒险现象的方法有:代数法、卡诺图法、实验分析和计算机辅助分析方法。 代数法就是利用逻辑函数表达式进行判断。方法是:若逻辑表达式中出现某个变量的原变量和反变量,则将其它变量的不同取值组合代入逻辑表达式,看是否出现 若有则说明对应的逻辑电路可能产生冒险。 例:组合逻辑电路的逻辑表达式为 试判断逻辑电路是否可能产生限象。 解:逻辑表达式中A和C都出现了原变量和反变量,先考察变量A 由式可知,当B=C=1时,A的变化可能使电路产生限象。同理可以判断变量C,可知C不会出现限象。
C A D B 00 01 11 10 00 1 1 1 01 1 1 1 11 1 1 10 卡诺图法判断。方法是:作出逻辑函数的卡诺图,并画出卡诺圈,若某两个卡诺圈“相切”,则该电路可能存在冒险现象。 例:已知组合逻辑电路的对应的逻辑表达式是: 计算机辅助分析法判断。方法是:通过一些工具软件模拟组合电路,并加入信号后,看是否出现竞争冒险现象,如EDA软件就可以完成此工作。 实验分析法判断。方法是:根据逻辑表达式,在实验板上用集成片搭出电路,然后加入信号,通过示波器看是否出现冒险现象。
G3 A Y3 Cf G2 B Y2 Cf G1 Y1 Cf G0 P Y0 Cf A B A B P & 1 & 1 & & 3. 竞争--冒险现象的消除 ①接入滤波电容。由于尖峰脉冲很窄,在输出端接入很小电容就足以使尖峰脉冲的幅度削至门电路门限电压以下。 优点是简单易行,缺点是增加输出波形上升时间和下降时间,并使波形变坏。 ②引入选通脉冲。在电路输出达到稳定以后,通过选通脉冲将输出信号取出。
A G1 B G2G3G4 Y C & 1 & ≥1 & G4 ③修改逻辑设计。主要是利用增加冗余项的方法消除竞争--冒险。即在增加项不改变逻辑关系,下面通过例子说明。