本章要解决什么问题?
逻辑门电路可以画出来,也可以写成布尔表达式。本章学习如何在两种表示之间转换,并通过代数定律或卡诺图删掉冗余门电路,得到更短、更快、更省资源的实现。
导航
- 1. 布尔变量、文字项与基本运算
- 2. 布尔代数定律与 12 条基本规则
- 3. 德摩根定理
- 4. 从逻辑电路得到表达式和真值表
- 5. 用布尔代数化简
- 6. SOP/POS 标准形式
- 7. 表达式、真值表与最小项
- 8. 卡诺图
- 9. SOP 卡诺图化简
- 10. POS 卡诺图化简
- 11. Quine–McCluskey 表格法
- 12. VHDL 中的布尔表达式
- 13. 七段显示器应用
- 本章小结与自测
1. 布尔变量、文字项与基本运算
布尔变量只能取 0 或 1。变量的反相(补)写作 ,读作“非 A”或“A 反”;文字项(literal)可以是变量本身,也可以是变量的补。布尔加法就是 OR,布尔乘法就是 AND:
**和项(sum term)**是若干文字项的 OR,例如 ;只要至少一个文字项为 1,和项就为 1,只有所有文字项为 0 时才为 0。**积项(product term)**是若干文字项的 AND,例如 ;只有所有文字项为 1 时才为 1。
worked example 4-1:使和项为 0
求 的输入。和项为 0 要求每项都为 0,因此 :
worked example 4-2:使积项为 1
求 的输入。积项为 1 要求每项都为 1,因此 :
快速判断
和项看“有没有一个 1”;积项看“是不是全为 1”。遇到补变量时,先把输入值反相,再判断。
2. 布尔代数定律与 12 条基本规则
交换律:,。结合律:,。分配律:,反向就是提取公因子。
| 编号 | 规则 | 直观含义 |
|---|---|---|
| 1 | OR 端接 0 不改变信号 | |
| 2 | OR 端接 1,输出恒 1 | |
| 3 | AND 任一端为 0,输出为 0 | |
| 4 | AND 端接 1 不改变信号 | |
| 5 | 同一信号 OR 自身 | |
| 6 | 变量与补必有一个为 1 | |
| 7 | 同一信号 AND 自身 | |
| 8 | 变量与补不可能同时为 1 | |
| 9 | 双重反相抵消 | |
| 10 | 吸收律 | |
| 11 | 带补变量的吸收/合并 | |
| 12 | 共识形式的合并 |
worked example 4-3:验证吸收律
worked example 4-4:验证规则 11
worked example 4-5:验证规则 12
3. 德摩根定理
德摩根定理是 NAND/NOR 与负逻辑门等价的代数依据:
记忆方法是“断开横线,AND/OR 互换,每个变量分别取反”。对三个或更多变量同样适用。
worked example 4-6:多变量变换
worked example 4-7:由 XOR 推出 XNOR
异或表达式为 。其补为:
所以 ,即两个输入相同才为 1。
4. 从逻辑电路得到表达式和真值表
分析组合电路时从左向右、从输入到输出逐级写式。典型电路先由 AND 得 ,再与 OR 得 ,最后与 AND,输出为:
四个输入共有 种组合。求真值表时可先判断输出为 1 的条件: 且 ,或 (此时 B 任意)。因此输出为 1 的行是 1011、1100、1101、1110、1111。
常见错误
不要把 误读成 ;括号表示先 OR 再与 A AND。若要展开,必须使用分配律:。
5. 用布尔代数化简
化简目标是减少门数量、输入端数量和传播延迟,同时让 VHDL 更易读。建议顺序:先展开或提取公因子,再使用 、、吸收律,最后检查是否还能合并。
worked example 4-8
原式需要多级门,最简式只需一个 AND 和一个 OR。
worked example 4-9
worked example 4-10
worked example 4-11
## 6. SOP/POS 标准形式 **SOP(积之和)**是多个积项 OR,例如 $AB+\overline A C+BCD$,可用“AND 门阵列接 OR 门”实现;也可用 NAND/NAND 实现。**POS(和之积)**是多个和项 AND,例如 $(A+B)(\overline A+C)$,可用“OR 门阵列接 AND 门”实现。 表达式的**域**是其中出现过的所有变量。标准 SOP 要求每个积项都包含域内全部变量;标准 POS 要求每个和项都包含域内全部变量。 ### SOP 标准化 缺少变量时乘以 $X+\overline X=1$。例如: $$A\overline BC=A\overline BC(D+\overline D)=A\overline BCD+A\overline BC\overline D$$ ### POS 标准化 缺少变量时加上 $X\overline X=0$,再用规则 12:$Y+UV=(Y+U)(Y+V)$。例如: $$A+\overline B+C=A+\overline B+C+D\overline D$$ $$=(A+\overline B+C+D)(A+\overline B+C+\overline D)$$ ### worked example 4-12:SOP 到 POS $$\overline A\overline B\overline C+\overline A B\overline C+\overline A BC+A\overline BC+ABC$$ SOP 为 1 的编码是 000、010、011、101、111;其余 001、100、110 对应 POS 中为 0 的和项,因此: $$X=(A+B+\overline C)(\overline A+B+C)(\overline A+\overline B+C)$$ ## 7. 表达式、真值表与最小项 n 个变量有 $2^n$ 行。标准积项只在一个输入编码上为 1,称为最小项(minterm);标准和项只在一个编码上为 0,称为最大项(maxterm)。 编码到积项:1 写变量,0 写变量补。例如 1010 → $A\overline B C\overline D$。 编码到和项:0 写变量,1 写变量补。例如 1001 → $\overline A+B+C+\overline D$。 从真值表反推标准 SOP:收集输出为 1 的行并把积项相加;反推标准 POS:收集输出为 0 的行并把和项相乘。 ## 8. 卡诺图 卡诺图(K-map)把真值表重排成网格:3 变量有 8 格,4 变量有 16 格。行列采用格雷码顺序(00、01、11、10),保证相邻格只改变一个变量。 相邻包括上下左右,且首尾环绕相邻;对角线不相邻。化简的本质是把相邻格中的互补变量消掉。 - 3 变量:单格→3 变量积项,2 格→2 变量,4 格→1 变量,8 格→1。 - 4 变量:单格→4 变量,2 格→3 变量,4 格→2 变量,8 格→1 变量,16 格→1。 Quine–McCluskey 适合变量较多且需要程序自动化的场合;Espresso 则更适合大规模逻辑综合。 ## 9. SOP 卡诺图化简 SOP 在对应最小项位置填 1。分组必须是 1、2、4、8、16 格;优先最大分组,允许重叠,但每个 1 至少被覆盖一次。组内保持不变的变量留下,既有正又有反的变量消去。 ### worked example 4-13 $$\overline A\overline BC+A\overline BC+\overline A\overline B\overline C+A\overline B\overline C+A\overline BC$$ 卡诺图中利用首尾环绕可组成 4 格组和 2 格组,得到: $$X=\overline B+\overline A C$$ ### worked example 4-14 将含缺失变量的项先数值展开,再填图。例如 $\overline A$(3 变量)覆盖 000、001、010、011;$A\overline B$ 覆盖 100、101;标准项按自身编码填入。重复覆盖不影响结果。 ### 不关心项(don’t care) 永远不会出现的输入组合可在图中写 X。分组时可把 X 当 1 以扩大分组,也可当 0 忽略。BCD 的 1010~1111 是典型不关心组合。 七段显示器 segment a 的例子中,利用 BCD 无效码作为 X,原始 8 项 SOP 可化为: $$a=A+C+BD+\overline B\,\overline D$$ ## 10. POS 卡诺图化简 POS 与 SOP 的流程完全对应,但填的是使和项为 0 的格,并把 0 分组。组内保持为 0 的文字项留下:若变量在该组恒为 0,和项中写变量;若恒为 1,写变量补。 ### worked example 4-15 $$X=(A+B+C)(A+B+\overline C)(A+\overline B+C)(A+\overline B+\overline C)(\overline A+\overline B+C)$$ 对 0 分组后得到最小 POS: $$X=A(\overline B+C)$$ 同时对剩余 1 分组可得到等价最小 SOP: $$X=AC+A\overline B$$ 卡诺图也可直接完成 POS↔SOP:POS 图中未填 0 的格填 1,读出标准 SOP;再对这些 1 分组即可得到最小 SOP。 ## 11. Quine–McCluskey 表格法 步骤如下: 1. 把函数写成标准最小项,记录每个最小项的二进制编码。 2. 按编码中 1 的个数分组。 3. 比较相邻组:仅一位不同的项合并,并用 x 表示不同位;一项可参与多次合并。 4. 重复比较,直到不能再合并。 5. 未被进一步合并的项是质蕴含项;只覆盖某个最小项的质蕴含项是必要质蕴含项。 6. 建立质蕴含项表,选出覆盖全部最小项且尽量少的项。 例如原函数含 $m_1,m_3,m_4,m_5,m_{10},m_{12},m_{13},m_{15}$,表格合并后可得到: $$X=B\overline C+\overline A\overline B D+ABD+A\overline B C\overline D$$ 卡诺图更直观,Quine–McCluskey 更规则、更适合计算机实现。 ## 12. VHDL 中的布尔表达式 布尔化简可直接减少 VHDL 代码和目标 PLD 的资源。原式例如: ```vhdl X <= not((A and C) or not(B and not C) or D) or not(not(B and C)); ``` 化简后只需: ```vhdl entity ReducedLogic is port (B, C, D: in bit; X: out bit); end entity ReducedLogic; architecture Expression2 of ReducedLogic is begin X <= (B and not C and not D) or (B and C); end architecture Expression2; ``` VHDL 描述逻辑有三种抽象层次:真值表/状态图对应 behavioral,布尔表达式与信号流对应 data flow,门级原理图对应 structural。 ## 13. 七段显示器应用 七段显示器由 a~g 七段组成,LED 适合暗处,LCD 依赖环境光。共阳极显示器通常低电平点亮,高电平熄灭;逻辑化简过程仍按目标输出填图,必要时使用不关心项。 字母 A、b、C、d、E 的点亮段分别为: |字符|点亮段| |---|---| |A|a、b、c、e、f、g| |b|c、d、e、f、g| |C|a、d、e、f| |d|b、c、d、e、g| |E|a、d、e、f、g| segment a、b、c 的化简表达式可写成: $$a=H_0$$ $$b=\overline H_1\,\overline H_0+H_1H_0+H_2H_1$$ $$c=\overline H_1\,\overline H_0+H_2H_1$$ 对应 VHDL: ```vhdl SEGa <= H0; SEGb <= (not H1 and not H0) or (H1 and H0) or (H2 and H1); SEGc <= (not H1 and not H0) or (H2 and H1); ``` 若改用共阴极显示器,点亮有效电平反转,通常在每个段输出端增加反相,或重新按高电平有效的真值表化简。 ## 本章小结与自测 - 布尔加法=OR,布尔乘法=AND;和项看任一 1,积项看全 1。 - 掌握交换律、结合律、分配律及 12 条基本规则,尤其是吸收律和互补律。 - 德摩根:横线断开、运算符互换、每个变量取反。 - SOP 是 AND 后 OR,POS 是 OR 后 AND;标准形式要求每项包含完整域。 - 真值表、表达式、逻辑图是同一逻辑函数的三种表示。 - SOP 卡诺图圈 1,POS 卡诺图圈 0;组大小必须是 2 的幂,可环绕、可重叠。 - 不关心项可帮助扩大分组,但只能用于实际不会出现的输入。 - Quine–McCluskey 适合自动化;VHDL 化简可减少代码和器件资源。 ### 自测题 1. 若 $A=0$,$\overline A$ 是多少? 2. 使 $\overline A+B+C=0$ 的输入是什么? 3. 化简 $A+AB$。 4. 应用德摩根定理:$\overline{A(B+C)}$。 5. 4 变量卡诺图有多少格? 6. 1010 对应的标准积项是什么? 7. 1010 对应的标准和项是什么? 8. POS 卡诺图应该圈 1 还是圈 0? 9. 什么是必要质蕴含项? 10. VHDL 的 data flow、structural、behavioral 分别对应什么抽象层次? ### 自测参考答案 1. 1。2. $A=1,B=0,C=0$。3. $A$。4. $\overline A(\overline B+\overline C)$。5. 16 格。6. $A\overline B C\overline D$。7. $\overline A+B+\overline C+D$。8. 圈 0。9. 至少覆盖一个其他质蕴含项无法覆盖的最小项、因而必须选入的项。10. 布尔/数据流、门级结构、真值表或行为描述。 ## worked examples 完整索引 源教材例题编号为 4-1~4-38。以下保留每道例题的任务主旨,便于按编号复习。 |例题|中文任务主旨| |---|---| |4-1|Determine the values of A, B, C, and D that make the sum term $A + { \overline { { B } } } + C + { \overline { { D } } }$ equal to 0. For the sum term to be 0, each of the literals in the term must be 0. Therefore, ${ \c| |4-2|Determine the values of A, B, C, and D that make the product term $A \overline { { B } } \dot { C } \overline { { D } }$ equal to 1. For the product term to be 1, each of the literals in the term must be 1. Therefore, A | |4-3|Apply DeMorgan’s theorems to the expressions $\overline { { X Y Z } }$ and ${ \overline { { X + Y + Z } } } .$ Solution \begin{array}{r} \overline {{X Y Z}} = \overline {{X}} + \overline {{Y}} + \overline {{Z}} \\ \overl| |4-4|Apply DeMorgan’s theorems to the expressions $\overline { { W X Y Z } }$ and ${ \overline { { W + X + Y } } } + Z .$ Solution \begin{array}{c} \overline {{W X Y Z}} = \overline {{W}} + \overline {{X}} + \overline {{Y}} +| |4-5|Apply DeMorgan’s theorems to each of the following expressions: (a) $\overline { { ( A + B + C ) D } }$ (b) $\overline { { A B C + D E F } }$ (c) $A \overline { { B } } + \overline { { C } } D + E F$| |4-6|Apply DeMorgan’s theorems to each expression: (a) $( { \overline { { A + B } } } ) + { \overline { { C } } }$ (b) $( \overline { { A } } + B ) + C D$ (c) $( A + B ) \overline { { { C } } } \overline { { { D } } } + E + \| |4-7|The Boolean expression for an exclusive-OR gate is $A { \overline { { B } } } + { \overline { { A } } } B .$ . With this as a starting point, use DeMorgan’s theorems and any other rules or laws that are applicable to dev| |4-8|Click on the $\Rightarrow \frac { 1 0 1 } { 1 0 1 }$ conversion bar, and the truth table appears in the display as shown.| |4-9|Using Boolean algebra techniques, simplify this expression: A B + A (B + C) + B (B + C) <table><tr><td colspan="2">Solution</td></tr><tr><td colspan="2">The following is not necessarily the only approach.</td></tr><tr><t| |4-10|Simplify the following Boolean expression: [ A \overline {{B}} (C + B D) + \overline {{A}} \overline {{B}} ] C Note that brackets and parentheses mean the same thing: the term inside is multiplied (ANDed) with the term o| |4-11|Simplify the following Boolean expression: \overline {{A}} B C + A \overline {{B}} \overline {{C}} + \overline {{A}} \overline {{B}} \overline {{C}} + A \overline {{B}} C + A B C| |4-12|Simplify the following Boolean expression: \overline {{A B + A C}} + \overline {{A}} \overline {{B}} C| |4-13|Step 2: Generate the truth table by clicking on $\textcircled { 2 } \overline { { 1 0 1 } }$| |4-14|Convert each of the following Boolean expressions to SOP form: (\mathbf {a}) A B + B (C D + E F) \quad (\mathbf {b}) (A + B) (B + C + D) \quad (\mathbf {c}) (\overline {{A + B}}) + C Solution| |4-15|Convert the following Boolean expression into standard SOP form: A \overline {{B}} C + \overline {{A}} \overline {{B}} + A B \overline {{C}} D| |4-16|Determine the binary values for which the following standard SOP expression is equal to 1: A B C D + A \overline {{B}} \overline {{C}} D + \overline {{A}} \overline {{B}} \overline {{C}} \overline {{D}}| |4-17|Convert the following Boolean expression into standard POS form: (A + \overline {{B}} + C) (\overline {{B}} + C + \overline {{D}}) (A + \overline {{B}} + \overline {{C}} + D)| |4-18|Determine the binary values of the variables for which the following standard POS expression is equal to 0: (A + B + C + D) (A + \overline {{B}} + \overline {{C}} + D) (\overline {{A}} + \overline {{B}} + \overline {{C}}| |4-19|Convert the following SOP expression to an equivalent POS expression: \overline {{A}} \overline {{B}} \overline {{C}} + \overline {{A}} B \overline {{C}} + \overline {{A}} B C + A \overline {{B}} C + A B C| |4-20|Develop a truth table for the standard SOP expression ${ \overline { { A } } } { \overline { { B } } } C + A { \overline { { B } } } { \overline { { C } } } + A B C .$ There are three variables in the domain, so there ar| |4-21|Determine the truth table for the following standard POS expression: (A + B + C) (A + \overline {{B}} + C) (A + \overline {{B}} + \overline {{C}}) (\overline {{A}} + B + \overline {{C}}) (\overline {{A}} + \overline {{B}| |4-22|From the truth table in Table 4–8, determine the standard SOP expression and the equivalent standard POS expression. <table><tr><td colspan="4">TABLE 4-8</td></tr><tr><td></td><td colspan="2">Inputs</td><td>Output</td></| |4-23|Map the following standard SOP expression on a Karnaugh map: \overline {{A}} \overline {{B}} C + \overline {{A}} B \overline {{C}} + A B \overline {{C}} + A B C| |4-24|Map the following standard SOP expression on a Karnaugh map: \overline {{A}} \overline {{B}} C D + \overline {{A}} B \overline {{C}} \overline {{D}} + A B \overline {{C}} D + A B C D + A B \overline {{C}} \overline {{D}}| |4-25|Map the following SOP expression on a Karnaugh map: ${ \overline { { A } } } + A { \overline { { B } } } + A B { \overline { { C } } } .$ The SOP expression is obviously not in standard form because each product term doe| |4-26|Map the following SOP expression on a Karnaugh map: \overline {{B}} \overline {{C}} + A \overline {{B}} + A B \overline {{C}} + A \overline {{B}} C \overline {{D}} + \overline {{A}} \overline {{B}} \overline {{C}} D + A | |4-27|(a) (b)| |4-28|| |4-29|| |4-30|Use a Karnaugh map to minimize the following standard SOP expression: A \overline {{B}} C + \overline {{A}} B C + \overline {{A}} \overline {{B}} C + \overline {{A}} \overline {{B}} \overline {{C}} + A \overline {{B}} \o| |4-31|Use a Karnaugh map to minimize the following SOP expression: \overline {{B}} \overline {{C}} \overline {{D}} + \overline {{A}} B \overline {{C}} \overline {{D}} + A B \overline {{C}} \overline {{D}} + \overline {{A}} \ov| |4-32|The expression for segment a is| |4-33|Map the following standard POS expression on a Karnaugh map: (\overline {{A}} + \overline {{B}} + C + D) (\overline {{A}} + B + \overline {{C}} + \overline {{D}}) (A + B + \overline {{C}} + D) (\overline {{A}} + \overlin| |4-34|Use a Karnaugh map to minimize the following standard POS expression: (A + B + C) (A + B + \overline {{C}}) (A + \overline {{B}} + C) (A + \overline {{B}} + \overline {{C}}) (\overline {{A}} + \overline {{B}} + C) Also, | |4-35|Use a Karnaugh map to minimize the following POS expression: (B + C + D) (A + B + \overline {{C}} + D) (\overline {{A}} + B + C + \overline {{D}}) (A + \overline {{B}} + C + D) (\overline {{A}} + \overline {{B}} + C + D)| |4-36|Using a Karnaugh map, convert the following standard POS expression into a minimum POS expression, a standard SOP expression, and a minimum SOP expression. (\overline {{A}} + \overline {{B}} + C + D) (A + \overline {{B}}| |4-38|(a) Write a VHDL program to describe the following SOP expression. (b) Minimize the expression and show how much the VHDL program is simplified. \begin{array}{r l} X & = \overline {{A}} \overline {{B}} \overline {{C}} \o| > [!note] 例题阅读方法 > > 先明确题目要求,再写中间表达式,最后用真值表或代数恒等式验证。 ## 本章图示与原书例题索引 以下逐一保留源教材第 4 章的全部图片路径,并补充中文图题。图片顺序与原书切片一致;遇到同一图的分图,分别列出,便于在网页中核对门电路、真值表、卡诺图、VHDL 和七段显示器内容。  *图 4-1:第4章原书图示(逻辑门、真值表、卡诺图或应用电路)*  *图 4-2:第4章原书图示(逻辑门、真值表、卡诺图或应用电路)*  *图 4-3:第4章原书图示(逻辑门、真值表、卡诺图或应用电路)*  *图 4-4:第4章原书图示(逻辑门、真值表、卡诺图或应用电路)*  *图 4-5:第4章原书图示(逻辑门、真值表、卡诺图或应用电路)*  *图 4-6:第4章原书图示(逻辑门、真值表、卡诺图或应用电路)*  *图 4-7:第4章原书图示(逻辑门、真值表、卡诺图或应用电路)*  *图 4-8:第4章原书图示(逻辑门、真值表、卡诺图或应用电路)*  *图 4-9:第4章原书图示(逻辑门、真值表、卡诺图或应用电路)*  *图 4-10:第4章原书图示(逻辑门、真值表、卡诺图或应用电路)*  *图 4-11:第4章原书图示(逻辑门、真值表、卡诺图或应用电路)*  *图 4-12:第4章原书图示(逻辑门、真值表、卡诺图或应用电路)*  *图 4-13:第4章原书图示(逻辑门、真值表、卡诺图或应用电路)*  *图 4-14:第4章原书图示(逻辑门、真值表、卡诺图或应用电路)*  *图 4-15:第4章原书图示(逻辑门、真值表、卡诺图或应用电路)*  *图 4-16:第4章原书图示(逻辑门、真值表、卡诺图或应用电路)*  *图 4-17:第4章原书图示(逻辑门、真值表、卡诺图或应用电路)*  *图 4-18:第4章原书图示(逻辑门、真值表、卡诺图或应用电路)*  *图 4-19:第4章原书图示(逻辑门、真值表、卡诺图或应用电路)*  *图 4-20:第4章原书图示(逻辑门、真值表、卡诺图或应用电路)*  *图 4-21:第4章原书图示(逻辑门、真值表、卡诺图或应用电路)*  *图 4-22:第4章原书图示(逻辑门、真值表、卡诺图或应用电路)*  *图 4-23:第4章原书图示(逻辑门、真值表、卡诺图或应用电路)*  *图 4-24:第4章原书图示(逻辑门、真值表、卡诺图或应用电路)*  *图 4-25:第4章原书图示(逻辑门、真值表、卡诺图或应用电路)*  *图 4-26:第4章原书图示(逻辑门、真值表、卡诺图或应用电路)*  *图 4-27:第4章原书图示(逻辑门、真值表、卡诺图或应用电路)*  *图 4-28:第4章原书图示(逻辑门、真值表、卡诺图或应用电路)*  *图 4-29:第4章原书图示(逻辑门、真值表、卡诺图或应用电路)*  *图 4-30:第4章原书图示(逻辑门、真值表、卡诺图或应用电路)*  *图 4-31:第4章原书图示(逻辑门、真值表、卡诺图或应用电路)*  *图 4-32:第4章原书图示(逻辑门、真值表、卡诺图或应用电路)*  *图 4-33:第4章原书图示(逻辑门、真值表、卡诺图或应用电路)*  *图 4-34:第4章原书图示(逻辑门、真值表、卡诺图或应用电路)*  *图 4-35:第4章原书图示(逻辑门、真值表、卡诺图或应用电路)*  *图 4-36:第4章原书图示(逻辑门、真值表、卡诺图或应用电路)*  *图 4-37:第4章原书图示(逻辑门、真值表、卡诺图或应用电路)*  *图 4-38:第4章原书图示(逻辑门、真值表、卡诺图或应用电路)*  *图 4-39:第4章原书图示(逻辑门、真值表、卡诺图或应用电路)*  *图 4-40:第4章原书图示(逻辑门、真值表、卡诺图或应用电路)*  *图 4-41:第4章原书图示(逻辑门、真值表、卡诺图或应用电路)*  *图 4-42:第4章原书图示(逻辑门、真值表、卡诺图或应用电路)*  *图 4-43:第4章原书图示(逻辑门、真值表、卡诺图或应用电路)*  *图 4-44:第4章原书图示(逻辑门、真值表、卡诺图或应用电路)*  *图 4-45:第4章原书图示(逻辑门、真值表、卡诺图或应用电路)*  *图 4-46:第4章原书图示(逻辑门、真值表、卡诺图或应用电路)*  *图 4-47:第4章原书图示(逻辑门、真值表、卡诺图或应用电路)*  *图 4-48:第4章原书图示(逻辑门、真值表、卡诺图或应用电路)*  *图 4-49:第4章原书图示(逻辑门、真值表、卡诺图或应用电路)*  *图 4-50:第4章原书图示(逻辑门、真值表、卡诺图或应用电路)*  *图 4-51:第4章原书图示(逻辑门、真值表、卡诺图或应用电路)*  *图 4-52:第4章原书图示(逻辑门、真值表、卡诺图或应用电路)*  *图 4-53:第4章原书图示(逻辑门、真值表、卡诺图或应用电路)*  *图 4-54:第4章原书图示(逻辑门、真值表、卡诺图或应用电路)*  *图 4-55:第4章原书图示(逻辑门、真值表、卡诺图或应用电路)*  *图 4-56:第4章原书图示(逻辑门、真值表、卡诺图或应用电路)*  *图 4-57:第4章原书图示(逻辑门、真值表、卡诺图或应用电路)*  *图 4-58:第4章原书图示(逻辑门、真值表、卡诺图或应用电路)*  *图 4-59:第4章原书图示(逻辑门、真值表、卡诺图或应用电路)*  *图 4-60:第4章原书图示(逻辑门、真值表、卡诺图或应用电路)*  *图 4-61:第4章原书图示(逻辑门、真值表、卡诺图或应用电路)*  *图 4-62:第4章原书图示(逻辑门、真值表、卡诺图或应用电路)*  *图 4-63:第4章原书图示(逻辑门、真值表、卡诺图或应用电路)*  *图 4-64:第4章原书图示(逻辑门、真值表、卡诺图或应用电路)*  *图 4-65:第4章原书图示(逻辑门、真值表、卡诺图或应用电路)*  *图 4-66:第4章原书图示(逻辑门、真值表、卡诺图或应用电路)*  *图 4-67:第4章原书图示(逻辑门、真值表、卡诺图或应用电路)*  *图 4-68:第4章原书图示(逻辑门、真值表、卡诺图或应用电路)*  *图 4-69:第4章原书图示(逻辑门、真值表、卡诺图或应用电路)*  *图 4-70:第4章原书图示(逻辑门、真值表、卡诺图或应用电路)*  *图 4-71:第4章原书图示(逻辑门、真值表、卡诺图或应用电路)*  *图 4-72:第4章原书图示(逻辑门、真值表、卡诺图或应用电路)*  *图 4-73:第4章原书图示(逻辑门、真值表、卡诺图或应用电路)*  *图 4-74:第4章原书图示(逻辑门、真值表、卡诺图或应用电路)*  *图 4-75:第4章原书图示(逻辑门、真值表、卡诺图或应用电路)*  *图 4-76:第4章原书图示(逻辑门、真值表、卡诺图或应用电路)*  *图 4-77:第4章原书图示(逻辑门、真值表、卡诺图或应用电路)*  *图 4-78:第4章原书图示(逻辑门、真值表、卡诺图或应用电路)*  *图 4-79:第4章原书图示(逻辑门、真值表、卡诺图或应用电路)*  *图 4-80:第4章原书图示(逻辑门、真值表、卡诺图或应用电路)*  *图 4-81:第4章原书图示(逻辑门、真值表、卡诺图或应用电路)*  *图 4-82:第4章原书图示(逻辑门、真值表、卡诺图或应用电路)*  *图 4-83:第4章原书图示(逻辑门、真值表、卡诺图或应用电路)*  *图 4-84:第4章原书图示(逻辑门、真值表、卡诺图或应用电路)*  *图 4-85:第4章原书图示(逻辑门、真值表、卡诺图或应用电路)*  *图 4-86:第4章原书图示(逻辑门、真值表、卡诺图或应用电路)*  *图 4-87:第4章原书图示(逻辑门、真值表、卡诺图或应用电路)*  *图 4-88:第4章原书图示(逻辑门、真值表、卡诺图或应用电路)*  *图 4-89:第4章原书图示(逻辑门、真值表、卡诺图或应用电路)*  *图 4-90:第4章原书图示(逻辑门、真值表、卡诺图或应用电路)*  *图 4-91:第4章原书图示(逻辑门、真值表、卡诺图或应用电路)*  *图 4-92:第4章原书图示(逻辑门、真值表、卡诺图或应用电路)*  *图 4-93:第4章原书图示(逻辑门、真值表、卡诺图或应用电路)*  *图 4-94:第4章原书图示(逻辑门、真值表、卡诺图或应用电路)*  *图 4-95:第4章原书图示(逻辑门、真值表、卡诺图或应用电路)*  *图 4-96:第4章原书图示(逻辑门、真值表、卡诺图或应用电路)*  *图 4-97:第4章原书图示(逻辑门、真值表、卡诺图或应用电路)*  *图 4-98:第4章原书图示(逻辑门、真值表、卡诺图或应用电路)* 原书 worked examples 4-1~4-38 的核心推导已在上文按中文初学者方式重述;相关题、章节 checkup 与习题可结合原始切片继续练习。 ## 自测一下 > [!question]- 组合逻辑分析通常从哪些已知条件出发? > > **参考答案**:通常从已知的逻辑图(电路连接)出发,从输入到输出逐级写出每个门的布尔表达式,最后得到总输出式。例如本章典型电路先由 AND 得 $CD$,再与 B 做 OR 得 $B+CD$,最后与 A 做 AND,得 $X=A(B+CD)$。有了表达式再列真值表(4 输入共 $2^4=16$ 行),并可按"输出为 1 的条件"快速判断哪些输入编码使输出为 1。 > [!question]- 译码器和编码器的功能如何区分? > > **参考答案**:译码器是把 n 位输入代码"翻译"成 $2^n$ 条输出线中某一路有效的电路,一种输入编码只对应一路输出有效;编码器则相反,把多条输入线中有效的那一路编成对应的二进制代码输出。简言之,译码是"代码→信号",编码是"信号→代码",两者功能互逆。理解它们时可借助本章真值表方法:每种输入编码对应唯一确定的输出行。 > [!question]- 多路选择器如何实现逻辑函数? > > **参考答案**:把函数的部分输入变量接到多路选择器的选择端,再按真值表把 0、1(或剩余变量及其反)分别接到各数据输入端;选择端取到哪组编码,就选通对应的数据输入送到输出。这相当于按地址逐行"查"真值表,把函数展开成最小项后逐一对应,因此任何由真值表给出的函数都能用输入数足够的多路选择器实现。 > [!question]- 竞争冒险产生的原因是什么? > > **参考答案**:同一信号经过不同路径到达汇合点时,因各路径经过的门级数不同、传播延迟不同,到达时间就有先后之差,这称为竞争。当表达式里同时出现某变量及其反(如 $A\overline A$ 或 $A+\overline A$ 形式)时,该变量跳变的瞬间两个分量来不及同时变化,输出可能出现短暂的不应有的尖峰脉冲,这就是冒险。本质原因是器件的传播延迟不可能为零。 > [!question]- 如何用卡诺图设计无冒险电路? > > **参考答案**:先按普通方法对卡诺图上的 1(或 0)分组化简,再检查是否存在相邻但分属不同组的格:这样的两个格在变量跳变瞬间可能因一组先退出、另一组尚未进入而出现毛刺。解决方法是额外增加一个冗余的覆盖组(相当于加入共识项),使任何相邻的 1 都至少被一个公共组同时覆盖。这样变量切换时始终有组保持有效,输出不再出现瞬时尖峰,代价只是多用一个门。