同步电路时钟机制全解析:从多相到单相的性能与挑战
1. 双沿触发时钟的特性
双沿触发时钟假定时钟波形严格对称,满足 $t_{clk_{lo}} = t_{clk_{hi}} = \frac{1}{2}T_{clk}$,即时钟在所有工作条件下占空比 $\delta_{clk}$ 必须精确为 $\frac{1}{2}$。
2. 对称电平敏感两相时钟
-
硬件资源与工作原理
- 电路基于锁存器,仅使用电平敏感锁存器。一部分锁存器由时钟信号 $Clk1$ 控制,另一部分由 $Clk2$ 控制。数据仅在这两个子集之间流动,子集内部无数据交换,锁存器和数据传播路径构成二分图。违反此规则可能因零延迟环路导致不可预测的行为。
- 两个时钟信号将时钟周期 $T_{clk}$ 分为四个区间 $T_1$ 到 $T_4$。每个计算周期内,数据从锁存器集 $L_1$ 经逻辑 $C_{12}$ 到锁存器集 $L_2$,再经逻辑 $C_{21}$ 回到 $L_1$,计算周期 $T_{cp}$ 等于时钟周期 $T_{clk}$。
-
组合逻辑 $C_{21}$ 最早在锁存器集 $L_2$ 透明且 $C_{12}$ 完成评估时开始评估新输入,否则延迟到时钟区间 $T_3$。$C_{21}$ 完成评估的最晚时刻是锁存器集 $L_1$ 切换到保持模式之前,即 $T_1$ 结束时。由此可得:
- $max(t_{21}) \leq T_3 + T_4 + T_1$ (7.12)
- $max(t_{12}) \leq T_1 + T_2 + T_3$ (7.13)
- 同时需满足 $max(t_{12} + t_{21}) = max(t_{pd_{full - circle}}) \leq T_{clk} = T_1 + T_2 + T_3 + T_4$ (7.14),以确保电路正常工作。
- 该时钟方案无死时钟区间,各区间都可能有效。一个流水线阶段需包含两个锁存器集 $L_1$ 和 $L_2$,通常电平敏感两相系统需两个锁存器,而边沿触发系统只需一个触发器。
- 当 $max(t_{pd_{full - circle}}) = T_{clk}$ 时,可实现时钟周期的充分利用。此方案还具有时间借用特性,即 $C_{12}$ 未使用的评估时间可借给 $C_{21}$,反之亦然,且无需修改时钟相位。
-
详细分析
-
建立条件
:考虑锁存器引入的各种延迟后,需满足以下不等式:
- $max|t_{sk}| \leq T_{clk} - T_2 - max(t_{pd_{lc_2}} + t_{pd_{21}} + t_{sula_1})$ (7.15)
- $max|t_{sk}| \leq T_{clk} - T_4 - max(t_{pd_{lc_1}} + t_{pd_{12}} + t_{sula_2})$ (7.16)
- $0 \leq T_{clk} - max(t_{pd_{ld_1}} + t_{pd_{12}} + t_{pd_{ld_2}} + t_{pd_{21}})$ (7.17)
-
保持条件
:
- $max|t_{sk}| \leq T_2 + min(t_{cd_{lc_2}} + t_{cd_{21}} - t_{hola_1})$ (7.18)
- $max|t_{sk}| \leq T_4 + min(t_{cd_{lc_1}} + t_{cd_{12}} - t_{hola_2})$ (7.19)
- 与边沿触发电路不同,电平敏感两相时钟的保持违规余量主要由两个非重叠区间 $T_4$ 和 $T_2$ 的持续时间决定,有助于吸收时钟分布网络中的偏差和抖动。
-
建立条件
:考虑锁存器引入的各种延迟后,需满足以下不等式:
-
影响
- 偏差和抖动的容忍度主要由时钟信号波形决定。通过调整非重叠区间大小,可在电平敏感两相系统中设计一定的余量来应对未知或不可预测的时序变化。
- 与边沿触发单相时钟相比,电平敏感两相时钟的保持余量可通过外部定义时钟波形来控制,但代价是布线开销和设计工作量增加,且两个时钟网络需在几何和电气上相似。此外,两个锁存器占用更多芯片面积,且目前不重写 RTL 源代码就无法通过 HDL 综合获得电平敏感两相电路。
3. 非对称电平敏感两相时钟
-
硬件资源与工作原理
- 非对称电平敏感两相时钟由对称方案演变而来,将组合逻辑 $C_{12}$ 移到锁存器集 $L_2$ 另一侧并合并到 $C_{21}$ 中,使 $T_3$、$T_4$ 和 $T_1$ 可用于评估组合功能。由于 $L_1$ 和 $L_2$ 之间无组合逻辑,时钟区间 $T_2$ 无效,通常会缩短 $T_2$ 以充分利用时钟周期。
-
详细分析
-
建立条件
:
- 对于锁存器集 $L_1$:$max|t_{sk}| \leq T_{clk} - T_2 - max(t_{pd_{lc_2}} + t_{pd_{21}} + t_{sula_1})$ (7.20)
- 对于锁存器集 $L_2$:$max|t_{sk}| \leq T_2 + T_3 - max(t_{pd_{ld_1}} + t_{sula_2})$ (7.21)
-
保持条件
:
- 对于锁存器集 $L_1$:$max|t_{sk}| \leq T_2 + min(t_{cd_{lc_2}} + t_{cd_{21}} - t_{hola_1})$ (7.22)
- 对于锁存器集 $L_2$:$max|t_{sk}| \leq T_4 + min(t_{cd_{lc_1}} - t_{hola_2})$ (7.23)
- 两个条件都提供了非重叠区间,可在偏差和抖动过大时提供保护。为追求最大性能而缩短无效非重叠区间 $T_2$ 受限于足够的偏差余量。
-
建立条件
:
-
影响
- 非对称电平敏感两相时钟的优缺点与对称方案相似,不同之处在于宽偏差余量是以牺牲操作速度为代价的,因为非重叠区间 $T_2$ 无效。
4. 电平敏感两相时钟的优势总结
电平敏感两相时钟的非重叠区间使其对时钟偏差和抖动更具容忍性,可通过调整时钟信号波形设计宽松的偏差余量。例如 IBM 的专利电平敏感扫描设计(LSSD)技术,是非对称电平敏感两相时钟与扫描测试功能的巧妙结合。正常运行时,$Clk1$ 和 $Clk2$ 为非重叠脉冲;扫描模式下,交换 $Clk0$ 和 $Clk1$ 的波形,使 LSSD 单元从 $SCI$ 端子读取数据。
5. 相关时钟方案对比表格
| 时钟方案 | 优点 | 缺点 |
|---|---|---|
| 对称电平敏感两相时钟 | 时间借用能力,对偏差和抖动容忍度高 | 布线开销大,设计复杂,占用面积大 |
| 非对称电平敏感两相时钟 | 类似对称方案的优点,可调整非重叠区间 | 牺牲速度换取宽偏差余量 |
| 边沿触发单相时钟 | 设计相对简单 | 保持余量受触发器参数限制 |
6. 电平敏感两相时钟工作流程 mermaid 图
graph LR
A[开始] --> B[时钟信号划分周期]
B --> C[数据在锁存器和逻辑间流动]
C --> D{是否满足建立和保持条件}
D -- 是 --> E[正常工作]
D -- 否 --> F[出现错误,可能需重置]
E --> G[结束当前周期]
G --> B
7. 单导线电平敏感两相时钟
-
硬件资源与工作原理
- 单导线电平敏感两相时钟有对称和非对称两种变体。与双导线方案不同,所有锁存器由一个公共时钟信号驱动,通过使用在相反时钟极性下导通和保持的锁存器,无需第二个时钟网络。
- 从时序上看,这种方法相当于用互补信号驱动图 7.8 中原始配置的两个锁存器子集,或者说去除了非重叠区间的时钟信号。
-
详细分析
-
关键的保持余量是将 (7.18) 和 (7.19) 中的 $T_2$ 和 $T_4$ 替换为零。假设两个锁存器组的时序参数相同,这两个不等式简化为:
- $max|t_{sk}| \leq min(t_{cd_{lc}} + t_{cd_{c}} - t_{hola})$ (7.24)
- 在锁存器之间无组合逻辑时,$max|t_{sk}| \leq min(t_{cd_{lc}} - t_{hola})$ (7.25)
- 若要放宽此约束,需确保电路中两个锁存器不直接相连,必要时插入虚拟缓冲器以提供污染延迟。
-
关键的保持余量是将 (7.18) 和 (7.19) 中的 $T_2$ 和 $T_4$ 替换为零。假设两个锁存器组的时序参数相同,这两个不等式简化为:
-
影响
- 由于所有可防止时间变化的非重叠区间都被去除,单导线电平敏感两相时钟对偏差和抖动的敏感性与边沿触发单相时钟基本相同。不过,它具有无限制的时间借用能力,即 $C_{12}$ 和 $C_{21}$ 之间可自由借用时间。
- 对称电平敏感两相时钟的独特优势在于每个计算周期可进行两次逻辑嵌入操作,将逻辑嵌入两个锁存器子集中,可减少逆变器延迟,提高能源效率。此优势与时钟分布使用一根还是两根导线无关,因此也适用于标准的双导线电平敏感两相时钟。
- 例如,已倒闭的数字设备公司推出的 Alpha 处理器系列的 VLSI 电路就采用了这种时钟方案。
8. 电平敏感单相时钟与波流水线
-
硬件资源与工作原理
- 电平敏感单相时钟仅使用锁存器存储状态,并由单个时钟驱动。电路结构相当于将边沿触发单相设计中的所有触发器替换为锁存器,也可通过绕过非对称电平敏感两相设计中的所有从锁存器得到。
- 由于锁存器在接受新数据前必须变为透明,且所有双稳态元件同时时钟,这意味着组合逻辑在先前结果被锁存之前($T_1$ 开始时)就会接收到新数据。因此,组合网络必须确保在新一波数据从输入传播时,其输出数据保持不变。正确的电路操作依赖于惯性效应,因为时钟发生时瞬态现象不再有时间消失。
-
进一步扩展这一概念,可实现波流水线,即安排两个或多个数据波同时在组合逻辑中传播,以突破通常限制吞吐量的障碍。波流水线允许路径延迟超过一个时钟周期,其吞吐量计算公式为:
- $T_{cp} = T_{clk} < t_{lp} = t_{id_{la}} + max(t_{c})$
- $\phi = \frac{1}{T_{cp}} = \frac{1}{T_{clk}} > \frac{1}{t_{lp}}$ (7.26)
- 虽然可以设计满足 (7.26) 的前馈波流水线,但一阶反馈回路不适合波流水线,需采用循环展开方法处理。此外,波流水线的时钟频率和吞吐量不会超过基于寄存器的细粒度流水线,但所需寄存器数量大大减少。
-
适用性分析
- 尽管电平敏感单相时钟在性能和能源效率方面具有优势,但由于其设计难度和风险较大,不适合用于 ASIC 设计,因为在 ASIC 设计中,限制设计工作量和风险至关重要。
9. 不同时钟方案的性能指标对比表格
| 时钟方案 | 时钟偏差和抖动容忍度 | 布线复杂度 | 能源效率 | 设计难度 | 吞吐量潜力 |
|---|---|---|---|---|---|
| 对称电平敏感两相时钟 | 高 | 高 | 较好 | 高 | 中等 |
| 非对称电平敏感两相时钟 | 高 | 高 | 较好 | 高 | 中等 |
| 单导线电平敏感两相时钟 | 中等 | 低 | 好 | 中等 | 中等 |
| 电平敏感单相时钟(波流水线) | 低 | 低 | 好 | 高 | 高 |
| 边沿触发单相时钟 | 低 | 低 | 一般 | 低 | 低 |
10. 电平敏感单相时钟与波流水线工作流程 mermaid 图
graph LR
A[开始] --> B[时钟信号开启]
B --> C[锁存器透明,新数据进入组合逻辑]
C --> D[组合逻辑处理数据]
D --> E{是否满足惯性效应要求}
E -- 是 --> F[数据稳定输出,锁存器锁存结果]
E -- 否 --> G[出现错误,可能影响后续数据处理]
F --> H[结束当前周期]
H --> B
11. 总结
不同的时钟方案在同步电路设计中各有优劣。电平敏感两相时钟(包括对称、非对称和单导线变体)通过非重叠区间和时间借用特性,对时钟偏差和抖动具有较高的容忍度,但存在布线开销大、设计复杂等问题。电平敏感单相时钟与波流水线虽然在性能和能源效率方面有潜力,但设计难度和风险较高,不适合所有应用场景。边沿触发单相时钟设计相对简单,但对时钟偏差和抖动的容忍度较低。在实际设计中,需要根据具体的应用需求、性能要求和设计约束,综合考虑各种时钟方案的特点,选择最合适的时钟方案。
超级会员免费看
1287

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



