《数字电路》| 第 11 节‑常用组合逻辑电路

11.1 本节导论

组合逻辑电路是数字系统的基石,其输出仅由当前输入决定,无记忆功能。本节将系统讲解加法器、编码器、译码器、数据选择器(MUX)和数值比较器等常用中规模集成组合逻辑器件。我们将深入剖析它们的工作原理、逻辑功能、典型芯片及应用电路,并掌握其级联扩展方法,为设计更复杂的数字系统打下坚实基础。

11.2 加法器

加法器是执行算术加法运算的基本逻辑电路,是CPU中算术逻辑单元(ALU)的核心部件。

11.2.1 半加器与全加器

半加器 (Half Adder, HA) 不考虑来自低位的进位,仅对两个一位二进制数相加

  • 输入:加数 A,被加数 B。

  • 输出:和数 S,进位 C。

  • 真值表

    A B S C
    0 0 0 0
    0 1 1 0
    1 0 1 0
    1 1 0 1
  • 逻辑表达式
    S=A⊕B S = A \oplus B S=A⊕B
    C=A⋅B C = A \cdot B C=A⋅B

  • 逻辑图 :可由一个异或门和一个与门实现

全加器 (Full Adder, FA) 考虑来自低位的进位,对两个一位二进制数及一个进位输入进行相加。

  • 输入 :加数 A,被加数 B,低位进位 CinC_{in}Cin。

  • 输出 :和数 S,进位 CoutC_{out}Cout。

  • 真值表

    A B CinC_{in}Cin S CoutC_{out}Cout
    0 0 0 0 0
    0 0 1 1 0
    0 1 0 1 0
    0 1 1 0 1
    1 0 0 1 0
    1 0 1 0 1
    1 1 0 0 1
    1 1 1 1 1
  • 逻辑表达式
    S=A⊕B⊕Cin S = A \oplus B \oplus C_{in} S=A⊕B⊕Cin
    Cout=(A⋅B)+(B⋅Cin)+(A⋅Cin) C_{out} = (A \cdot B) + (B \cdot C_{in}) + (A \cdot C_{in}) Cout=(A⋅B)+(B⋅Cin)+(A⋅Cin)

  • 逻辑图

11.2.2 多位加法器

串行进位加法器 (Ripple Carry Adder)

每一位的相加结果都必须等到低一位的进位产生以后才能建立起来,因此将这种结构的电路称为串行进位加法器(或称为行波进位加法器)。

  • 原理:将 n 个全加器级联,低位全加器的进位输出连接到相邻高位全加器的进位输入
  • 特点 :结构简单,但进位信号需要逐级传递,运算速度慢。n位加法器的总延迟时间与位数 n 成正比。

超前进位加法器 (Look-Ahead Carry Adder)

  • 为解决串行进位的延迟问题,超前进位加法器通过逻辑表达式提前计算每一位的进位 CiC_iCi,无需等待低位进位传递
    • 原理:通过逻辑电路提前计算出所有位的进位信号,而不是等待前一级的进位产生。
    • 进位生成函数 Gi=Ai⋅BiG_i = A_i \cdot B_iGi=Ai⋅Bi
    • 进位传递函数 Pi=Ai+BiP_i = A_i + B_iPi=Ai+Bi (或 Ai⊕BiA_i \oplus B_iAi⊕Bi,取决于设计)
    • 进位公式 :Ci+1=Gi+Pi⋅CiC_{i+1} = G_i + P_i \cdot C_iCi+1=Gi+Pi⋅Ci
  • 特点 :通过多级门电路并行产生进位 ,大大提高了运算速度,但电路结构复杂,成本高。常用于对速度要求高的CPU中。

11.3 有效电平概念

在数字电路中,有效电平 是指使某个逻辑功能被激活或使能时所对应的逻辑电平(高电平或低电平)。

  • 高电平有效 (Active High):当信号为逻辑'1'(高电平)时,功能被激活。当信号为逻辑'0'(低电平)时,功能失效
  • 低电平有效 (Active Low):当信号为逻辑'0'(低电平)时,功能被激活。当信号为逻辑'1'(高电平)时,功能失效。

理解要点

  1. 使能端 (Enable):很多芯片有一个或多个使能引脚,只有当使能信号处于有效电平时,芯片才正常工作。
  2. 片选信号 (Chip Select, CS):在存储器或外设接口中常用,低电平有效表示选中该芯片。
  3. 复位/清零信号 (Reset/Clear):可能是高电平有效或低电平有效,需查阅芯片手册。
  4. 读/写信号 (Read/Write):在总线控制中,读写信号的有效电平决定了数据流的方向。

11.4 编码器

编码器的功能是将 2n2^n2n 个输入信号(通常只有一位为有效电平)转换为 n 位二进制代码输出。

11.4.1 普通编码器

普通编码器要求任何时刻只能有一个输入信号有效,否则输出将发生混乱。

  • 4线-2线编码器 :将 I0,I1,I2,I3I_0, I_1, I_2, I_3I0,I1,I2,I3四个输入(高有效 )编码为两位二进制输出 Y1,Y0Y_1, Y_0Y1,Y0

  • 真值表

    I3I_3I3 I2I_2I2 I1I_1I1 I0I_0I0 Y1Y_1Y1 Y0Y_0Y0
    0 0 0 1 0 0
    0 0 1 0 0 1
    0 1 0 0 1 0
    1 0 0 0 1 1
  • 逻辑表达式

    Y1=I3+I2Y0=I3+I1 Y_1 = I_3 + I_2 \\ Y_0 = I_3 + I_1Y1=I3+I2Y0=I3+I1

  • 缺点:无法处理多个输入同时有效的情况

11.4.2 优先编码器

优先编码器允许多个输入同时有效 ,但会按预先设定的优先级对优先级最高的有效输入进行编码。

  • 典型芯片 :74LS147(10线-4线优先编码器,输入低有效 ,输出为BCD反码

  • 输入 :I1‾\overline{I_1}I1 ~ I9‾\overline{I_9}I9(I9‾\overline{I_9}I9 优先级最高,I1‾\overline{I_1}I1 最低)。

  • 输出 :Y3‾\overline{Y_3}Y3, Y2‾\overline{Y_2}Y2, Y1‾\overline{Y_1}Y1, Y0‾\overline{Y_0}Y0

  • 功能表(简化)

    有效输入(低电平) Y3‾\overline{Y_3}Y3 Y2‾\overline{Y_2}Y2 Y1‾\overline{Y_1}Y1 Y0‾\overline{Y_0}Y0 对应十进制
    I9‾\overline{I_9}I9 0 1 1 0 9
    I8‾\overline{I_8}I8 0 1 1 1 8
    ... ... ...
    I1‾\overline{I_1}I1 1 1 1 0 1

任意时刻,仅一个输入端有效(高电平或低电平有效),其余输出端均为无效电平

11.5 译码器

译码器(Decoder)的逻辑功能是将每个输入的二进制代码译成对应的输出高、低电平信号或另外一个代码

11.5.1 二进制译码器

二进制译码器 的输入是一组二进制代码,输出是一组与输入代码一一对应的高、低电平信号

  • 特点

    • 若输入为 n 位二进制编码,则输出端数量为 N=2nN=2^nN=2n
    • 任意时刻,仅一个输出端有效(高电平或低电平有效),其余输出端均为无效电平
  • 示例:3线 - 8线 译码器真值表(真值表输出端高电平有效)

    • 示例:当输入 A2→A0{A_2} \to {A_0}A2→A0 为 000 时,对应十进制数 0 ,也就是只有 第 0 路 Y0{Y_0}Y0 才能有有效输出(即Y0{Y_0}Y0 的输出为1),其余路均为无效输出,即输出 Y7→Y1{Y_7} \to {Y_1}Y7→Y1 的值分别为 0000000
  • 典型芯片:74HC138的真值表

    • 译码器74HC138 输出端为低电平有效,即输出端有效时,输出低电平,输出端无效时输出高电平
    • 示例:当输入 A2→A0{A_2} \to {A_0}A2→A0 为 000 时,对应十进制数 0 ,也就是只有 第 0 路 Y0‾{\overline{Y_0}}Y0 才能有有效输出(即Y0‾{\overline{Y_0}}Y0 的输出为 0),其余路均为无效输出,即输出 Y7‾→Y1‾\overline{Y_7} \to \overline{Y_1}Y7→Y1 的值分别为 1111111

练习一 (用 74HC138 实现逻辑函数)

用一片 74HC138 和必要的门电路实现 F (A,B,C)=AB+BC+AC(三变量多数表决),设 A=A2  B=A1  C=A0A={A_2} \; B={A_1} \; C=A_0A=A2B=A1C=A0,写出最小项表达式、输出与 Yi‾\overline{Y_i}Yi的关系,并说明用什么门。

解:

分析:真值表中输出为1的输入组合为:AB同时为1或者BC 同时为1或者 AC 同时为1或者三者同时为1 即最小项只有四项,即【011、101、110、111】

那么最小项表达式为:F=m3+m5+m6+m7(A2A1A0=011,101,110,111)F=m_3+m_5+m_6+m_7(A_2A_1A_0=011,101,110,111)F=m3+m5+m6+m7(A2A1A0=011,101,110,111)

Y3‾=(A2‾A1A0)‾=m3‾Y5‾=(A2A1‾A0)‾=m5‾Y6‾=(A2A1A0)‾‾=m6‾Y3‾=(A2A1A0)‾=m3‾\overline{Y_3}=\overline{(\overline{A_2}A_1A_0)}=\overline{m_3} \\ \overline{Y_5}=\overline{(A_2\overline{A_1}A_0)}=\overline{m_5}\\ \overline{Y_6}=\overline{(A_2A_1\overline{A_0)}}= \overline{m_6} \\ \overline{Y_3}=\overline{(A_2A_1A_0)}=\overline{m_3}Y3=(A2A1A0)=m3Y5=(A2A1A0)=m5Y6=(A2A1A0)=m6Y3=(A2A1A0)=m3

对F进行两端取反可以得到表达式:

F‾=m3+m5+m6+m7‾=m3‾⋅m5‾⋅m6‾⋅m7‾=Y3‾⋅Y5‾⋅Y6‾⋅Y7‾\overline{F}=\overline{m_3+m_5+m_6+m_7}=\overline{m_3} \cdot \overline{m_5}\cdot \overline{m_6}\cdot \overline{m_7} = \overline{Y_3}\cdot\overline{Y_5}\cdot \overline{Y_6}\cdot \overline{Y_7}F=m3+m5+m6+m7=m3⋅m5⋅m6⋅m7=Y3⋅Y5⋅Y6⋅Y7

对 F‾\overline{F}F 进行两端取反可以得到表达式:

F=Y3‾⋅Y5‾⋅Y6‾⋅Y7‾‾F=\overline{\overline{Y_3}\cdot\overline{Y_5}\cdot \overline{Y_6}\cdot \overline{Y_7}}F=Y3⋅Y5⋅Y6⋅Y7

该电路实现的是 1 个 4 输入与非门

练习二(用 74HC138 译码器及门电路 实现逻辑函数)

F(A,B,C)=m0+m2+m3+m4+m7F(A,B,C)=m_0+m_2+m_3+m_4+m_7F(A,B,C)=m0+m2+m3+m4+m7

  • 74HC138 译码器 是由CMOS门电路组成的
  • 74HC138 译码器 是输出端低电平有效

方式一:【最常用】

  • 变化逻辑表达式为与译码器输出相关的表达式

  • 对表达式两端取两次非 F‾‾=m0+m2+m3+m4+m7‾‾\overline{\overline{F}}=\overline{\overline{m_0+m_2+m_3+m_4+m_7}}F=m0+m2+m3+m4+m7

  • 转换形式 F=m0‾⋅m2‾⋅m3‾⋅m4‾⋅m7‾‾F = \overline{\overline{m_0} \cdot \overline{m_2}\cdot \overline{m_3}\cdot \overline{m_4}\cdot \overline{m_7}}F=m0⋅m2⋅m3⋅m4⋅m7

  • 从表达式可以看出,将 m0‾、m2‾、m3‾、m4‾、m7‾\overline{m_0} 、 \overline{m_2}、 \overline{m_3}、 \overline{m_4}、 \overline{m_7}m0、m2、m3、m4、m7 经过与非门即可实现逻辑函数

  • 电路图如下图:

方式二:

  • 求出F的反函数:F‾=m1+m5+m6\overline{F}=m_1+m_5+m_6F=m1+m5+m6
  • 对反函数两端取一次反:F‾‾=m1+m5+m6‾\overline{\overline{F}}=\overline{m_1+m_5+m_6}F=m1+m5+m6
  • 转换形式 :F=m1‾⋅m5‾⋅m6‾F = \overline{m_1} \cdot \overline{m_5}\cdot \overline{m_6}F=m1⋅m5⋅m6
  • 从表达式可以看出,将 m1‾、m5‾、m6‾\overline{m_1} 、 \overline{m_5}、 \overline{m_6}m1、m5、m6 经过与门即可实现逻辑函数
  • 电路图如下图:
    • 当 S0=1以及S1‾+S2‾=0S_0 =1 以及 \overline{S_1}+\overline{S_2} =0S0=1以及S1+S2=0时,译码器才能正常的进行译码工作

11.5.2 二‑十进制译码器

  • 二 - 十进制译码器的逻辑功能是将输入8421BCD码里的前10个码值译成高、低电平信号。对于 1010 ~1111,输出端均无低电平信号产生,译码器拒绝翻译,所以这种电路结构具有拒绝伪码的功能。

  • 典型芯片:74HC42

  • 输入 :A3,A2,A1,A0(A3为最高位)A_3, A_2, A_1, A_0(A_3为最高位)A3,A2,A1,A0(A3为最高位),输入范围 0000→1001(0 9)0000 → 1001(0~9)0000→1001(0 9)

  • 输出 :Y0‾\overline{Y_0}Y0 ~ Y9‾\overline{Y_9}Y9(低有效)。对于无效的BCD码(1010~1111),所有输出均为高电平(无效)。

  • 应用:驱动十进制数码管或指示灯

11.5.3 数字显示译码器

  • 七段数码显示器件可以显示0~9 共10个数字(和部分英文字母)。

  • 显示译码器的作用就是将二进制代码直接转换为数字或文字的显示代码

  • 七段数码显示器也称为半导体数码管,是由7个发光二极管组成的七段显示器件。

    带小数点的数码管是八段数码管

共阴极数码管译码器(主流常用)

  • 适配对象:共阴极数码管(所有发光二极管的阴极公共接地,阳极接高电平时点亮);
  • 输出特性:译码器 输出高电平有效------ 当译码器输出高电平时,对应数码管的段脚被点亮,输出低电平时不点亮;
  • 典型器件:74HC48(最常用)、74LS48(TTL 电平,与 HC 系列功能一致,电平标准不同)
  • LT‾\overline{LT}LT :输入低电平有效,当接入低电平时,不管数据输入端输入啥,输出端均为高电平(输出端均有效),各段二级管均被点亮,正常使用时,该输入端口应该处于无效状态,即接入高电平

共阳极数码管译码器

  • 适配对象:共阳极数码管(所有发光二极管的阳极公共接电源 Vcc,阴极接低电平时点亮);
  • 输出特性:译码器 输出低电平有效------ 当译码器输出低电平时,对应数码管的段脚被点亮,输出高电平时不点亮;
  • 典型器件:74HC47(最常用)、74LS47(TTL 电平)

限流电阻的作用

  • 作用保护 LED 不被烧毁,同时稳定发光亮度:
    • 限制回路中的最大电流 ,使其稳定在 LED 的额定工作范围内,同时可通过调整电阻阻值改变电流大小,进而调节数码管的发光亮度
  • 接法共阴 优先串联在译码器(74HC48,高电平有效)的输出端与共阴极数码管的段脚(LED 阳极)之间(或公共端与 GND 间),共阳优先串联在共阳极数码管的段脚(LED 阴极)与译码器(74HC47)的输出端之间(或 Vcc 与公共端间)
  • 阻值计算 :R=VCC−VLEDILEDR = \frac{V_{CC} - V_{LED}}{I_{LED}}R=ILEDVCC−VLED。其中 VLEDV_{LED}VLED 为LED正向压降(通常1.8V~2.2V),ILEDI_{LED}ILED 为期望工作电流(通常5mA~20mA)
  1. 推荐接线方式:每段单独串联限流电阻(亮度均匀、稳定性高),简易场景可采用公共端单电阻限流;
  2. 限流电阻要 避免阻值过小 或 过大:阻值过小会导致电流过大,烧毁 LED 或译码器;阻值过大会导致电流过小,数码管亮度不足甚至无法点亮。
  3. 电阻阻值与亮度成反比(阻值越大,电流越小,亮度越暗;反之则越亮)

11.6 数据选择器 MUX

数据选择器(Multiplexer, MUX)又称多路选择器,其功能是从多路输入数据中选择一路送到输出端

核心功能是:根据一组 地址选择信号 的不同组合,从多路(2n2^n2n路,n 为地址线数量)输入数据中,选择其中一路数据传输到唯一的输出端,相当于数字电路中的 "单刀多掷开关"。

11.6.1 MUX 基本原理

  • 结构 :n 位地址输入,2n2^n2n 路数据输入,1 路数据输出。

  • 功能:根据地址输入的状态,将对应通道的数据输入连接到输出端。

  • 逻辑表达式(以4选1 MUX为例):

    地址:A1,A0A_1, A_0A1,A0;数据输入:D0,D1,D2,D3D_0, D_1, D_2, D_3D0,D1,D2,D3;输出:Y

    Y=A1‾⋅A0‾⋅D0+A1‾⋅A0⋅D1+A1⋅A0‾⋅D2+A1⋅A0⋅D3 Y = \overline{A_1}\cdot\overline{A_0} \cdot D_0 + \overline{A_1} \cdot A_0 \cdot D_1 + A_1 \cdot \overline{A_0} \cdot D_2 + A_1 \cdot A_0 \cdot D_3 Y=A1⋅A0⋅D0+A1⋅A0⋅D1+A1⋅A0⋅D2+A1⋅A0⋅D3

  • 四路数据选择器对应 n=2 根地址线(A₁、A₀),四路数据输入(D₀、D₁、D₂、D₃),一路输出 Y

  • 工作逻辑如下:

    1. 地址线 A₁、A₀输入 4 种电平组合(00、01、10、11);
    2. 每种组合对应选中一路数据输入:
    • A₁A₀=00 → 选中 D₀,输出 Y=D₀;
    • A₁A₀=01 → 选中 D₁,输出 Y=D₁;
    • A₁A₀=10 → 选中 D₂,输出 Y=D₂;
    • A₁A₀=11 → 选中 D₃,输出 Y=D₃;
    1. 若使能端有效,上述选择逻辑生效;若使能端无效,输出 Y 固定为无效电平(如高阻态)。

11.6.2 MUX 实现逻辑函数例题(三人表决电路)

例题:用一片8选1数据选择器(如74HC151)实现三人表决电路。三人为A, B, C,同意为1,否决为0,多数同意则提案通过(F=1)。

  • 首先,进行逻辑抽象。用A、B、C代表3人,同意为1,不同意为0;用F表示表决结果,通过为1,不通过为0。
    • 逻辑功能:输入有2个1,输出就为1
  • 列出真值表
  • 写出逻辑表达式:Y=m3+m5+m6+m7=A‾BC+AB‾C+ABC‾+ABCY=m_3+m_5+m_6+m_7= \overline{A}BC+A\overline{B}C+AB\overline{C}+ABCY=m3+m5+m6+m7=ABC+ABC+ABC+ABC

方式一:用8选一数据选择器实现

  • 八选一数据选择器的表达式为:

    Y=A2‾  A1‾  A0‾⋅D0+A2‾  A1‾  A0⋅D1+A2‾  A1  A0‾⋅D2+A2‾  A1  A0⋅D3+A2  A1‾  A0‾⋅D4+A2  A1‾  A0⋅D5+A2  A1  A0‾⋅D6+A2  A1  A0⋅D7Y = \overline{A_2}\;\overline{A_1}\;\overline{A_0}\cdot D_0 + \overline{A_2}\;\overline{A_1}\;A_0\cdot D_1 + \overline{A_2}\;A_1\;\overline{A_0}\cdot D_2 + \overline{A_2}\;A_1\;A_0\cdot D_3 + A_2\;\overline{A_1}\;\overline{A_0}\cdot D_4 + A_2\;\overline{A_1}\;A_0\cdot D_5 + A_2\;A_1\;\overline{A_0}\cdot D_6 + A_2\;A_1\;A_0\cdot D_7Y=A2A1A0⋅D0+A2A1A0⋅D1+A2A1A0⋅D2+A2A1A0⋅D3+A2A1A0⋅D4+A2A1A0⋅D5+A2A1A0⋅D6+A2A1A0⋅D7

  • 通过对两个表达式进行对比,可以将逻辑表达式

    Y=A‾BC+AB‾C+ABC‾+ABCY=\overline{A}BC+A\overline{B}C+AB\overline{C}+ABCY=ABC+ABC+ABC+ABC 进行形式变换

    若令A=A2、B=A1、C=A0、D3=D5=D6=D7=1、D0=D1=D2=D4=0若令 A=A_2 、B=A_1 、C = A_0 、D_3=D_5=D_6=D_7=1、D_0=D_1=D_2=D_4=0若令A=A2、B=A1、C=A0、D3=D5=D6=D7=1、D0=D1=D2=D4=0 就能将上述逻辑表达式变换为 与 八选一数据选择器的表达式 的结构相同

    因此电路图如下:

方式二:用4选一数据选择器实现

  • 四选一数据选择器的表达式为:

    Y=A1‾  A0‾⋅D0+A1‾  A0⋅D1+A1  A0‾⋅D2+A1  A0⋅D3Y = \overline{A_1}\;\overline{A_0}\cdot D_0 + \overline{A_1}\;A_0\cdot D_1 + A_1\;\overline{A_0}\cdot D_2 + A_1\;A_0\cdot D_3Y=A1A0⋅D0+A1A0⋅D1+A1A0⋅D2+A1A0⋅D3

  • 可以将逻辑表达式

    Y=A‾BC+AB‾C+ABC‾+ABCY=\overline{A}BC+A\overline{B}C+AB\overline{C}+ABCY=ABC+ABC+ABC+ABC

  • 变换为:Y=A‾BC+AB‾C+AB(C‾+C)Y=\overline{A}BC+A\overline{B}C+AB(\overline{C}+C)Y=ABC+ABC+AB(C+C)

  • 通过对两个表达式进行对比

  • 若令A=A1、B=A0、C=D1=D2、D3=(C‾+C)=1、D0=0若令 A=A_1 、B=A_0 、C = D_1=D_2 、D_3=(\overline{C}+C)=1、D_0=0若令A=A1、B=A0、C=D1=D2、D3=(C+C)=1、D0=0

  • 因此电路图如下:

  • 总结 :使用数据选择器实现逻辑函数的关键在于将函数的输入变量作为 MUX 的地址 ,将函数值(0 或 1)作为对应地址的数据输入。这种方法无需化简逻辑表达式,直接通过硬件连线实现,尤其适合实现多变量、不规则逻辑函数

11.7 数值比较器

数值比较器(Magnitude Comparator)是一种用于比较两个二进制数大小的组合逻辑电路。它可以判断两个数是否相等(A=B),以及哪个数更大(A>B 或 A<B)。

11.7.1 一位数值比较器

一位数值比较器用于比较两个一位二进制数 A 和 B 的大小。

  • 输入:A, B(一位二进制数)。

  • 输出:三个输出端,分别表示比较结果:

    • FA>BF_{A>B}FA>B:当 A > B 时为 1,否则为 0。
    • FA<BF_{A<B}FA<B:当 A < B 时为 1,否则为 0。
    • FA=BF_{A=B}FA=B:当 A = B 时为 1,否则为 0。
  • 真值表

    A B FA>BF_{A>B}FA>B FA<BF_{A<B}FA<B FA=BF_{A=B}FA=B
    0 0 0 0 1
    0 1 0 1 0
    1 0 1 0 0
    1 1 0 0 1
  • 逻辑表达式

    YA>B=A⋅B‾YA<B=A‾⋅BYA=B=A‾⋅B‾+A⋅B=A⊕B‾=A⊙BY_{A>B} = A \cdot \overline{B} \\ Y_{A<B} = \overline{A} \cdot B \\ Y_{A=B} = \overline{A} \cdot \overline{B} + A \cdot B = \overline{A \oplus B} = A \odot BYA>B=A⋅BYA<B=A⋅BYA=B=A⋅B+A⋅B=A⊕B=A⊙B

  • 逻辑图:可由两个非门、两个与门和一个同或门(或异或门加非门)实现。

11.7.2 多位数值比较器

实际应用中需要比较多位二进制数(如 4 位、8 位),多位数值比较器是基于 1 位数值比较器构建,用于比较两位及以上二进制数大小与相等关系的数字逻辑器件 ,核心输出仍为 A>B、A<B、A=B 三种状态,广泛应用于需要高精度数值判定的数字系统中,多位比较器可以通过级联一位比较器 或使用集成多位比较器芯片(如 74HC85)实现

  • 核心工作原则:高位优先
    • 多位数值比较器的核心逻辑,优先级从最高位到最低位依次递减 ,具体规则:
      • 先比最高位:首先比较两组数的最高位,若最高位能明确判定 "大于" 或 "小于" 关系(即一组数的最高位为 1,另一组为 0),则直接输出结果,无需比较后续低位;
      • 高位相等比低位:若最高位相等,则依次比较次高位、次低位...... 直至某一位能判定大小关系;
      • 所有位相等则两数相等:若两组数的所有对应位均相等,则输出 "A=B" 的结果;

支持级联扩展:通过专用级联输入端,可将多片低位比较器拼接为高位比较器(如 2 片 4 位比较器扩展为 8 位),仍遵循高位优先原则

  • 应用:数值比较器广泛应用于计算机 CPU、微控制器、排序算法硬件实现、阈值判断电路等场景。

11.8 本节小结

本章系统介绍了数字电路中几种核心的中规模组合逻辑器件。加法器 (半加器、全加器、串行与超前进位)是算术运算的基础;理解有效电平 (高/低有效)是正确使用数字芯片的关键。编码器 (普通与优先)将输入信号转换为代码,而译码器 (二进制、二-十进制、显示译码器)则执行相反过程。数据选择器(MUX) 能实现多路选通与逻辑函数。数值比较器用于判定两数大小关系。这些器件均属组合逻辑(输出仅取决于当前输入),通过灵活组合与级联,可构建复杂的数字系统。

相关推荐
牧羊君1 天前
无线通信射频功率单位--dB与dBm
数字电路
芯路行者4 天前
《数字电路》| 第 2 节 ‑ 逻辑代数与逻辑函数
数字电路
passxgx13 天前
3.1 数字集成电路的分类
数字电路
mifengxing1 个月前
计组|定点数移位运算+定点数、无符号数加减运算+溢出判断+运算电路
数字电路·计算机组成原理
凡亿电子笔记1 个月前
模拟电路和数字电路有什么区别?新手入门先学哪个
数字电路·模拟电路
passxgx2 个月前
2.5 逻辑函数的化简方法
数字电路
ykjhr_3d3 个月前
数字电路虚拟仿真教学系统制作公司排名
数字电路·虚拟仿真教学·虚拟仿真系统
passxgx3 个月前
2.3 复合逻辑门和常用逻辑门
数字电路
passxgx5 个月前
1.2 数制
数字电路