异步时序电路的分析和设计方法与同步时序电路有本质区别:它不依赖统一的全局时钟信号,而是依靠内部信号的变化顺序和传播延迟来实现状态转换。这类电路对时序敏感,设计复杂但功耗低、速度快,在某些专用系统(如高速通信、低功耗嵌入式)中有应用。
一、异步时序电路的特点
- 无全局时钟:状态变化由输入信号的异步变化触发。
- 依赖门延迟:电路行为受逻辑门传播延迟影响。
- 易产生竞争与冒险:若信号路径延迟不同,可能导致错误状态。
- 常用结构:SR锁存器、基本反馈型结构、脉冲模式电路等。
二、异步时序电路的分析方法
-
识别反馈路径
- 找出组合逻辑中的反馈回路(即输出通过延迟线或反相器返回输入)。
- 常见存储元件为 SR 锁存器或简单的交叉耦合结构。
-
写出激励方程(驱动方程)
- 分析组合逻辑部分,写出每个反馈支路的逻辑表达式。
- 例如:Y = (S + y)’ 或 Z = X·y₁ + X’·y₂
-
列出总态(Total State)表
- 总态 = 外部输入 + 内部状态(反馈变量)
- 枚举所有可能的输入和现态组合。
-
确定次态和输出
- 根据逻辑关系推导在输入变化后系统的稳定状态。
- 注意区分稳定总态(次态等于现态)和非稳定总态(需继续演化)。
-
绘制原始状态图
- 节点表示稳定状态,箭头表示输入引起的状态转移。
- 标注输入/输出(如 Mealy 型)或仅输出(Moore 型)。
-
检查竞争条件
- 临界竞争(Critical Race):多个状态变量同时变化导致最终状态不确定 → 必须避免。
- 非临界竞争:虽有多个变量变化,但最终状态唯一 → 可接受。
- 设计时应确保无临界竞争。
-
功能说明
- 解释电路的行为,如“上升沿检测”、“去抖动开关”等。
三、异步时序电路的设计方法
-
明确功能要求
- 如:“设计一个能记忆输入脉冲的电路”或“实现两个请求信号的互斥控制”。
-
建立原始状态图
- 根据需求画出状态转移图,考虑输入如何改变状态。
-
状态化简
- 合并等价状态,减少状态数。
-
状态分配(编码)
- 将抽象状态用二进制码表示,并选择合适的反馈变量(y₁, y₂…)。
-
选择实现方式
- 常用 SR 锁存器实现反馈 或 双稳态结构。
- 输入–输出–反馈构成闭环逻辑。
-
求激励表和驱动方程
- 根据状态转移关系,确定所需激励信号(如 S, R 输入)。
- 使用卡诺图进行化简,注意引入填入函数(Insertion Function)防止振荡。
-
添加必要延迟或保持条件
- 有时需人为引入延迟以保证正确操作序列(谨慎使用)。
-
检查冒险与竞争
- 确保所有状态转移中不存在临界竞争。
- 可采用脉冲宽度控制或冗余项插入消除静态冒险。
-
画出逻辑图并验证
- 实现电路并通过仿真测试各种输入序列下的行为。
示例:基本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)。
- 输入变化之间有足够延迟,使内部状态和输出在下一次输入变化前已稳定。
- 内部传播延迟是确定的,且可被系统“感知”。
这种模式适用于手动控制、键盘去抖、工业开关等低速但需异步响应的场景。
二、设计约束(必须满足)
-
单输入变化原则(SIC - Single Input Change)
- 每次只允许一个输入位发生变化。
- 防止因多输入同时跳变引发的竞争与冒险。
- 示例:从
00→11是非法跃迁;应通过中间状态00→01→11分步进行。
-
输入变化间隔大于电路最大延迟
- 必须保证当前输入变化导致的所有门延迟、反馈传播已完成,才允许下一输入变化。
- 否则可能出现未定义行为或错误状态。
-
禁止多个输入同时有效转换
- 即使物理上接近,也视为两个独立事件,并要求中间有稳定间隔。
-
使用静态逻辑门实现
- 避免动态逻辑(易受毛刺影响),通常采用 NAND/NOR 构成的基本锁存结构。
-
避免临界竞争(Critical Race)
- 在状态编码时使用格雷码,使得相邻状态仅一位不同,减少竞争风险。
- 所有状态转移路径必须收敛到唯一稳定状态。
-
引入冗余项防止静态冒险
- 在卡诺图中添加覆盖项,消除由于延迟差异引起的瞬时毛刺。
-
初始状态可设置
- 通常需要复位信号将电路置于已知初始状态(如上电清零)。
三、典型结构示例:带反馈的组合逻辑网络
// 基本模式异步状态机片段(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)
- 教学演示异步逻辑原理



被折叠的 条评论
为什么被折叠?



