CDC 规则优先级 - 2023.2 简体中文

Vivado Design Suite 用户指南: 设计分析与收敛技巧 (UG906)

Document ID
UG906
Release Date
2023-10-19
Version
2023.2 简体中文

默认情况下,“Report CDC”(CDC 报告)针对每个端点和每个时钟对仅报告 1 个违例。如果针对任一特定时钟对存在多个违例,则仅报告优先级最高的 CDC 违例。

CDC 规则按优先级从高到低排序,如下表所示。

表 1. CDC 规则优先级
规则 ID CDC 拓扑结构 严重性 类别
CDC-18 使用 HARD_SYNC 原语同步 Info Safe
CDC-13、14 非 FD 原语上的 1 位和多位 CDC 路径 Critical Unsafe
CDC-17 MUX 保持类型 Warning Safe
CDC-16 MUX 类型 Warning Safe
CDC-15 CE 类型 Warning Safe
CDC-26 LUTRAM 读写潜在冲突 Warning Safe
CDC-7 异步复位未同步 Critical Unknown
CDC-1、4 1 位和多位 CDC 未同步 Critical Unknown
CDC-12 多时钟扇入 Critical Unsafe
CDC-10 同步器间检测到组合逻辑 Critical Unsafe
CDC-11 从启动触发器扇出到目标域 Critical Unsafe
CDC-9 异步复位,使用 ASYNC_REG 属性同步 Info Safe
CDC-6 多位,使用 ASYNC_REG 属性同步 Warning Unsafe
CDC-3 1 位,使用 ASYNC_REG 属性同步 Info Safe
CDC-8 异步复位,使用缺失的 ASYNC_REG 属性同步 Warning Safe
CDC-2、5 1 位和多位 CDC,使用缺失的 ASYNC_REG 属性同步 Warning Safe
注释: 以上列出的严重性为“Warning”的部分规则的优先级比其他严重性为“Critical”的规则的优先级更高,原因是这些规则实际上因 CDC 拓扑结构不同而并未应用于相同端点。

当任一端点具有多个 CDC 违例时,如果优先级最高的违例享有豁免,则报告的违例为按优先级排序次之的违例。

要为设计创建豁免,较为简便的方法是在单次运行中针对单一端点报告所有 CDC 违例,忽略规则优先级。使用 report_cdc 命令行选项 -all_checks_per_endpoint 可生成 1 份包含设计中所有 CDC 违例的详尽报告。

注释: -all_checks_per_endpoint 只能通过 Tcl 控制台运行,在“Report CDC”(CDC 报告)对话框中不予支持。但可使用 -name 选项在 Vivado IDE 中显示 -all_checks_per_endpoint 的结果。