(本文参考xilinx官方文档,ug903)

本文讲解launch clk和capture clk在不同时钟域的情况。分两种情况讲解,slow to fast和fast to slow,即慢时钟到快时钟和快时钟到慢时钟域。

一、slow to fast

时序约束之 set_multicyle_path (2)

做如下假设:Tclk1 = 3Tclk2

时序约束之 set_multicyle_path (2)

在默认情况下,setup edge和hold edge的关系如下:

时序约束之 set_multicyle_path (2)

使用如下约束:

set_multicycle_path 3 -setup -from [get_clocks CLK1] -to [get_clocks CLK2]
则setup edge和hold edge的关系如下:

时序约束之 set_multicyle_path (2)

由图可见,没有必要让hold从launch edge到2倍的Tclk2,如果这样做将会导致综合分析器的约束困难,消耗更多的面积和功耗。

所以,需要这样写:

set_multicycle_path 3 -setup -from [get_clocks CLK1] -to [get_clocks CLK2]
set_multicycle_path 2 -hold -end -from [get_clocks CLK1] -to [get_clocks CLK2]
此约束对应的关系图如下:

时序约束之 set_multicyle_path (2)

 

二、fast to slow

需要思考下fast to slow的约束如何表达?

时序约束之 set_multicyle_path (2)

 

 

 

 

相关文章:

  • 2021-04-27
  • 2021-09-23
  • 2021-08-31
  • 2021-05-09
  • 2022-01-17
  • 2021-05-27
  • 2021-07-14
  • 2021-12-14
猜你喜欢
  • 2021-09-12
  • 2021-09-22
  • 2021-08-16
  • 2021-05-25
  • 2021-11-20
  • 2021-06-29
  • 2021-11-19
相关资源
相似解决方案