双稳态多谐振荡器有两稳定状态,故前缀 bi。一状态称置位,另一称复位. 最基本形式是置位-复位 (S-R) 锁存器。 构建 S-R 锁存器,将两个或非门交叉耦合,每门输出反馈到另一门输入,形成下图经典拓扑: 输出 Q 和 ¬Q 预期互补。若 S 和 R 同时驱高,两输出均落 0——这是锁存器的无效或非法状态。反之,S=1、R=0 “置位”锁存器 (Q=1, ¬Q=0);S=0、R=1 “复位” (Q=0, ¬Q=1)。两输入均为 0 时,锁存器保持先前状态。 相同逻辑可用梯形逻辑表达,达相同结果: 按定义,Q=1、¬Q=0 为置位;Q=0、¬Q=1 为复位。电路上电瞬间,两门或继电器均去激
在传统组合逻辑中,每个输入组合产生唯一、可预测输出。例如,或门遵循下面真值表: 有四种可能输入状态 (0-0, 0-1, 1-0, 1-1),输出总是明确。无论电路包含单门还是多门级联,输出完全由门真值表决定。 引入反馈——将门输出接回其输入之一——打破这种确定性。考虑带反馈环的或门: 当输入 A 为逻辑 1,或门强制输出高,反馈维持高电平。当 A 降为逻辑 0,输出不再有确定值;将保持变化前的状态。换言之,电路“锁存”最后输出值。 使用反馈的数字电路称为多谐振荡器。或门示例是经典双稳态多谐振荡器,可稳定保持两个输出状态——0 或 1
本实例演示如何构建四位 7 段显示器,接收 16 位二进制输入——表示十进制数——并用单个二进制到 7 段编码器驱动显示。设计展示组合逻辑、多路解复用与模块化设计的威力。 电路整体架构如下图。包含 16 根主输入位数字,两个额外控制输入选择活动数字,以及 28 根输出线驱动四个 7 段显示器。 仅对应选中数字的四位被转发给编码器;其余位由多路解复用器强制为零,确保其他三位数字保持空白。 为理解各组件如何协作,对比门级图与下面等效梯形逻辑。注意复杂系统如何从定义良好的子电路组装,使设计师能在不陷入细节泥沼的情况下推理整体行为。 虽然此组合设计功能完备,但一次仅显示一位数字。要创造四位全亮假象
多路复用器,常缩写为 MUX,是根据选择输入将多个输入信号中的一个路由到单一输出线的数字开关器件。 多路复用器标准原理图符号如下: 下面是经典 2-到-1 多路复用器真值表。选择位为 A(最高位)和 D(最低位),I0 和 I1 为两数据输入。 I1I0AD输出 00000 00010 01000 01011 10001 10010 11001 11011 在控制逻辑中使用 1-到-2 解码器可简化此真值表实现。解码器产生两选择信号,使能相应数据输入路径。 扩展此概念,4-到-1 多路复用器用两选择位将四数据输入之一路由到输出。电路图如下: 实践中,多路复用器 与 多路解复
多路解复用器,常简写为 dmux,是基本数字逻辑元件,接收单一输入线路,根据选择输入将信号导向多条输出线路之一。与将输入代码映射到单一有效输出的解码器不同,多路解复用器主动将输入数据路由到选定输出通道,使其成为跨多设备分发数据不可或缺的组件。 实践中,多路解复用器无处不在,从存储器地址解码到微处理器总线管理。其操作简单而强大,业界标准原理图符号(见下图)为电气工程师广泛认知。 下面是经典 1-到-2 多路解复用器真值表。单输入线 “I” 根据选择线 “S” 状态路由到输出 “D0” 或 “D1”。S=0 时数据出现在 D0;S=1 时出现在 D1。 ISD0D1 0000 0100 101
什么是编码器? 编码器是将一组输入信号转换为二进制编码输出的组合电路。它是解码器的逻辑逆。实践中,编码器用于减少表示一组输入所需的信号数,简化下游处理并提高系统可靠性。 2-到-1 线编码器 为说明概念,通过反转 1-到-2 解码器导出简单 2-到-1 线编码器真值表。解码器真值表: D1D0A 010 101 反转该关系得编码器真值表: D1D0A 00– 010 101 11– 当两输入均有效(最后一行)时输出未定义。许多应用通过添加时序逻辑检测并标记多路同时激活,确保可靠运行。 编码器设计应用 常见实际应用是二进制到 7 段显示编码器。七段(标 D6 至 D0)须激活以在 7 段
解码器是将二进制代码转换为一组输出信号的逻辑电路。虽执行编码器的逆操作,但解码器通常更易设计,为学习二进制逻辑电路打下坚实基础。 解码器类型 线解码器 最常见是线解码器,接受 n 位二进制地址,激活 2n 条输出线中的一条。最简单示例是 1-到-2 线解码器。其真值表如下。 A (地址)D1D0 001 110 此处 D0 = NOT A 且 D1 = A。电路图如下。 2-到-4 线解码器 基于 1-到-2 解码器,2-到-4 线解码器仅稍复杂。其真值表: A1A0D3D2D1D0 000001 010010 100100 111000 结果逻辑网络如下。 扩展:更大线解码器
加两个以上二进制数字时,单个半加器不再足够。传统方法——为每个新位宽建真值表——虽准确但缓慢。全加器通过处理第三个输入(进位输入),使设计能快速可靠地扩展。 考虑两位加法: 11 + 11 ------- 110 中间列需要三个输入:a、b 和进位输入 Cin。用两输入加法器作构建块,可构造三输入加法器,产生和位与进位输出。 数学上,若 Σ = a + b + Cin 且 Σ1 = a + b,则 Σ = Σ1 + Cin。下图展示此配置的逻辑图。 考察三输入和的真值表: Cin + a + b = ? 0 + 0 + 0 = 0 0 + 0 + 1 = 1 0 + 1 + 0 = 1
在数字电子学中,半加器是最简单的组合电路,用于加两个单比特二进制数。它产生两个输出:低位和 (Σ) 与高位进位输出 (Cout)。理解该器件是设计全加器、CPU/DSP 中用的二进制加法器等更复杂算术单元的基础。 下面真值表汇总了所有可能输入对的预期输出: ABΣCout 0000 0110 1010 1101 真值表揭示的逻辑关系直观:和输出是两输入的异或 (XOR),进位输出就是两输入的逻辑与。这些逻辑函数的最小实现给出下面的经典半加器原理图。 偏好梯形逻辑者,也提供等效表示: 虽然半加器只能加两个单比特,但它是构建全加器的关键基石,全加器引入进位输入。级联全加器可构建行波
“组合”一词源于数学,组合指无序集合。在此语境下,输入变化的顺序不影响电路输出。因此,组合逻辑电路无论按何种顺序施加输入,都给出相同结果。 相反,依赖输入跃变时序的电路称为时序逻辑。虽然“时序逻辑”未出现在章节标题中,但后续章节将深入探讨这些概念。 现实数字设计结合两类逻辑:时序元件确保适当排序与同步,组合模块执行算术、逻辑运算与数据转换。 我们迄今讨论的每个逻辑门——与、或、异或、或非、同或、非——本质上都是组合函数。为说明,考察一对与非门,观察其在不同输入顺序下的行为。 从两输入均为低开始: 接着拉高第一输入: 最后
随着组合逻辑规模增长,卡诺图尺寸扩大。了解何时适用 5 或 6 变量图、如何解读与分组单元,能在 FPGA 与 ASIC 设计中大幅削减逻辑资源。 Altera(现英特尔旗下)分析数千客户设计以了解典型扇入规模。结果分布在 2 到 6 输入间近乎平坦,并在 5 输入处出现明显峰值。实践中,大多数电路不超过 6 输入,平均设计舒适地容纳在 5 变量内。 Altera 从其客户设计库提取的数据支持异构性价值。通过检查逻辑锥、将其映射到基于 LUT 的节点并按每个节点最适合的输入数排序,Altera 发现扇入分布在 2 到 6 输入间近乎平坦,在 5 处有漂亮峰值。 下面是经典五变量卡诺图。 五变量
至今我们处理的逻辑化简问题中,每个输入组合都有完整定义。例如 3 变量真值表有 2³=8 项,对应卡诺图完全填满。 然而许多实际应用中,并非所有输入组合都需定义。某些组合永不发生,其输出无关紧要。这些称为“不在乎”条件。 例如,用四位二进制编码十进制 (BCD) 数字时,有效代码为 0000 到 1001(十进制 0-9)。六个二进制模式 1010 到 1111 对应十六进制 A-F,从未使用。因此可将这六个模式标为不在乎,在真值表或卡诺图中留空。 不在乎单元格 在卡诺图中,不在乎单元格用星号 (*) 表示,分组时可视为 0 或 1,或直接忽略。利用它们常能形成更大分组,从而得到更简单的布尔表
本节阐述卡诺图中列出最小项与最大项的常用标记法。无新理论,仅提供简明实用的参考。 最小项术语 希腊字母 Σ (sigma) 表示求和,小写 “m” 指定最小项。合称 Σ m 意为“最小项之和”。下例说明格式。 f(A,B,C,D) = Σ m(1, 2, 3, 4, 5, 7, 8, 9, 11, 12, 13, 15) 或 f(A,B,C,D) = Σ(m₁,m₂,m₃,m₄,m₅,m₇,m₈,m₉,m₁₁,m₁₂,m₁₃,m₁₅) 这些数字对应下图卡诺图的单元格地址。这种紧凑标记法高效列出 K 图中的最小项(1)。 识别最小项后,可按常规分组导出乘积项和表达式。 最大项术语 最大项用希腊
在数字逻辑设计中,我们常化简布尔表达式以减少门数并提升性能。虽然大多数教材聚焦于最小项和(SOP)解,但每个 SOP 都有互补的最大项积(POS)形式,对某些逻辑家族可能更有优势。 理解最小项 最小项 是仅对单一输入组合产生 1、其余均为 0 的布尔乘积项。在卡诺图(K 图)或真值表中,最小项表现为被零包围的单个“1”。例如,最小项 ABC 对应 K 图单元格 111,而 ABC 对应 010。 映射最小项步骤: 识别要映射的乘积项。 将项转换为二进制等价形式。 在该二进制值指示的 K 图地址处放置 1。 对 SOP 表达式中每个乘积项重复上述步骤。 所有最小项绘制完后,将 1 按 1、2
理解格雷码序列后,将 3 变量卡诺图扩展为 4 变量直截了当:复制 3 变量图的列序列到 4 变量网格左侧。见下图。 4 变量 K 图化简 以下示例演示卡诺图如何化简仅靠代数难以处理的布尔表达式。虽代数操作可行,但 K 图提供更快的可视化方法——尤其需大量化简时。 下方布尔表达式含七个乘积项。按顺序绘制在 K 图:首项A′B′CD占顶行第三单元格(A=0,B=0,C=1,D=1)。后续项同理左至右、上至下映射。圈出最大可能组,识别出两个四单元格组。水平组得化简项AB,垂直组得CD。结果积和式表达式为Out = AB + CD。 像折餐巾一样折叠地图
布尔代数虽能快速化简表达式,但现实问题常需处理更大真值表。卡诺图提供可视化、系统化方法高效化简复杂逻辑函数。 本文通过构造示例演示关键技术,为后续章节更高级组合逻辑场景做准备。 卡诺图与格雷码排序 卡诺图采用标准格雷码布局: 注意顶行标签:00、01、11、10。此格雷码序列相邻列(行)仅一位不同,确保单变量不同的单元格为邻居。这种邻接性让我们能直观发现公因式。 生成任意尺寸地图的格雷码 制作自定义 K 图时需生成相应格雷码序列。下图演示任意尺寸生成法: 构建序列使每个后续值仅差一位,即可在整个地图保持邻接性。 3 变量卡诺图化简示例 用 3 变量 K 图化简几个函数。先放置对应各乘积项的
谁发明了卡诺图? 贝尔实验室电信工程师莫里斯·卡诺于 1953 年设计电话交换电路时发明了卡诺图。 为什么用卡诺图? 卡诺图是可视化工具,比代数操作更快、更直观地化简复杂布尔函数。通过折叠冗余项,减少逻辑门数和输入数,直接为硬件设计师节省成本。 实践中,工程师理解读图后,更倾向用卡诺图而非布尔代数化简。 下图展示同一二输入逻辑函数的五种等价表示:继电器梯形图、门原理图、真值表、卡诺图、布尔表达式。选择取决于哪种格式最适合设计任务。 真值表与卡诺图的关联 两输入 A、B 各为 0 或 1,产生 2² = 4 种输出组合。卡诺图将真值表重排为方格网格,相邻单元格仅差一变量,使模式显而易见。 每个
从矩形A′宇宙中的圆A开始(下图 a),我们将韦恩图逐步转化为近似卡诺图。 在(b)、(c)扩展圆A,(d)贴合矩形A′宇宙,(e)将A变为矩形。A外部即A′。在(f)给A′分配矩形。卡诺图不使用阴影。目前类似单变量卡诺图,但实用性有限。需多变量。 上图(a)同前文显示A和A′的韦恩图,只是标签A、A′在图上方而非区域内。想象对B、B′做类似(a-f)过程,得到中图(b)所示“方形韦恩图”。 将图(a)、(b)叠加得(c)结果,正如我们对韦恩图所做。目的是观察两重叠区的共同部分——如A重叠B处。图(c)右下单元格对应AB(A 与 B
第四幅图显示集合A部分重叠集合B。我们先看代表两集合并集的完整阴影区,再单独看交集。 左下图中,红色水平阴影代表A;蓝色垂直阴影代表B。 聚合所有阴影区(不分阴影样式)得到的区域对应 A 和 B 的包含性或函数。布尔表达式为A + B。 图中 45° 阴影带代表并集。此阴影区外部为补集,(A + B)′。 接下来看A和B的交集。左图双重阴影区代表排他性与函数,表达式为AB。双重阴影区外部为(AB)′。 观察可知:A某些元素属于(AB)′,B同理。但(AB)′无元素落在双重阴影AB区内。 左图重复第二例。右图为先前草图的第五例,供对比。后续章节将用卡诺图识别完全包含于另一集合的元素。 现引入
数学家用韦恩图展示集合(对象集合)间的逻辑关系。你可能在代数或其他数学学习中见过韦恩图——重叠的圆圈、集合的并集与交集。 我们将回顾韦恩图的重叠圆圈,采用“或”和“与”术语替代并集和交集,因这是数字电子学术语。 韦恩图连接前章布尔代数与卡诺图。我们将把你已知的布尔代数关联到韦恩图,再过渡到卡诺图。 集合是宇宙中对象的集合,如下图。集合的成员是包含在集合内的对象。成员通常有共同点,但非必须。 例如,实数宇宙中,全体正整数 {1,2,3…} 是一个集合。{3,4,5} 是正整数集合的较小集合,即子集。另例:大学生宇宙中所有男性的集合。你能想出更多集合例子吗? 左上图显示宇宙 U(矩形区域)内圆圈
工业技术