时钟例外相对于 set_max_delay 的优先顺序 - 2023.2 简体中文

Versal 自适应 SoC 硬件、IP 和平台开发方法指南 (UG1387)

Document ID
UG1387
Release Date
2023-11-15
Version
2023.2 简体中文

编写 CDC 约束时,请验证是否遵循相应的优先顺序。如果在 2 个时钟之间至少 1 条路径上使用 set_max_delay -datapath_only,那么无法在相同时钟之间使用 set_clock_groups 约束,并且只能在 2 个时钟之间的其他路径上使用 set_false_path 约束。

在下图中,时钟 clk0 的周期为 5 ns,并且与 clk1 之间处于异步关系。从 clk0 域到 clk1 域存在两条路径。第 1 条路径为 1 位数据同步。第 2 条路径为多位格雷编码总线传输。

图 1. 2 个异步时钟之间的多次交互

设计师判定格雷编码总线传输需要“Max Delay Datapath Only”(仅最大延迟数据路径)来限制比特间延迟变动,因此无法在时钟之间直接使用“Clock Group”(时钟组)或“False Path”(伪路径)约束。而改为必须定义以下 2 个约束:

set_max_delay -from [get_cells GCB0[*]] -to [get_cells [GCB1a[*]] \
-datapath_only 5
set_false_path -from [get_cells REG0] -to [get_cells REG1a]

无需设置从 clk1clk0 的伪路径,因为在此示例中不含任何路径。