tag 标签: 多周期约束

相关博文
  • 热度 20
    2013-2-17 11:30
    2352 次阅读|
    1 个评论
    时序分析 TimeQuest 之多周期约束 .         网上有很多讲 ALTERA 时序约束( TimeQuest )的文章,其中关于多周期约束 set_multicycle_path 的,有一点很多文章包括ALTERA的官方教程都没有说明,导致很多朋友按照文章上的方法去约束,可能导致数据在多周期传送的时候会出现亚稳态。     举个 launc_clk 和 latch_clk 同频同相位( launch_clk 和 latch_clk 频率有倍数关系、有相移等的情况也是同样的分析结果)的例子,数据的有效长度是三个时钟周期,缺省的 setup 和 hold 的分析沿如下图所示:                         如果设置多周期约束 set_multicycle_path -setup 3 、 set_multicycle_path -hold 2   则 setup 和 hold 的分析沿如下图所示:                                  问题是在这种情况下,上面的多周期约束是正确的约束吗, latch_clk 能正确的采样 DATA 数据吗,如果 DATA 数据的延时刚好是一个时钟周期、数据的变化沿刚好是 latch_clk 的第二个时钟的上升沿呢?如下图所示: latch_clk 的第二个时钟的上升沿采样输出的数据就有可能出现亚稳态。解决的方法是加入一个寄存器使能信号(如下图的 data_en ) 在该采样的时钟沿采样才能避免上述问题。                 launch_clk 和 latch_clk 频率有倍数关系、有相移等的情况做多周期约束的时候也要做如上处理。