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 。