← FPGA数字IC知识手册

推荐答案 测试一下

为什么要门控时钟:

编程题 中等 笔试真题

参考答案

门控时钟的核心思想是通过在时钟路径上插入使能控制,在不需要时钟时关闭时钟信号,从而降低时钟树动态功耗。最简单的门控时钟结构是使用一个与门将时钟使能信号与时钟信号相与。但直接使用与门存在风险:如果使能信号在时钟高电平期间变化,会在时钟输出端产生毛刺(glitch),导致触发器误触发。为避免毛刺,通常采用基于锁存器的门控结构:在时钟低电平期间锁存使能信号,再与时钟相与。这样使能信号的变化只在时钟低电平时被捕获,输出时钟的上升沿和下降沿都保持干净。另一种是或门门控(适用于低电平有效使能),以及集成门控时钟单元(ICG),它内部包含锁存器和与门,可确保无毛刺切换。设计时还需考虑建立时间、保持时间、使能信号的同步性以及跨时钟域处理。此外,门控时钟也能降低时钟树上的buffer数量和功耗,但要注意门控后的时钟延迟变大,可能影响时序收敛。在综合阶段,工具会自动推断或插入门控时钟,但RTL代码风格需要规范,例如使用if-else而不在时钟沿赋值。常见错误是忽略使能信号的同步导致亚稳态,或使能信号过窄无法被锁存。

涉及知识点

  • 门控时钟降低动态功耗原理
  • 与门门控及其毛刺风险
  • 锁存器+与门的无毛刺结构
  • ICG单元结构与时序约束
  • 门控时钟对时序的影响
  • RTL编码风格与自动门控
← 上一题
登录后反馈错题
下一题 →