← 集成电路基础测试题

推荐答案 测试一下

如何避免 hold time 的违例?

问答题 中等 经典问答问答题

参考答案

避免 hold time 违例的核心思路是增加数据路径的延迟,确保数据在时钟沿后能保持足够长的时间以满足触发器的保持时间要求。具体措施包括: 1. **插入缓冲器(Buffer)**:在数据路径上插入额外的 buffer 或 inverter,通过增加门延迟来延长数据到达时间。注意避免过度插入导致 setup time 违例。 2. **增加路径长度**:重新布线或添加 dummy 负载(如 dummy gate),增加互连线延迟。 3. **调整时钟树(Clock Tree)**:减小时钟 skew,使时钟边沿更一致。对于 hold 违例,有时可以有意引入正的时钟 skew(使接收时钟晚于发送时钟),但需平衡 setup 裕量。 4. **使用慢速器件或不同工艺角**:选择驱动能力较弱的标准单元,或在 slower process corner 下仿真确认。但物理设计后常用方法仍是插入 buffer。 5. **调整触发器的类型**:选择 hold time 更小的触发器(如早期触发器),但通常受库限制。 6. **逻辑修改**:通过逻辑等价变换(如插入冗余逻辑)增加延迟。 7. **芯片设计后期**:若已流片,可通过降低时钟频率或调整电源电压来缓解,但非根本解决方法。 **易错点**: - 不要只关注 setup 而忽略 hold;hold 违例在工艺角 corners 中更危险,因为 fast corner 下延时最短。 - 插入 buffer 要同时检查 setup 和 hold,避免顾此失彼。 - 时钟 skew 可能恶化 hold(如负 skew),需仔细权衡。

涉及知识点

  • 保持时间违例定义与原因
  • 增加数据路径延迟的方法
  • 时钟 skew 对 hold 的影响
  • 缓冲器插入的平衡策略
  • 工艺角与 corner 分析
  • setup 与 hold 的 trade-off
← 上一题
登录后反馈错题
下一题 →