异步时序电路的分析和设计方法与同步时序电路有本质区别:**它不依赖统一的全局时钟信号**

异步时序电路的分析和设计方法与同步时序电路有本质区别:它不依赖统一的全局时钟信号,而是依靠内部信号的变化顺序和传播延迟来实现状态转换。这类电路对时序敏感,设计复杂但功耗低、速度快,在某些专用系统(如高速通信、低功耗嵌入式)中有应用。


一、异步时序电路的特点

  • 无全局时钟:状态变化由输入信号的异步变化触发。
  • 依赖门延迟:电路行为受逻辑门传播延迟影响。
  • 易产生竞争与冒险:若信号路径延迟不同,可能导致错误状态。
  • 常用结构:SR锁存器、基本反馈型结构、脉冲模式电路等。

二、异步时序电路的分析方法

  1. 识别反馈路径

    • 找出组合逻辑中的反馈回路(即输出通过延迟线或反相器返回输入)。
    • 常见存储元件为 SR 锁存器或简单的交叉耦合结构。
  2. 写出激励方程(驱动方程)

    • 分析组合逻辑部分,写出每个反馈支路的逻辑表达式。
    • 例如:Y = (S + y)’ 或 Z = X·y₁ + X’·y₂
  3. 列出总态(Total State)表

    • 总态 = 外部输入 + 内部状态(反馈变量)
    • 枚举所有可能的输入和现态组合。
  4. 确定次态和输出

    • 根据逻辑关系推导在输入变化后系统的稳定状态。
    • 注意区分稳定总态(次态等于现态)和非稳定总态(需继续演化)。
  5. 绘制原始状态图

    • 节点表示稳定状态,箭头表示输入引起的状态转移。
    • 标注输入/输出(如 Mealy 型)或仅输出(Moore 型)。
  6. 检查竞争条件

    • 临界竞争(Critical Race):多个状态变量同时变化导致最终状态不确定 → 必须避免。
    • 非临界竞争:虽有多个变量变化,但最终状态唯一 → 可接受。
    • 设计时应确保无临界竞争。
  7. 功能说明

    • 解释电路的行为,如“上升沿检测”、“去抖动开关”等。

三、异步时序电路的设计方法

  1. 明确功能要求

    • 如:“设计一个能记忆输入脉冲的电路”或“实现两个请求信号的互斥控制”。
  2. 建立原始状态图

    • 根据需求画出状态转移图,考虑输入如何改变状态。
  3. 状态化简

    • 合并等价状态,减少状态数。
  4. 状态分配(编码)

    • 将抽象状态用二进制码表示,并选择合适的反馈变量(y₁, y₂…)。
  5. 选择实现方式

    • 常用 SR 锁存器实现反馈双稳态结构
    • 输入–输出–反馈构成闭环逻辑。
  6. 求激励表和驱动方程

    • 根据状态转移关系,确定所需激励信号(如 S, R 输入)。
    • 使用卡诺图进行化简,注意引入填入函数(Insertion Function)防止振荡。
  7. 添加必要延迟或保持条件

    • 有时需人为引入延迟以保证正确操作序列(谨慎使用)。
  8. 检查冒险与竞争

    • 确保所有状态转移中不存在临界竞争。
    • 可采用脉冲宽度控制冗余项插入消除静态冒险。
  9. 画出逻辑图并验证

    • 实现电路并通过仿真测试各种输入序列下的行为。

示例:基本SR锁存器异步存储单元

// 异步SR锁存器(低电平有效)
module sr_latch (
    input S_n, R_n,
    output reg Q
);
    always @(*) begin
        if (!S_n && R_n)     Q = 1;     // Set
        else if (S_n && !R_n) Q = 0;    // Reset
        // else Q 不变(保持)
    end
endmodule

此电路没有时钟,Q 的变化直接响应 S_n 和 R_n 的变化。


四、常见模型类型

类型特点
基本模式(Fundamental Mode)输入一次只变一个,且等待电路稳定后再变下一个;适用于手动输入或慢速系统
脉冲模式(Pulse Mode)输入为短脉冲,电路对其做出响应;常用于事件触发系统

五、注意事项

  • 避免空翻(Race Conditions)
  • 防止振荡(Oscillation):反馈环路增益过大导致持续翻转
  • 使用格雷码状态编码可减少多位跳变,降低竞争风险
  • 建议在关键路径加握手协议(Request-Acknowledge)

基本模式异步电路(Fundamental Mode Asynchronous Circuit)是一种典型的异步时序电路工作模式,其核心思想是:在前一个输入变化引起的瞬态过程完全稳定之前,不允许下一个输入发生变化。这种模式依赖于外部输入信号的时间间隔足够长,以确保电路有足够时间达到稳定状态。


一、基本模式异步电路的定义

  • 电路运行基于电平触发而非时钟。
  • 使用反馈组合逻辑实现状态存储(如 SR 锁存器结构)。
  • 假设:
    • 每次只有一个输入变量发生改变(单输入变化,Single Input Change, SIC)。
    • 输入变化之间有足够延迟,使内部状态和输出在下一次输入变化前已稳定。
    • 内部传播延迟是确定的,且可被系统“感知”。

这种模式适用于手动控制、键盘去抖、工业开关等低速但需异步响应的场景。


二、设计约束(必须满足)

  1. 单输入变化原则(SIC - Single Input Change)

    • 每次只允许一个输入位发生变化。
    • 防止因多输入同时跳变引发的竞争与冒险。
    • 示例:从 0011 是非法跃迁;应通过中间状态 00→01→11 分步进行。
  2. 输入变化间隔大于电路最大延迟

    • 必须保证当前输入变化导致的所有门延迟、反馈传播已完成,才允许下一输入变化。
    • 否则可能出现未定义行为或错误状态。
  3. 禁止多个输入同时有效转换

    • 即使物理上接近,也视为两个独立事件,并要求中间有稳定间隔。
  4. 使用静态逻辑门实现

    • 避免动态逻辑(易受毛刺影响),通常采用 NAND/NOR 构成的基本锁存结构。
  5. 避免临界竞争(Critical Race)

    • 在状态编码时使用格雷码,使得相邻状态仅一位不同,减少竞争风险。
    • 所有状态转移路径必须收敛到唯一稳定状态。
  6. 引入冗余项防止静态冒险

    • 在卡诺图中添加覆盖项,消除由于延迟差异引起的瞬时毛刺。
  7. 初始状态可设置

    • 通常需要复位信号将电路置于已知初始状态(如上电清零)。

三、典型结构示例:带反馈的组合逻辑网络

// 基本模式异步状态机片段(Mealy型)
module fundamental_mode (
    input A, B,
    output Y
);
    reg y;  // 内部状态变量(通过反馈保持)

    // 组合逻辑 + 反馈形成双稳态
    always @(*) begin
        case ({A, B, y})
            3'b00_0: y = 1;
            3'b01_1: y = 0;
            // ... 其他状态转移
            default: y = y;
        endcase
    end

    assign Y = (A & ~y) | (B & y);  // 输出函数
endmodule

注意:该电路无时钟,y 的更新依赖于组合逻辑反馈和传播延迟。


四、优点与局限性

优点局限性
无需全局时钟,降低功耗对输入时序严格限制
结构简单,适合专用控制不适用于高速连续数据流
易于用基本门实现设计复杂,验证困难
支持事件驱动操作易受工艺、温度、电压影响

五、应用场景

  • 开关去抖电路(Debouncing Circuit)
  • 工业控制中的按钮响应系统
  • 异步握手协议接口(Request/Acknowledge)
  • 教学演示异步逻辑原理

在这里插入图片描述

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Bol5261

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值