关于multicycle path

SLOW-to-FAST

默认情况下检查的是:

 如果只设setup的multicycle path,即

set_multicycle_path 2 -setup -end -from CLK1 -to CLK2

 如果setup/hold都是默认的setup用end,hold用start,即(错误的)

set_multicycle_path 2 -setup -end -from CLK1 -to CLK2

set_multicycle_path 1 -hold -start -from CLK1 -to CLK2

 正确的设置应该是:

set_multicycle_path 2 -setup -end -from CLK1 -to CLK2

set_multicycle_path 1 -hold -end -from CLK1 -to CLK2

 即对于hold,-start是将start clock像向后移,-end是将end clock向前移

FAST-to-SLOW

默认情况下检查的是:

如果只setup multicyle

set_multicycle_path 2 -setup -start -from CLK1 -to CLK2

 正确的设置应该是:

set_multicycle_path 2 -setup -start -from CLK1 -to CLK2

set_multicycle_path 1 -hold -start -from CLK1 -to CLK2

 即对于setup,-start是将start clock像向前移,-end是将end clock向后移

To set a multicycle maximum path, you can either move the end clock forward or
the start clock backward. To set a multicycle minimum path, you can either move
the end clock backward or the start clock forward. You control the movement by
using the -end and -start switches. By default, set_multicycle_path moves the
end clock for the max path and the start clock for the min path. For a single
clock domain path, there is no need to specify the -end or -start option (it
has no effect). But for a crossing domain path, moving the start clock forward
one cycle is not equal to moving the end clock backward one cycle. The different
options give totally different timing windows.

原文地址:https://www.cnblogs.com/yiyedada/p/12192665.html