如果您的多位时钟域交叉时序限制至关重要,如果此总线有set_false_path限制,则总线的偏斜可能会超过 1 个时钟周期,这可能会导致功能错误。
第一个要求是,您没有两个时钟域之间的set_false_path限制,如果不希望它们之间的路径进行设置和保留分析,则可以使用优先级较低的set_clock_groups。
其次,set_net_delay使路径尽可能短,且set_max_skew。Set_max_skew不会约束 fitter,但您可以在时序分析器中分析这种限制。
时钟域中data_a之间的时钟域交叉限制clk_a,时钟域中的data_b clk_b可能类似。
create_clock - name clk_a -period 4.000 [get_ports {clk_a}]
create_clock名 clk_b -period 4.500 [get_ports {clk_b}]
set_clock_groups -asynchronous-group [get_clocks {clk_a}] -group [get_clocks {clk_b}]
set_net_delay -从 [get_registers {data_a[*]}]-到 [get_registers {data_b[*]]-max -get_value_from_clock_period dst_clock_period -value_multiplier 0.8
set_max_skew -从 [get_keepers {data_a[*]}]-到 [get_keepers {data_b[*]}] -get_skew_value_from_clock_period min_clock_period -skew_value_multiplier 0.8
实际的偏差要求取决于您的设计以及处理跨时钟域的方式。
最后,在时序分析器中运行"报告最大偏斜摘要"和"报告网络延迟摘要"来检查时钟域跨时序。