43、数字电子学基础:组合逻辑与双稳态电路解析

数字电子学基础:组合逻辑与双稳态电路解析

1. 组合逻辑电路实现方案

在数字电路设计中,实现组合逻辑功能有多种电路选择。其中,阵列乘法器是一种重要的计算单元。它在每个交叉点包含一个加法器,每次乘加操作将其和与进位传播到四个相邻模块中的两个进行进一步处理,和向下传播,进位向左传播。整个乘法器由大量相同的模块以二维阵列形式排列组成,阵列内的通信严格局限于局部,这能最小化寄生电容和互连延迟。常见的阵列乘法器类型包括用于无符号数的 Braun 乘法器和用于有符号数的 Bough - Wooley 乘法器,还有 Booth 编码乘法器。尽管模块化乘法器和可编程逻辑阵列(PLAs)一样逐渐落后,但它们的基本电路组织在随机逻辑实现中仍然存在。

乘法器类型 适用数类型
Braun 乘法器 无符号数
Bough - Wooley 乘法器 有符号数

图 1 总结了实现组合逻辑功能的电路选项。模块化逻辑在布线方面比基于单元的随机逻辑浪费的资源要少得多,因为信号直接从一个布局模块传输到下一个。只读存储器(ROMs)和可编程逻辑阵列(PLAs)的另一个优点是,任何重新编程都仅限于对一两个金属掩模进行小修改(只要不超过阵列的总容量),而对随机逻辑的任何修改都需要重新制作多个掩模层,并且必然会影响子电路的占用面积。

graph LR
    classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px;
    A(组合逻辑功能) --> B(单输出函数)
    A --> C(多输出函数)
    B --> D(两级逻辑)
    B --> E(多级逻辑)
    C --> D
    C --> E
    D --> F(AND 平面可编程)
    D --> G(OR 平面可编程)
    D --> H(两个平面可编程)
    F --> I(PAL)
    G --> J(PLA)
    H --> K(ROM)
    E --> L(阵列式计算单元)
    E --> M(随机逻辑)
    L --> N(并行乘法器)
    M --> O(基于单元设计)
    M --> P(模块化布局设计)

然而,与辅助电路(如输入和输出电路、解码器和上拉电阻)相关的面积开销使得 ROMs 和 PLAs 对于小型子功能来说不经济。开发布局生成器也是一项重要的投资,并且随着每个工艺代的发展,部分投资必须更新。如今,只有 ROMs 作为组合宏单元仍被常规支持(与用于存储功能的随机存取存储器(RAMs)一起)。一个原因是多层金属的可用性缩小了基于单元的逻辑和模块化逻辑在布局密度方面的差异。真正推动随机逻辑发展的是,在 20 世纪 90 年代,自动硬件描述语言(HDL)综合和多级逻辑优化已经成熟为强大的软件工具,不仅涵盖组合电路,还包括时序电路。除非涉及的字宽非常大,并且需要在有限的布线资源下寻求最大密度、性能和/或能源效率,否则从相邻布局模块组装查找表、算术逻辑单元等不再是一个可行的选择。

2. 双稳态电路与其他存储电路

双稳态子电路是时序电路的基本构建块。它们的共同特点是能够通过呈现两种稳定状态之一来存储一位信息。多年来,使用各种设计风格和制造技术开发了几乎无限多种电路实现方式。因此,双稳态电路的名称繁多,至今仍会造成混淆,但这其实是完全不必要的。从架构和逻辑设计的角度来看,只需考虑双稳态电路的行为,而忽略其内部结构和操作的所有细节。

双稳态电路可以根据其行为进行分类,分为时钟控制和非时钟控制两类。时钟控制的存储元件明确区分决定状态转换的输入端子和决定转换何时发生的输入端子,后者被称为时钟输入。非时钟控制的存储元件则没有这种区分。

双稳态类型 时钟控制情况 行为 数据输入评估时间 名称 示例 时钟端子标识
时钟控制 边沿触发 - 每个有效时钟边沿 触发器 D - 触发器、E - 触发器、T - 触发器、JK - 触发器
时钟控制 电平敏感 - 时钟处于有效电平时 锁存器 D - 锁存器、Muller - C、MUTEX、snapper -
非时钟控制 - - 任何时间 无单一名称 SR - 跷跷板
2.1 触发器(边沿触发双稳态电路)
  • D 型触发器 :D 型触发器具有边沿触发双稳态电路最简单的行为。大多数工程师发现以 D 型触发器的方式思考最容易,如果需要,也可以将设计转换为其他形式。基本的 D 型触发器有一个时钟端子 CLK 和一个数据输入 D,输出数据可以是真值形式 Q 或补码形式 Q,或者两者都有。时钟可以在其上升沿或下降沿引发状态转换,称为有效边沿。表 2 是基本上升沿触发 D 型触发器的真值表。
CLK D Q
0 - 保持状态不变
1 - 保持状态不变
- 保持状态不变
0 保持状态不变
1 采用 D 作为新状态

通过在多个方向上扩展其功能并组合这些新特性,可以得到大量更复杂的触发器变体。
- 初始化功能 :大多数触发器都有一个额外的输入,可将电路置于某个预定义的起始状态。初始化机制有两种类型:同步清零(CLR)和同步加载(LOD)输入仅在有效时钟边沿影响触发器操作,前者将逻辑状态设置为 0,后者将触发器置于状态 1,可将它们视为另一个数据输入,用于屏蔽常规数据输入 D;异步复位(RST)和异步置位(SET)则直接作用于状态保持的存储环路,无需时钟干预,会立即影响触发器的操作。因此,带有异步复位输入的 D 型触发器是一个基本构建块,通过几个额外的逻辑门可以组装出任何更复杂的触发器、计数器切片或其他边沿触发双稳态电路。
- 扫描功能 :确保时序逻辑可测试性的一种有效且流行的方法是将所有普通 D 型触发器替换为特殊的扫描触发器,并将它们连接起来,使其在扫描测试模式下像移位寄存器一样协同工作。扫描触发器在输入处包含一个选择功能,根据扫描模式控制端子 SCM 上的逻辑值,进入触发器的数据要么来自数据输入 D(正常操作期间),要么来自扫描输入 SCI(扫描测试期间)。
- 使能/禁用功能 :并非电路中的所有触发器都需要在每个有效时钟边沿更新,许多触发器必须在多个连续时钟周期内保持其状态。这就要求触发器配备一种机制,通过特殊控制输入 ENA 来启用或禁用状态转换。数据触发器可以很容易地扩展为所谓的使能或 E 型触发器,只需在其数据输入前添加一个多路复用器,在使能信号无效时将未补码的输出反馈回去。
- T 型触发器 :T 型触发器是一种在每个有效时钟边沿改变状态的双稳态电路,它通过从真值输出向数据输入提供反相反馈从 D 型触发器获得。与 D 型触发器类似,T 型触发器也可以轻松升级以包含使能输入,在这种情况下,只有在使能信号在有效时钟边沿有效时才会发生状态翻转。
| CLK | Q | Q |
| ---- | ---- | ---- |
| 0 | Q | 保持状态不变 |
| 1 | Q | 保持状态不变 |
| ↓ | Q | 保持状态不变 |
| ↑ | Q | 改变状态,“翻转” |
- JK 型触发器 :JK 型触发器有两个输入 J 和 K,它们共同决定双稳态电路在下一个有效时钟边沿要进入的状态。JK 型触发器本质上是小规模集成电路(SSI)时代的遗留产物,如今主要出于兼容性原因保留在单元库中。它的多功能性使其受欢迎,将 J 和 K 永久连接到逻辑 1 会得到 T 型触发器;将 J 和 K 连接形成一个公共输入可得到带使能的 T 型触发器;当 K 是 J 的反相时,J 作为数据输入 D 可实现 D 型触发器的行为。
| CLK | J | K | Q | Q |
| ---- | ---- | ---- | ---- | ---- |
| 0 | - | - | Q | 保持状态不变 |
| 1 | - | - | Q | 保持状态不变 |
| ↓ | - | - | Q | 保持状态不变 |
| ↑ | 0 | - | Q | 保持状态不变 |
| ↑ | 1 | - | Q | 采用 J = K 作为新状态 |
| ↑ | - | 0 | Q | 保持状态不变 |
| ↑ | - | 1 | Q | 改变状态,“翻转” |

2.2 锁存器(电平敏感双稳态电路)

D 型锁存器与基本触发器非常相似,有一个数据输入 D 和一个时钟输入 CLK。需要注意的是,时钟输入在数据表和图标中常被称为“使能” E 或 G,但实际上它是决定锁存器何时离开当前状态并进入新状态的唯一信号,应被理解和处理为时钟。当 CLK 为高电平时,数据通过;当 CLK 为低电平时,输出数据保持冻结,输入数据被忽略。D 型锁存器不仅可作为触发器的子电路,还可在与电平敏感时钟方案结合使用时作为独立的双稳态存储设备。

CLK D Q
0 - 保持输出
1 0 采用 D 作为新状态
1 1 采用 D 作为新状态
2.3 非时钟控制双稳态电路

非时钟控制双稳态电路与时钟控制双稳态电路的不同之处在于,它没有一个时钟端子可以在不同时有助于定义下一个状态的情况下触发状态转换,即没有明确区分何时和什么输入。任何存储在非时钟控制双稳态电路中的信息都容易受到诸如毛刺、短脉冲和其他输入噪声等虚假事件的影响。
- SR - 跷跷板 :两个反相门相互连接形成一个环路会表现出双稳态行为,因为存在正反馈且延迟为零。以两个交叉耦合的或非门为例,当输入向量 S = R = 1 时,两个输出端子会取相同的值,违反了输出 Q 和 Q 必须始终取互补值的规则,这种情况被称为禁止状态。当电路从禁止状态切换到数据存储状态时,结果是不可预测的,当输入 S 和 R 同时从 1 变回 0 时,节点 Q 和 Q 最终会重新取互补值,但无法确定它们在离开禁止的 00 状态后会稳定到 01 还是 10。由与非门组成的类似电路也有类似的结果,这两种电路都被称为电平敏感的 SR 型跷跷板。
| S | R | Q | Q |
| ---- | ---- | ---- | ---- |
| 0 | 0 | 保持输出,数据存储状态 |
| 0 | 1 | 进入状态 0,“复位” |
| 1 | 0 | 进入状态 1,“置位” |
| 1 | 1 | 非互补输出,“禁止状态” |
- 边沿触发 SR - 跷跷板 :与前面的 SR - 跷跷板不同,其置位和复位输入是边沿触发而不是电平敏感的,因此不存在输出值非互补的禁止状态。但当两个输入从 0 快速连续转换到 1 时,结果仍然不可预测。此外,该电路使用两个触发器,在晶体管数量方面比本节讨论的其他任何双稳态电路成本都高。

3. 双稳态电路的应用与注意事项

双稳态电路在数字电子学中有着广泛的应用,不同类型的双稳态电路因其特性不同,适用于不同的场景。

3.1 触发器的应用
  • 数据存储与同步 :D 型触发器常用于数据存储和同步操作。在数字系统中,数据需要在特定的时钟信号控制下进行存储和传输,D 型触发器可以在时钟的有效边沿将输入数据存储起来,确保数据的稳定传输和处理。例如,在微处理器中,寄存器通常由 D 型触发器组成,用于存储指令和数据。
  • 计数器设计 :T 型触发器和 JK 型触发器可用于计数器的设计。T 型触发器在每个有效时钟边沿改变状态,通过级联多个 T 型触发器可以实现二进制计数器。JK 型触发器的多功能性使其在计数器设计中也有广泛应用,通过合理设置 J 和 K 的输入,可以实现不同类型的计数器,如同步计数器和异步计数器。
3.2 锁存器的应用
  • 数据缓冲 :D 型锁存器常用于数据缓冲。在数据传输过程中,锁存器可以在时钟信号的控制下,将输入数据暂时存储起来,直到需要时再进行输出。例如,在总线系统中,锁存器可以用于缓冲数据,避免数据冲突。
  • 电平敏感控制 :由于锁存器是电平敏感的,它可以用于电平敏感的控制电路中。在一些需要根据电平信号进行状态控制的电路中,锁存器可以根据时钟信号的电平状态来决定是否允许数据通过,实现电平敏感的控制功能。
3.3 非时钟控制双稳态电路的应用
  • 信号消抖 :SR - 跷跷板可用于信号消抖。在机械开关等设备中,由于机械触点的抖动,会产生不稳定的信号。SR - 跷跷板可以利用其双稳态特性,将抖动的信号转换为稳定的输出信号,实现信号消抖的功能。
  • 脉冲生成 :非时钟控制双稳态电路还可以用于脉冲生成。通过合理设计电路的输入和反馈,可以产生特定频率和宽度的脉冲信号,用于一些需要脉冲信号的应用场景。

然而,在使用双稳态电路时,也需要注意一些问题。对于时钟控制的双稳态电路,如触发器和锁存器,需要确保时钟信号的稳定性和准确性,避免时钟信号的抖动和延迟对电路的性能产生影响。对于非时钟控制的双稳态电路,如 SR - 跷跷板,需要注意其禁止状态和不可预测性,避免在实际应用中出现不稳定的情况。

4. 组合逻辑与双稳态电路的综合应用

在实际的数字电路设计中,组合逻辑电路和双稳态电路通常会结合使用,以实现更复杂的功能。

4.1 时序电路设计

时序电路是由组合逻辑电路和双稳态电路组成的电路,它的输出不仅取决于当前的输入,还取决于过去的输入和电路的状态。在时序电路设计中,双稳态电路用于存储电路的状态,组合逻辑电路用于根据当前的输入和电路的状态产生输出。例如,在状态机设计中,双稳态电路用于存储状态机的当前状态,组合逻辑电路用于根据当前状态和输入信号产生下一个状态和输出信号。

graph LR
    classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px;
    A(输入信号) --> B(组合逻辑电路)
    B --> C(输出信号)
    B --> D(双稳态电路)
    D --> E(状态信号)
    E --> B
4.2 数字系统设计

在数字系统设计中,组合逻辑电路和双稳态电路的综合应用更为广泛。一个完整的数字系统通常包括多个功能模块,每个模块可能由组合逻辑电路和双稳态电路组成。例如,一个微处理器系统包括指令译码器、算术逻辑单元、寄存器堆等模块,其中指令译码器和算术逻辑单元主要由组合逻辑电路组成,寄存器堆则由双稳态电路组成。这些模块相互协作,实现了微处理器的各种功能。

5. 未来发展趋势

随着数字电子技术的不断发展,组合逻辑电路和双稳态电路也在不断演进。

5.1 工艺技术的进步

随着半导体工艺技术的不断进步,集成电路的集成度越来越高,功耗越来越低。多层金属的可用性使得基于单元的逻辑和模块化逻辑在布局密度方面的差异逐渐缩小,这为组合逻辑电路和双稳态电路的设计提供了更多的选择。同时,新的工艺技术也使得电路的性能得到了进一步提升,如更高的速度和更低的延迟。

5.2 设计工具的发展

自动硬件描述语言(HDL)综合和多级逻辑优化等设计工具的不断发展,使得数字电路的设计更加高效和自动化。这些工具不仅可以提高设计的准确性和可靠性,还可以缩短设计周期。未来,设计工具将更加智能化,能够自动完成更多的设计任务,进一步提高设计效率。

5.3 新兴应用的需求

随着物联网、人工智能、大数据等新兴技术的发展,对数字电路的性能和功能提出了更高的要求。组合逻辑电路和双稳态电路需要不断创新和改进,以满足新兴应用的需求。例如,在物联网应用中,需要低功耗、高集成度的数字电路;在人工智能应用中,需要高性能、并行计算能力强的数字电路。

总之,组合逻辑电路和双稳态电路作为数字电子学的基础,在未来的数字电路设计中仍将发挥重要作用。随着工艺技术、设计工具和新兴应用的不断发展,它们将不断适应新的需求,为数字电子技术的发展做出更大的贡献。

通过对组合逻辑电路和双稳态电路的深入了解,我们可以更好地进行数字电路的设计和应用,为实现更复杂、更高效的数字系统奠定基础。希望本文能够对读者在数字电子学领域的学习和研究有所帮助。

内容概要:本文介绍了一个基于MATLAB实现的无人机三维路径规划项目,采用蚁群算法(ACO)多层感知机(MLP)相结合的混合模型(ACO-MLP)。该模型通过三维环境离散化建模,利用ACO进行全局路径搜索,并引入MLP对环境特征进行自适应学习启发因子优化,实现路径的动态调整多目标优化。项目解决了高维空间建模、动态障碍规避、局部最优陷阱、算法实时性及多目标权衡等关键技术难题,结合并行计算参数自适应机制,提升了路径规划的智能性、安全性和工程适用性。文中提供了详细的模型架构、核心算法流程及MATLAB代码示例,涵盖空间建模、信息素更新、MLP训练融合优化等关键步骤。; 适合人群:具备一定MATLAB编程基础,熟悉智能优化算法神经网络的高校学生、科研人员及从事无人机路径规划相关工作的工程师;适合从事智能无人系统、自动驾驶、机器人导航等领域的研究人员; 使用场景及目标:①应用于复杂三维环境下的无人机路径规划,如城市物流、灾害救援、军事侦察等场景;②实现飞行安全、能耗优化、路径平滑实时避障等多目标协同优化;③为智能无人系统的自主决策环境适应能力提供算法支持; 阅读建议:此资源结合理论模型MATLAB实践,建议读者在理解ACOMLP基本原理的基础上,结合代码示例进行仿真调试,重点关注ACO-MLP融合机制、多目标优化函数设计及参数自适应策略的实现,以深入掌握混合智能算法在工程中的应用方法。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值