组合逻辑电路
组合逻辑电路:无记忆,输入稳定且传播过程结束后,输出仅取决于当前输入
| 对比 | 组合逻辑 | 时序逻辑 |
|---|---|---|
| 输出取决于 | 当前输入 | 输入及内部状态 |
| 记忆功能 | 无记忆 | 有记忆 |
| 典型结构 | 逻辑门组成的无反馈网络 | 含存储元件,可有反馈 |

- 数字逻辑电路的内部结构可看作由若干元件和若干结点互连而成
- 元件本身又可以是一个数字逻辑电路
- 结点分为输入结点(如 )、内部结点(如 )和输出结点(如 )
- 组合逻辑电路的构成规则:
- 每个元件本身都是组合逻辑电路
- 输出结点不能互连,即同一结点只能由一个普通门输出驱动
- 输出结点不能反馈到输入端,即电路中不能形成反馈回路。
组合逻辑电路的分析
分析:已知电路,求逻辑功能
组合逻辑电路分析的一般步骤:
- 根据逻辑电路,从输入向输出,逐级写出中间结点的表达式
- 化简、变换,得到最简单的表达式
- 列真值表
- 根据真值表和逻辑表达式,对电路进行分析,确定其逻辑功能
补充:
- 先辨认门型、反相小圆圈和连线结点;复杂电路保留中间变量,避免直接写长式。
- 输出为 的情况较少时,可先求 。
例题
3人表决电路

至少两人赞成,输出为 。
不一致电路

仅 、 输出 ,其余组合输出
三位判偶

按图保留中间结点(注意异或结构):
输入中有偶数个 时输出 ,包括零个 。
组合逻辑电路的设计
设计:分析的逆过程,由功能需求构造电路。
逻辑电路设计的步骤
- 最小化设计:要求设计的电路最简单
- 电路中所使用的门种类数最少
- 电路中门的个数最少
- 电路中的连线最少
- 标准化设计:写出函数的标准式,利用常见的中规模集成块,实现功能
最简表达式不一定对应最佳电路;应结合器件资源、门型、扇入和速度要求选择。
例题
开关报警
某设备有开关A、B、C,要求:只有开关A接通的条件 下,开关B才能接通;开关C只有在开关B接通的条件下 才能接通。违反这一规程,则发出报警信号。设计一个由与非门组成的能实现这一功能的报警控制电路
列出真值表,由真值表写出函数表达式并化简
用与非门实现:

交通灯故障检测
红、黄、绿三盏灯中,恰好一盏亮才正常。 其余五种组合均应报警
列出真值表,由真值表写出函数表达式并化简(卡诺图)
二进制转格雷码
设计一个码制转换电 路,输入4位二进制码,输 出为4位循环码(格雷码)
输入 ,输出 ,最高位均在左。列出真值表,由真值表写出函数表达式并化简(卡诺图)

BCD 四舍五入判断
输入为一位 8421 BCD 码 ; 输出 , 输出 。这里只判断是否进位。
注意:输入为有效BCD码,1010—1111可作无关项。
授受关系编码
授方编码为 ,受方编码为 :A、B、AB、O 分别编码为

定义 表示符合,则:
组合逻辑电路的优化实现
目标:在有效输入范围内保持功能,结合器件约束减少资源、改善速度
选择门型
| 原结构 | 等效实现 | 变换 |
|---|---|---|
| 与或式 | 与非 | |
| 或与式 | 或非 |
例:

多输出共享公共逻辑
实际的数字系统中,通常有多个输出函数,可以作为整体考虑,使各式中的相同乘积项尽可能多,以减少门的个数
、 可各实现一次,供两个输出共用,避免重复用门

受限扇入与多级分解
- 扇入数:一个门的输入端数
- 如 用一个与门实现,扇入数为 4
- 逻辑级数:从输入到输出,沿各条路径数经过的门数,取最大值
- 反相器也算一级
- 电路级数的增加会造成总延时的增加
- 逻辑门电路的优化实现必须保证能够实现
- 当输入端的个数超过物理实现的可能,就需要变换表达式
- 变换方法可以是提取公因子或函数分解等
提取公因子
限定逻辑门的扇入数为3:

不计输入反相级:原式为“与→或”,共 2 级;提取后为“与→或→与”,共 3 级,各门扇入不超过 3。
函数分解
限定逻辑门的扇入数为3:
原来的四个三输入与项由四输入或门相加;分解后可用低扇入门实现。若 按与或门展开,再反相,最长路径可达五级。
组合逻辑电路的竞争险象现象
基本概念
-
竞争(Race):输入变化经不同路径传播,到达某结点的时间不同
- 信号通过连线和门都有一定的延迟时间,输入信号变化也需要一个过渡时间,多个输入信号发生变化有先后 、快慢的差异
-
险象(Hazard):竞争使输出短时偏离预期,出现错误跳变或毛刺
-
竞争-冒险:电路在信号电平变化的瞬间,可能与稳态下的逻辑功能不一致, 产生错误输出(尖峰脉冲)
-
竞争不一定产生冒险,是否出现及脉宽大小,取决于输入变化和实际延迟
-
真值表描述稳定结果,不包含变化过程
-
输入稳定且所有传播结束后,输出才应符合稳态函数。
静态险象与动态险象
动态险象
- 动态险象:若输入有变化时,其稳定输出信号也有变化(不会发生静态险象),而输出发生短暂的反复
- 如:输出应该为1变0,而出现了1010
| 预期变化 | 实际可能波形 |
|---|---|

图中 ,稳态有
但 G 及反相支路存在延迟,F 在转换时可能反复跳变。函数等价不代表瞬态波形相同。
静态险象
- 静态险象:输入信号变化前后稳定状态输出的逻辑值相同,而在转换瞬间出现尖脉冲
| 名称 | 预期输出 | 实际波形 | 毛刺 |
|---|---|---|---|
| 静态 0 险象 | 保持 | 负毛刺 | |
| 静态 1 险象 | 保持 | 正毛刺 | |
| ![[ch5-静态险象波形-056.png | 500]] |
- :若 A 已变为 ,反相支路尚未变为 ,两个输入短时同为 ,出现负毛刺
- :若 A 已变为 ,反相支路尚未变为 ,两个输入短时同为 ,出现正毛刺
功能险象与逻辑险象
静态险象根据产生的条件分类
| 类型 | 产生原因 | 判断对象 |
|---|---|---|
| 功能险象 | 多个输入变量同时变化,且变化的时间有差异 | 函数与指定的输入转换 |
| 逻辑险象 | 一个输入变量发生变化,通过两条或两条以上路径去影响输出逻辑值,且由于各个路径延时不同而造成的作用时间有差异 | 具体门网络与路径延迟 |
功能险象
- 功能险象:多个输入信号发生变化时,由于可能经 历的路径不同,所产生的险象
- 逻辑函数本身所固有
例:,,始末均应输出 。
- A 先变:输入— ;输出— ,有正毛刺
- B 先变:输入— ;输出— ,无毛刺
逻辑险象
- 逻辑险象:当输入信号只有一个发生变化,或者虽然有多个信号发生变化,但是没有发生功能险象的可能,由于门的延迟不同, 产生的险象
例:,,只有 C 变化。
所有相关输入均应输出 ;但 C 及 到达时间不同,可能使两个与项短时均为 ,产生负毛刺。
险象的判断
| 名称 | 含义 | 卡诺图对应 |
|---|---|---|
| 主要项 | 不能再消去变量而仍保持蕴含关系 | 不能再扩大的矩形 |
| 必要项 | 至少存在一个主要项都不能覆盖的 | 最简覆盖中必须选取的主要项 |
| 多余项 | 其覆盖的 已全部被其余已选项覆盖 | 删去不改变稳态函数的圈 |
功能险象的判断方法
条件: 个输入中有 个变化(课件取 ),始末稳定输出相同;各变化变量翻转一次,先后顺序任意。
功能险象判断步骤
- 找不变变量:恒为 写原变量,恒为 写反变量,组成乘积项 Q
- 确定变化区域:检查 Q 为 的全部 个格,包含起点(起始输入对应的格子)、终点(最终输入对应的格子)及可能的中间状态
- 检查输出:区域内输出相同,无功能险象;输出不同,有功能险象的可能
- 不变变量确定区域,变化变量决定路径。
从逻辑表达式判断: 如果由不变的 个输入变量组成的乘积项 Q 不是逻辑表达式中的乘积项或者多余项,则 个变量发生变化时,就有发生功能险象的可能。
例题
C 恒为 ,A、B 变化,故 ;检查全部 的格,即 。

的输出为 ,其余为 ,故有功能险象的可能:
- A 先变:,输出 。
- B 先变:,输出始终为 。
A 恒为 ,B、C 变化,故 ;检查全部 的格,即 。

的输出为 ,其余为 ,故有功能险象的可能:
- B 先变:,输出 。
- C 先变:,输出始终为 。
逻辑险象的判断方法
先排除功能险象,再检查实际电路是否有持续覆盖。以下为两级与或/或与网络的静态险象判据。
逻辑险象判断步骤
对于二级 与或 / 或与 表达式网络:
- 先排除功能险象的可能
- 若与或式有一个与项始终为 1;或与式有一个或项始终为 0,就无逻辑险象的可能,否则有,(找Q)
- 画出卡诺图,做出表达式乘积项各自对应的 1 圈(或与式则做出各项对应的 0 圈)。同功能画出变化区域,若区域不能被一个圈完整覆盖,则有逻辑险象的可能
- 不同支路需要交接,旧项已失效、新项尚未接替时,可能产生毛刺
多级网络及还须按实际路径延迟逐级画波形判断
例题

| 的变化 | 不变条件 | 功能险象 | 逻辑险象与依据 |
|---|---|---|---|
| 可能 | 先按功能险象处理 | ||
| 无 | 可能,缺少持续覆盖项 | ||
| 无 | 可能, 与 交接,缺少 共同覆盖 | ||
| 无 | 无 |
消去竞争-冒险
取样或选通输出
- 方法:输入变化时关闭选通,待电路稳定后再开放,只读取稳定输出
- 选通:用一个控制信号,决定什么时候允许结果通过

| 选通门 | 有效取样脉冲 |
|---|---|
| 与门、与非门 | 正脉冲:高电平时开放 |
| 或门、或非门 | 负脉冲:低电平时开放 |
- 取样窗口:位于输出稳定区间(施加正脉冲)
- 取样可避开功能、逻辑险象的影响,不代表内部毛刺已消失。
修改逻辑设计
方法:保持稳态函数不变,改写产生险象的结构,或增加不含变化变量的覆盖项,使输出在支路交接时仍能保持
消去互补相乘结构
固定不变变量后,若原结构化为 ,两条路径延迟不同可能使两输入短时同为 。可展开原式,消去互补相乘项,再按等价式重新连接电路。
例题
当 、A 变化时,原结构化为 ,可能产生正毛刺。
按后式构造与或网络, 时各与项均被固定的 截断,输出保持 。
电路更加复杂,最简与最优的矛盾
增加冗余项,补足共同覆盖
| 网络 | 补项方法 | 作用 |
|---|---|---|
| 与或网络 | 补圈,使相邻 有共同与项覆盖 | 避免负毛刺 |
| 或与网络 | 补圈,使相邻 有共同或项覆盖 | 避免正毛刺 |
- 找到分别含变化变量 、 的两项,补入不含 X 的一致项,覆盖两项交接的区域: /
- 本质就是在补圈
例题
,补入冗余覆盖:

- 蓝圈 、:分别持续覆盖 、 的区域。
- 绿圈 :使 时 C、D 的多输入转换也有持续覆盖。
输出端并联电容
方法:输出端并联电容,利用充放电过程抑制足够窄的脉冲。

- 黑线 含窄毛刺;滤波后的红线 来不及跟随窄脉冲充分变化,可使后级不识别该毛刺。
- 代价:正常跳变也会变慢,延迟增大;不宜随意用于中间级。
- 条件:效果取决于脉宽、输出驱动、负载与电平阈值,不能保证滤除任意毛刺,需按实际电路验证。
方法比较
| 方法 | 适用情况 | 主要条件与代价 |
|---|---|---|
| 修改逻辑、增加冗余覆盖 | 消除相应逻辑险象 | 改变门网络,可能增加门数;不能消除功能险象 |
| 取样/选通 | 避开功能、逻辑险象的影响 | 必须保证读取时刻和窗口位于稳定区间 |
| 输出电容滤波 | 抑制两类险象产生的足够窄脉冲 | 降低速度;不能保证滤除任意宽度的毛刺 |
