新闻  |   论坛  |   博客  |   在线研讨会
【原创】FPGA时序分析之Gated Clock
brucezhan | 2009-03-03 12:17:43    阅读:2067   发布文章

(一)
FPGA设计一条原则是尽量使用同步逻辑,即尽量整个设计中使用一个clock,而且该clock尽量走全局时钟线,也就是不要在clock path上加上逻辑,不要用“受控时钟”。但是在有些情况下,“受控时钟”难以避免,例如在用FPGA进行验证ASIC设计时,因为ASIC为了low power的要求,通常会使用逻辑控制时钟的开关。
 
如果对“受控时钟”不加以任何变换,其负面作用通常是通常会有hold timing冲突。hold timing问题不像setup timing问题,不能靠依靠降低时钟频率解决;在ASIC设计时解决hold timing问题通常靠工具自动增加时钟树分支延迟,使时钟到目标寄存器的时间在建立-保持时间窗内。
 
在FPGA阶段,通常有几种办法:
1. 不理会hold timing问题,这样可能有时编译出来的系统可以正常工作,有时候又不能工作, 比较飘逸;
 
2. 手工将gate clock等系统“异步”时钟改成同步时钟,办法就是将clock path上的逻辑合并到寄存器的数据输入端。
 
3. 使用synplify将gate clock转换为non-gate clock
 
4. altera quartus8.0以上有转换gate clock的功能,可以使用。
 
 
具体内容详见附件。
 
pdf附件:
FPGA时序分析之Gated Clock1.pdf

quartus工程
gated_clock1.rar 

*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。

参与讨论
登录后参与讨论
推荐文章
最近访客