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.