# 第三章：组合逻辑电路设计

> 参考资料：《CHAPTER3 组合逻辑电路设计》，共 151 页。以下页码均为原文档从 1 起的页序。

## 0. 本章概述

组合逻辑电路设计综合运用数制与编码、逻辑函数和器件电气特性。基本设计步骤如下：

1. 明确需求，定义输入、输出、有效电平与位序。
2. 建立真值表、方程或模块框图，写明非法输入及约束。
3. 选择门级实现或模块组合，处理使能、极性与级联。
4. 核对功能、编码、位宽、边界输入。
5. 再核对电平、负载、时序与险象。

稳定逻辑功能与实际电路的可靠性需要分别验证。

## 1. 器件、电平和抗干扰能力

来源：课件第 2—23 页。

### 1.1 逻辑电平与保证范围

逻辑只有 0、1，电压却连续变化。电路把一段电压识别为低，把另一段识别为高，中间通常有不保证逻辑解释的区域。

| 参数 | 含义 | 边界方向 |
|---|---|---|
| $V_{OH(min)}$ | 保证的输出高电平最小值 | 输出高电平下限 |
| $V_{OL(max)}$ | 保证的输出低电平最大值 | 输出低电平上限 |
| $V_{IH(min)}$ | 保证识别为高的输入下限 | 保证高电平识别的输入下限 |
| $V_{IL(max)}$ | 保证识别为低的输入上限 | 保证低电平识别的输入上限 |

这些保证值都附带供电、温度、负载电流等条件，不能脱离条件使用。典型翻转阈值也不能取代保证范围做接口判断。

高低噪声容限分别为：

$$NM_H=V_{OH(min)}-V_{IH(min)}$$

$$NM_L=V_{IL(max)}-V_{OL(max)}$$

高噪声容限表示对向下电压扰动的容许余量，低噪声容限表示对向上电压扰动的容许余量。两者非负是静态电平兼容的基本条件，仍须检查电流和耐压等条件。

**例：**驱动门保证高至少 2.7 V、低至多 0.5 V，接收门要求高至少 2.0 V、低至多 0.8 V，则高容限为 0.7 V，低容限为 0.3 V。若换成高输入要求至少 3.5 V 的接收门，高容限变成 −0.8 V，不保证兼容。这些数值是计算例子，不代表所有 TTL 或 CMOS。

### 1.2 TTL、CMOS 与型号

- TTL 主要使用双极型晶体管，CMOS 使用互补 MOS 管。
- 不同工艺代际、供电、负载下的速度和功耗不同，不能仅依据逻辑家族作绝对速度排序。
- `SN74LS00`：SN 为厂商标识，74 为系列，LS 为低功耗肖特基 TTL，00 为二输入与非门功能号。
- `74HC00` 属于 CMOS 家族，逻辑功能相近不表示电平和电流指标相同。
- 54 系列通常对应军用宽温度等级，74 系列常见商用等级；具体范围看完整器件资料。ALS 是“先进低功耗肖特基”。
- 电源脚、地脚和引脚位序必须按具体封装查图，不能依据经验位置确定。

### 1.3 扇出

输出高时向负载提供电流叫拉电流；输出低时吸收负载电流叫灌电流。对同类负载，直流扇出近似为：

$$N=\left\lfloor\min\left(\frac{|I_{OH}|}{|I_{IH}|},\frac{|I_{OL}|}{|I_{IL}|}\right)\right\rfloor$$

电流正负号可能代表手册的参考方向，计算数量时按同一物理意义比较幅值。

**例：**高态允许 0.4 mA，每个负载需要 20 μA，可带 20 个；低态允许 8 mA，每个负载需要 0.4 mA，也可带 20 个，直流扇出上限为 20。若高低两态分别计算为 20 和 12，应取 12。高速时还受输入电容、走线电容和边沿速度约束。

### 1.4 延迟与功耗

- $t_{PLH}$：输出由低到高的传播延迟。
- $t_{PHL}$：输出由高到低的传播延迟。
- $t_{pd}=(t_{PLH}+t_{PHL})/2$ 是平均比较值。
- 上升/下降时间描述边沿自身的快慢；传播延迟描述输入变化到输出响应的间隔。
- 最坏关键路径要按各级转换方向的最大延迟累计，不能总用平均值相加。
- 静态功耗来自稳定状态下的消耗；动态功耗与开关活动有关。CMOS 常用近似 $P_{dyn}\approx\alpha C_LV_{DD}^2f$。
- 速度功耗积 $t_{pd}P$ 的单位为焦耳，比较时要有相同测试条件。

## 2. 输出结构与连接规则

来源：课件第 24—39 页。

| 结构 | 主动做什么 | 共享连接要点 |
|---|---|---|
| 推挽 | 主动拉高，也主动拉低 | 普通输出未经约束不能直接并联 |
| OC/OD | 主动拉低，释放时不主动拉高 | 外加上拉，任一拉低则线低 |
| 三态 | 有效时输出 0/1，禁止时 Z | 同时最多一个驱动者 |

### 2.1 推挽

两个推挽输出直接相连且电平相反时，会形成输出争用。逻辑功能相同并不保证切换时刻一致，因此也不能据此直接并联。

### 2.2 OC/OD 与线与

OC 是集电极开路，OD 是漏极开路。外接上拉后：

- 任一输出拉低，总线为低。
- 全部释放，总线才由电阻拉高。
- 正逻辑下表现为线与。

电阻太小会使低态灌电流与功耗过大，太大会使充电恢复慢。电平转换还需核对输出脚耐压与接收端兼容性，普通输出增加电阻并不必然满足电平转换条件。

### 2.3 三态与使能

Z 是高阻抗，不主动驱动；不是逻辑 1，也不是第三个逻辑真值。全部为 Z 时总线可能浮空，需另行规定默认状态。

高有效使能：控制脚为 1 时工作；低有效使能：控制脚为 0 时工作。分析时应先确定使能条件，再确定数据对应的输出。

**例：**两个非反相三态门接同一总线，数据为 1、0。

- 仅第一只使能：总线为 1。
- 全部禁止：两输出为 Z，总线电平不能仅由它们判断。
- 全部使能：发生争用，不能按逻辑与或运算决定安全结果。

正逻辑用高表示 1、低表示 0；负逻辑相反。系统采用正逻辑，也完全可以有低有效使能脚。

## 3. 设计与分析方法

来源：课件第 40—46、129—131 页。

组合电路的稳定输出只由当前输入决定，没有存储状态。输入变化后仍要等待传播延迟。时序电路还与过去形成的状态有关。

设计：需求 → 真值表/方程 → 化简或功能分解 → 门/模块连接 → 验证。

分析：从输入向输出逐级命名节点并写式 → 代入、化简 → 列真值表 → 用语言描述功能。

**例 1：高有效 2—4 译码。**地址 $B_1B_0$ 为 00、01、10、11，输出 $Y_3Y_2Y_1Y_0$ 分别为 0001、0010、0100、1000。

$$Y_0=\bar B_1\bar B_0,\quad Y_1=\bar B_1B_0,\quad Y_2=B_1\bar B_0,\quad Y_3=B_1B_0$$

**例 2：分析异或链。**中间 $Z=A\oplus B$，输出 $F=Z\oplus C$，故 $F=A\oplus B\oplus C$；输入中有奇数个 1 时输出 1，是奇数个 1 判别器。

画图时实心交点表示连接；无点交叉不默认连接。总线要标宽度和高低位方向。

## 4. 半加器、全加器和进位

来源：课件第 47—62 页。

### 4.1 一位加法

半加器无低位进位输入：

$$S=A\oplus B,\quad C=AB$$

全加器接收三个一位输入：

$$S_i=A_i\oplus B_i\oplus C_i$$

$$C_{i+1}=A_iB_i+A_iC_i+B_iC_i$$

和位表示奇偶性；进位表示三个输入中至少两个为 1。

| 输入中 1 的数量 | 整数和 | 进位、和位 |
|---|---:|---|
| 0 | 0 | 00 |
| 1 | 1 | 01 |
| 2 | 2 | 10 |
| 3 | 3 | 11 |

两个半加器与一个或门可组成全加器：先求 $A\oplus B$，再与 $C_i$ 相加，两个半加器产生的进位相或。

### 4.2 串行进位

低位进位输出接到高位进位输入。A、B 可并行到达，但最高位要等进位逐级传播。位数越多，最坏进位路径越长。

**例：**0111+0001。从最低位起连续三次“写 0 进 1”，最高位写 1，得 1000。无符号下 7+1=8，可表示；四位补码下 +7+1 超出 −8—7，发生有符号溢出。最终向外进位为 0 不能证明没有有符号溢出。

### 4.3 超前进位

令 $G_i=A_iB_i$，$P_i=A_i\oplus B_i$，则：

$$C_{i+1}=G_i+P_iC_i$$

递推展开：

$$C_1=G_0+P_0C_0$$
$$C_2=G_1+P_1G_0+P_1P_0C_0$$
$$C_3=G_2+P_2G_1+P_2P_1G_0+P_2P_1P_0C_0$$
$$C_4=G_3+P_3G_2+P_3P_2G_1+P_3P_2P_1G_0+P_3P_2P_1P_0C_0$$

这些式子使较高位进位直接由 P、G 和初始进位产生，减少逐级等待，代价是电路与布线复杂度。

有教材定义 $P=A+B$，对进位式也成立，但此时不能直接使用 $S=P\oplus C$。使用相关公式前应明确 P 的定义。

两片四位加法器用低片进位接高片进位可实现八位加法，片间仍是串行传递。课件用 7483 类模块举例，实际引脚位序看对应型号。

## 5. BCD 加法与加 6 修正

来源：课件第 62—66、72—75、90—92、116—117 页。

8421 BCD 每个数位只允许 0000—1001。两个数字 A、B 加一位进位后，总和 $T\in[0,19]$。

第一步用二进制加法器得到 $C_4S_3S_2S_1S_0$。

修正条件为：

$$K=C_4+S_3S_2+S_3S_1$$

第二步低四位加 $0KK0$：K=1 加 0110，K=0 加 0000。个位取修正后低四位，十进制进位取 K。

**修正常数的来源：**四位二进制模数为 16，十进制数位模数为 10，两者相差 6。

- T=10—15：加 6 后越过 16，低四位变成 T−10。
- T=16—19：原低四位为 T−16，再加 6 也得到 T−10。

**例 1：8+7。**第一级 1000+0111=0 1111，K=1；第二级 1111+0110=1 0101；BCD 为 0001 0101，即 15。

**例 2：9+9+1。**第一级为 1 0011，K=1；低四位 0011+0110=1001，第二级没有新进位，但结果仍为十位 1、个位 9。十进制进位不能只取第二级进位输出。

K 可用门、比较器、译码器或 MUX 实现。实现时应先确定逻辑函数，再映射到相应模块。

余 3 码转 8421 可用加法器“减 3”，模 16 下等价于加 1101，取低四位。例：1000（余 3 码的 5）+1101=1 0101，输出 0101。

**易错：**仅依据低四位是否大于 9 进行判断，会遗漏 T=16—19 的情况。0010 可能来自总和 2，也可能来自 18，必须保留 C₄。

## 6. 数值比较器及其级联

来源：课件第 67—75 页。

无符号比较原则：按从高位到低位的顺序比较，只有所有更高位都相等，低位才有决定权。

令 $e_i=A_i\odot B_i$，同或表示相等：

$$E=e_3e_2e_1e_0$$

$$G=A_3\bar B_3+e_3A_2\bar B_2+e_3e_2A_1\bar B_1+e_3e_2e_1A_0\bar B_0$$

小于条件交换 A、B 即可。

**例：1010 与 1001。**最高两位相同，下一位 1>0，因此 1010>1001。最低位 0<1 不改变结论。

7485 类器件的独立使用，级联输入通常设“大于=0、等于=1、小于=0”，相当于假想更低位相等。两片比较八位时：低四位比较结果进入高四位芯片的级联输入，取高位芯片输出。线路从低片传高片，不等于逻辑判断低位优先。

**应用：**BCD 四舍五入判据 N≥5 等价于 N>4，把另一侧接 0100，读“大于”输出。输入需限定为合法 BCD。

无符号比较器不能不加处理地比较任意补码正负数，因为补码符号位是负权。

## 7. 普通编码器与优先编码器

来源：课件第 76 页与原厂功能说明。

编码器把“哪一条输入有效”变成二进制编号。

- 普通 8—3 编码通常要求恰好一条输入有效。
- 三位编号不能单独区分“第 0 路有效”和“没有请求”，需有效标志或系统约束。
- 优先编码器允许多条有效，按指定优先级选一条，不是把编号相或。

74LS148 的常见约定：输入、编码输出与使能采用低有效；高序号请求优先；还有状态/级联控制输出。以具体原厂功能表为准。

**例：**使能有效时，5 号和 2 号请求脚为低，其余高。5 优先，普通编号为 101，低有效编码引脚电平为 010。忽略低有效极性而将 010 解释为 2 号请求，会得到错误结论。

功能表分析步骤：判断使能条件 → 按优先级确定首个有效输入 → 忽略低优先级项 → 结合输出极性和有效标志解释结果。表中的 X 是逻辑无关，不表示真实输入具有第三种稳定电平。

## 8. 译码器、扩展与逻辑实现

来源：课件第 77—93 页与原厂功能说明。

### 8.1 输出极性与最小项关系

n—2ⁿ 变量译码器在使能时选出一路。

- 高有效输出为各个最小项 $m_i$。
- 低有效输出为 $y_i=\bar m_i$。

74138 有一根高有效使能 G₁、两根低有效使能脚。令低有效脚上的实际电平为 $g_{2A},g_{2B}$：

$$EN=G_1\bar g_{2A}\bar g_{2B}$$

G₁=1 且两低有效脚都为 0 才工作。使能时选中一路输出 0，其余 1；禁止时全部输出 1。

**例：**地址 A₂A₁A₀=101，工作时 y₅=0，其他为 1。禁止不是“选中第 0 路”。

### 8.2 扩展

- 两片 3—8 → 4—16：低三位接共同地址，最高位互斥选片；低片负责 0—7，高片负责 8—15。
- 五片 2—4 → 4—16：一片先译高两位，选择后级四片之一；后级共同译低两位。
- 检查前级输出极性与后级使能极性是否匹配，不能忽略前后级有效电平的匹配条件。

### 8.3 实现函数

高有效译码器：把需要的最小项输出相或。

低有效 74138：利用德摩根定律，用与非门合成。

$$F=m_1+m_2+m_4+m_7=\overline{y_1y_2y_4y_7}$$

**全加器例：**地址按 ABCᵢ，高位在左。

$$S=\Sigma m(1,2,4,7)=NAND(y_1,y_2,y_4,y_7)$$
$$C_{out}=\Sigma m(3,5,6,7)=NAND(y_3,y_5,y_6,y_7)$$

核验 110：只 y₆=0，和门未选中它而输出 0，进位门含它而输出 1，符合 1+1+0=2。

**易错：**直接把几个低有效输出相或，通常因至少一根为 1 而得到错误的常 1。末级门的选择应以译码输出极性为依据。

## 9. 显示译码与数据分配

来源：课件第 93—95 页。

七段显示器 a—g：数字 1 点亮 b、c，数字 8 全亮。因此显示译码允许多段同时有效，不是“一条输出有效”的变量译码模型。dp 是小数点控制。

- 共阴通常段端高电平点亮。
- 共阳通常段端低电平点亮。
- 驱动方式、电流和限流电阻要匹配。
- BCD 非法输入 1010—1111 的处理必须规定；只有确实不出现时才能作为无关项。

DEMUX 是一条数据分配给多条输出之一。理想高有效模型：

$$Y_i=D\cdot m_i(地址)$$

译码器使能端可承接数据；若使用低有效器件，输出极性也随之改变。

**组合选路例：**8 选 1 MUX 由地址 A 选输入，随后 1 分 8 DEMUX 由地址 B 选去向。A 决定输入来源，B 决定输出去向。源数据为 0 时，所有输出均可能为 0，该状态仍可符合通道选择关系。

## 10. MUX 与函数实现

来源：课件第 96—109 页。

4 选 1 的选择规则：00→D₀，01→D₁，10→D₂，11→D₃。

$$Y=\bar S_1\bar S_0D_0+\bar S_1S_0D_1+S_1\bar S_0D_2+S_1S_0D_3$$

有使能时先读使能。禁止输出可能为固定值，也可能为 Z，取决于具体型号。

### 10.1 地址覆盖全部变量

地址直接接函数变量，数据端按真值表接常量。

**例：**$F(A,B,C)=\Sigma m(3,5,6,7)$，用 8 选 1：地址 S₂S₁S₀=ABC，D₃、D₅、D₆、D₇ 接 1，其他接 0。

变量顺序决定最小项编号。交换地址接线后，数据端必须重排，不能只改地址不改表。

### 10.2 扩展

两个 4 选 1 先分低组、高组，低两位共同控制；再用最高位控制 2 选 1 合成八路。

有三态输出的 MUX 可以通过互斥使能共享线；普通推挽输出不能直接并接。扩展增加门级，应检查延迟。

## 11. 基于降维法的数据选择器设计

来源：课件第 108—117 页。

核心是香农展开：

$$F=\bar X\cdot F|_{X=0}+X\cdot F|_{X=1}$$

三变量函数选两变量作 4 选 1 地址，剩一变量 X。对每个地址，观察 X=0、1 时的函数值：

| F(0) | F(1) | 数据端 |
|---|---|---|
| 0 | 0 | 0 |
| 0 | 1 | X |
| 1 | 0 | X̄ |
| 1 | 1 | 1 |

**例 1：多数表决。**$F=\Sigma m(3,5,6,7)$，地址 AB，剩 C。

- AB=00：m₀、m₁ 为 0、0，D₀=0。
- AB=01：m₂、m₃ 为 0、1，D₁=C。
- AB=10：m₄、m₅ 为 0、1，D₂=C。
- AB=11：m₆、m₇ 为 1、1，D₃=1。

所以连接 0、C、C、1。降维卡诺图以格内的剩余变量函数表示各地址对应的余因子。

**例 2：四变量。**

$$F=\Sigma m(1,3,5,6,8,9,11,12)+\Sigma d(0,13)$$

地址 AB，各组按 CD=00、01、10、11 列函数值：

| AB | 四个值 | 一种可用数据函数 |
|---|---|---|
| 00 | X,1,0,1 | D（m₀ 无关取 0） |
| 01 | 0,1,1,0 | C⊕D |
| 10 | 1,1,0,1 | C̄+D |
| 11 | 1,X,0,0 | C̄（m₁₃ 无关取 1） |

该方案满足功能要求，但不保证在任意器件约束下均为最优。可更换地址变量比较剩余函数的复杂度。约束项的规定值必须保持不变。

## 12. 功能分解与编码转换

来源：课件第 118—126 页。

把大问题拆成：输入编码转换 → 核心运算 → 输出编码转换 → 异常检测。每个子功能均应明确位宽与信号含义。功能划分采用自上而下的方法，已有模块的复用采用自下而上的构造方法。

### 12.1 原码转补码

输入为 S B₃B₂B₁B₀，S 是符号，B 为四位幅值。对非零负数，可令：

$$X_i=B_i\oplus S$$
$$F=(X+S)\bmod16$$

输出为 S F₃F₂F₁F₀。

**例：−5。**原码 1 0101，低四位与 1111 异或得到 1010，再加 1 得 1011；输出 11011，用五位补码解释为 27−32=−5。

**重要边界：原码 −0。**输入 1 0000 若机械保留符号，会得到 10000，即五位补码 −16。需要排除 −0 输入，或加幅值零检测，把零输出的符号清零。原码有两种零，补码只有一种零，这是接口需求的一部分。

### 12.2 反码循环进位

反码负数由正数逐位取反；按模 $(2^n-1)$ 加法，最高进位要加回最低位。补码则丢弃最高进位，两种规则不能混用。

**例：五位反码 7−3。**

```
  00111       +7
+ 11100       -3 的反码
--------
1 00011
  00011 + 1 = 00100，结果 +4
```

**例：3−7。**00011+11000=11011，无最高进位；结果为负，取反得 00100，幅值 4，原码为 1 0100。

课件反码加减器：M=0 为 A+B，M=1 为 A−B；先把 B 转成相应反码，再相加，最后转回原码。A=B 可能产生反码 −0，需按需求规范零。若输出仅四位幅值，A+B>15 要报告溢出或扩位，或在题目中明确约束不出现。

### 12.3 与补码加减器比较

n 位补码中，$A-B=A+\bar B+1\pmod{2^n}$。令每个 $B_i$ 与 M 异或，初始进位 C₀=M，即实现 M=0 加法、M=1 减法。仍需检测有符号溢出；这不是课件反码循环进位电路的原样替换。

## 13. 4×4 无符号乘法器

来源：课件第 127—128 页。

部分积 $p_{ij}=A_iB_j$，权重 $2^{i+j}$。四位乘四位有 16 个部分积，最大 15×15=225，需要 8 位结果。

1. 与门产生所有部分积。
2. 按权重对齐，同权项相加。
3. 两项用半加器，三项用全加器，进位进入高一权列。
4. 输出各列最终和位。

课件典型阵列可用 16 与门、4 半加器、8 全加器；半加器可用进位接 0 的全加器替代。数量依实现结构，不是所有乘法器唯一的门数。

**例：0011×0101。**B₀=1 的部分积行是 00000011，B₂=1 的行是 00001100，其余为 0；相加得 00001111=15。位移代表权重，不是装饰。

有符号补码乘法不能直接照抄无符号阵列，因为最高位是负权，需符号处理。

## 14. 竞争与静态险象

来源：课件第 132—143 页。

竞争是不同路径或输入变化存在时差；险象是因此产生不希望的输出脉冲。竞争不一定产生险象，脉冲是否实际出现与延迟及门响应有关。

| 标准名称 | 稳态本应 | 短暂错误 | 课件命名 |
|---|---|---|---|
| 静态 1 险象 | 1 保持 1 | 低脉冲 | 0 型险象 |
| 静态 0 险象 | 0 保持 0 | 高脉冲 | 1 型险象 |

### 14.1 共识项消除静态 1 险象

$$F=AB+\bar AC$$

B=C=1、A 切换时，逻辑上 F 始终为 1。如果 AB 已降为 0，而经过反相路径的 ĀC 还未升高，输出可能短暂为 0。

加入共识项：

$$F_{safe}=AB+\bar AC+BC$$

BC 不改变稳定真值表，因为 $BC=ABC+\bar ABC$，两部分已分别被 AB、ĀC 覆盖；但 B=C=1 时，BC 持续提供 1，不依赖 A 的变化。

### 14.2 卡诺图规则与适用条件

对两级与或实现、单输入切换：相邻的两个 1 格，应至少被同一个乘积项圈覆盖，否则相应转换可能产生静态 1 险象。增加共同覆盖相邻格的乘积项，可在交接期间维持输出连续。

对两级或与实现，检查相邻 0 格的共同和项，处理静态 0 险象。例如：

$$F=(A+B)(\bar A+C)$$

可加入共识和项 $(B+C)$。这些结论有结构与激励条件，不代表任意多级电路加入一项就能消除全部毛刺。

**课件例：**$F=\Sigma m(1,2,3,5)=\bar AB+\bar BC$。在 A=0、C=1 时 B 切换，可能有静态 1 险象；加 ĀC，得 $F=\bar AB+\bar BC+\bar AC$。转成与非—与非实现后仍须保留保护项，实现时应保留该共识项。

判断给定电路的险象，要按它实际的项和连接。不能任意换成等价最简式，再把新实现的动态特征当成原电路特征。

## 15. 功能险象与动态险象

来源：课件第 144—151 页。

### 15.1 功能险象

多个输入在意图上同时改变，实际可能先后到达，经过中间输入组合。如果中间组合规定的函数值与起终点不同，就可能出现功能险象。

**例：**$F=D_0\bar A+D_1A$，输入按 D₀D₁A 排列，从 011→110，起终点 F=1。

- D₀先变化：011→111→110，F=1→1→1。
- A 先变化：011→010→110，F=1→0→1。

输入组合 010 对应的函数值已规定为 0。保持全部真值表不变的冗余项无法将该值改为 1，因此此类多输入转换问题不能仅通过逻辑化简消除。

若每个变化位只切换一次，枚举路径应只排列这些位的变化顺序，不应假设某位发生重复切换。抖动/振铃需要单独输入模型。

### 15.2 处理方法

- 等输入稳定后选通；或在满足建立、保持条件的时钟边沿采样。
- 用适合的编码与变化协议，限制多位同时改变；例如某些场景使用格雷码。
- 合理滤波可抑制脉冲，但增加延迟并改变边沿，需重新检查驱动与阈值。
- 滤波、冗余项和编码方法均有相应适用条件，不能视为消除所有险象的通用保证。

### 15.3 动态险象

输出本应只切换一次，却发生多次翻转。多级不等延迟路径及某些多输入先后变化可导致这种现象。静态/动态按期望输出行为分类；逻辑/功能竞争按原因分类，两个分类角度不同。

真实信号的上升下降时间也非零，输入阈值、互补控制、悬空和边沿质量都影响过渡行为。

## 16. 综合练习与解析

### 题 1：用 74138 实现 F=Σm(0,2,5,7)

地址固定按 ABC，译码器使能。用 NAND(y₀,y₂,y₅,y₇)。禁止时所有 y=1，末级输出为 0；若需求要求禁止时输出 1，应另加控制。

### 题 2：用 4 选 1 实现 A⊕B⊕C

地址 AB，剩 C。AB=00、01、10、11 时，函数分别为 C、C̄、C̄、C，所以四数据端接 C、C̄、C̄、C，共用一个非门。

### 题 3：BCD 的 9+8+1

第一级 1001+1000+0001=1 0010；K=1；低四位加 0110 得 1000。输出 BCD 0001 1000=18。第二级无二进制进位，不影响 K=1。

### 题 4：比较 1001 0010 与 1000 1111

低四位 0010<1111，高四位 1001>1000，最终大于。低片结果接高片级联端，读高片；高位本地分出大小时不采纳低位结论。

### 题 5：F=XY+X̄Z 的险象

Y=Z=1，X 切换时可能有静态 1 险象；加 YZ 共识项。结论针对相应两级结构及单输入切换，不保证任意多输入变化都无毛刺。

### 题 6：只判断两个 BCD 数位的和是否大于 9

先二进制相加，保留 C₄ 和 S；用 K=C₄+S₃S₂+S₃S₁ 输出判据。不需要个位输出时，可以不做第二级修正加法；需求决定模块数量。

## 17. 主要概念辨析

| 概念 | 区别 |
|---|---|
| 逻辑 1 / 高电平 | 前者是抽象值，后者是物理范围及约定 |
| 输入阈值 / 保证电平 | 典型翻转点不能代替最坏范围 |
| 直流扇出 / 高速负载能力 | 后者还受电容、边沿和时序限制 |
| 传输延迟 / 上升时间 | 输入输出间隔 vs 单边沿快慢 |
| Z / 1 | 不驱动 vs 驱动高电平 |
| 进位 / 有符号溢出 | 由编码解释决定，不能互相替代 |
| 编码 / 译码 | 选中线到编号 vs 编号到选中线 |
| MUX / DEMUX | 多路择一 vs 一路分配到多路之一 |
| 反码 / 补码加法 | 循环进位 vs 固定位宽模 2ⁿ |
| 静态险象 / 功能险象 | 路径交接毛刺 vs 多输入经过不同函数值状态 |

## 18. 参考资料与适用条件

- [Texas Instruments SN74LS138 数据手册](https://www.ti.com/lit/gpn/SN74LS138)：核对一高两低使能与低有效译码输出。
- [Texas Instruments SN74LS148 数据手册](https://www.ti.com/lit/ds/symlink/sn74ls148.pdf)：核对低有效输入输出、优先级及级联控制。

电路分析采用理想逻辑或明确规定的事件模型，相关波形不代表器件实测特性。实体电路设计还应依据完整型号资料核对供电、耐压、负载、时序、封装和引脚定义。
