Report Clock Domain Crossings
“
Clock Domain Crossings (CDC)
”
(
时钟域交汇
)
报告可对设计中的时钟域交汇执行结构分析。此信息可用于识别潜在不安全的 CDC
,
此类
CDC
可能导致亚稳态或数据一致性问题。虽然
CDC
报告与“
Clock Interaction
”
(
时钟交互)
报告类似
,
但
CDC
报告侧重于结构及其时序约束
,
不提供有关时序裕量的信息。 从 Tcl
控制台运行时
,
可使用
-cells
选项将
CDC
报告限定为一个或多个层级单元。如果
CDC
报告已限定作用域
,那么当层级单元列表中包含源管脚或目标管脚时,
将报告发现结果。限定作用域选项在“
Report CDC
”
(
CDC
报告
)GUI 中不可用。
1、概述
生成
CDC
报告前
,
必须确保设计已正确约束
,
并且未缺失时钟定义。“
Report CDC
”
(
CDC
报告
)
仅分析并报告已定义源时钟和目标时钟的路径。“Report CDC
”可对如下对象执行结构分析
:
• 针对异步时钟间的所有路径。
• 仅针对具有以下时序例外的同步时钟间的路径
:
时钟组
伪路径
仅最大延迟数据路径
对于不含此类时序例外的同步时钟路径
,
CDC
引擎假定此类路径已安全定时且不对其进行分析。“
Report CDC
” 运行中不考虑任何信号线延迟或单元延迟。
在“
Cross Domain Crossing (CDC)
”
(
时钟域交汇
(CDC)
)
和时钟间时序分析的上下文中
,
术语“
safe
”
(
安全
)
、“unsafe
”
(
不安全
)
和“
endpoints
”
(
端点
)
的含义不尽相同。
在
CDC
上下文中
,
使用同步电路来防止亚稳态时
,
异步交汇即为安全。例如
,
安全的单比特
CDC
可通过同步器实现,
即具有相同时钟和控制信号的寄存器链。安全的多比特
CDC
可通过
MUX
保持电路或时钟使能控制的电路来实现。相反,
当
CDC
分析引擎无法识别异步
CDC
路径上已知安全的同步电路时
,
此
CDC
即为不安全。针对两个时钟域之间的 CDC
报告的端点数量可能与时序分析命令所报告的端点数量不同。例如
,
异步复位同步器涉及多个时序路径端点。但是,
同步电路作为单一元素来报告
,
因此计为单一
CDC
端点。同样
,
多比特
CDC
可包含多个单比特交汇,
但报告为单一
CDC
端点。然而
,
其他时序报告会将该总线报告为多个时序端点。
2、运行“
Report Clock Domain Crossings
”
从
Vivado IDE
运行“
Report CDC
”
(
CDC
报告
)
时
,
默认情况下会提供有关指定时钟之间的
CDC
路径的所有详细信息。当从 Tcl
控制台运行“
Report CDC
”时
,
它仅打印“
Summary by Clock Pairs
”
(
按时钟对汇总
)
表。您必须指定-details 选项才能像
GUI
模式下一样报告所有详细信息。报告详细信息可能会生成非常长的文件或
log
日志文件。
要在
Vivado IDE
中运行“
Report Clock Domain Crossings
”
(
时钟域交汇报告
),
请选择“
Reports
” → “
Timing
” → “Report CDC
”
(
报告
>
时序
> CDC
报告
)
。 等效的 Tcl
命令
:
report_cdc -name cdc_1
在
Vivado IDE
中
,
“
Report CDC
”对话框包含以下字段
,
•
“
Results Name
”字段
•
“
Clocks
”字段
(From/To)
•
“
File Output
”字段
•
“
Options
”字段
“
Results Name
”字段
在“
Report Clock Domain Crossings
”
(
时钟域交汇报告
)
对话框顶部的“
Results Name
”
(
结果名称
)
字段中指定报告的图形窗口名称。 等效的 Tcl
选项
:
-name <windowName>
“
Clocks
”字段
(From/To)
“
Clocks
”
(
时钟
)
下的“
To
”
(
目标
)
和“
From
”
(
源
)
字段支持您选择源时钟和
/
或目标时钟以便在其中运行
CDC分析。您可使用“From/To
”选项来控制“
Report CDC
”
(
CDC
报告
),
将其限定于特定时钟并生成更通俗易懂的报 告。
等效的
Tcl
选项
:
-from <clockNames> -to <clockNames>
“
File Output
”字段
“
File Output
”
(
文件输出
)
字段支持您选择指定用于写入结果的文件。您可以覆盖该文件或追加到该文件。 等效的 Tcl
选项
:
-file <fileName> -append
“
Options
”字段
“
Options
”
(
选项
)
字段支持您执行以下操作
:
• 命令执行期间暂挂消息限制 等效的 Tcl
选项
:
-verbose
• 忽略命令错误 等效的 Tcl
选项
:
-quiet
3、理解时钟域交汇报告规则
“
Report CDC
”
(
CDC
报告
)
尝试将每条
CDC
路径与
1
个已知
CDC
拓扑结构相匹配。每个
CDC
拓扑结构都与
1
项或多项 CDC
规则相关联
,
请注意
,
您无法修改规则的严重性
,
就像
DRC
和消息 一样。在
CDC
拓扑结构的简化板级原理图
中包含检测到的
CDC
拓扑结构的简化板级原理图和描述。 CDC 拓扑结构根据某些优先级规则来进行分析。
默认情况下
,
每个端点最多仅报告
1
项
CDC
违例
,
并且如果在特定端点上存在多项违例
,
则报告优先级最高的 CDC
规则
,
并屏蔽所有优先级更低
CDC
违例。例如
,
由于
CDC-15
的优先级高于
CDC-10
,
在寄存器上检 测到的安全的 CDC-15
会屏蔽相同寄存器的管脚
D
上的不安全的
CDC-10
。