vivado时序方法检查3

TIMING-7 相关时钟间无公共节点
时钟 <clock_name> <clock_name> 之间相互关联 一起定时 ), 但两者间无公共节点。此设置在硬件中可能失败。要查找这些时钟之间的时序路径, 请运行以下命令
report_timing -from [get_clocks <CLOCK_NAME1>] -to [get_clocks
<CLOCK_NAME2>]
描述
默认情况下 将报告的 2 个时钟视为相关联并以同步方式对其进行定时。 DRC 警告报告称时序引擎无法保证这些时钟在硬件中同步, 因为它无法确定 2 个时钟树之间的公共节点。
解决方案
解决办法取决于 2 个时钟域处于异步还是同步状态。对于异步时钟 时序例外 例如 set_max_delay - datapath_only、 set_clock_groups set_false_path 应覆盖 2 个域之间的路径。
对于同步时钟 可豁免此 DRC 警告。 在模块的非关联 (OOC) 综合期间报告违例时 如果已知 2 个时钟在顶层具有公共节点 那么可通过如下概述的步骤来防止出现 TIMING-7 违例
1. 在首个输入时钟端口上将其中 1 个时钟定义为基准时钟。
2. 在第 2 个输入时钟端口上将第 2 个时钟定义为生成时钟。此时钟应参考步骤 1 中定义的基准时钟。
3. 2 个输入时钟端口上定义 HD.CLK_SRC 属性。
示例
在下图中 clk1 clk2 域之间存在同步时钟域交汇 (CDC) 。默认情况下 Vivado clk1 clk2 已判定为同步。但由于 clk1 clk2 为输入端口 因此这 2 个时钟之间不存在公共节点关系。对此 Vivado Design Suite 无法保证 2 个时钟处于同步。
但是 如果模块以非关联 (OOC) 方式综合 并且 clk1 clk2 在顶层具有公共节点 那么 OOC 综合期间可能可通过定义如下约束来防止 TIMING-7 违例
create_clock -period 3.000 [get_ports clk1]
set_property HD.CLK_SRC BUFGCTRL_X0Y2 [get_ports clk1]
create_generated_clock -divide_by 2 -source [get_ports clk1] \
[get_ports clk2]
set_property HD.CLK_SRC BUFGCTRL_X0Y4 [get_ports clk2]
TIMING-8 相关时钟间无公共周期
发现时钟 <clock_name> <clock_name> 之间存在关联 一起定时 ), 但两者间无公共 可扩展 周期。
描述
默认情况下 将报告的 2 个时钟视为相关联并以同步方式对其进行定时。但时序引擎将 2 个时钟的波形扩展至超过1000 个周期后无法判定公共周期。在此情况下 1000 余个周期的最差建立时间关系将用于时序分析。但是 时序引擎无法确保这是最消极的情况。通常周期比特别小的时钟会发生这种情况。
解决方案
由于波形不允许在两个时钟之间执行安全时序分析 因此建议将这些时钟作为异步时钟来处理。有鉴于此 时序例外应涵盖两个时钟域之间的路径( 例如 set_max_delay -datapath_only set_false_path set_clock_groups
TIMING-9 未知 CDC 逻辑
在穿过 set_false_path set_clock_groups set_max_delay -datapath_only 约束的两个时钟域之间检测到一个或多个异步时钟域交汇。但在捕获时钟端未找到任何双寄存器逻辑同步器。建议运行 report_cdc 以实现完整详细的 CDC 覆盖。同时 请考虑使用 XPM_CDC 以避免出现严重性为“ Critical 严重 的问题。
描述
DRC 的用途是确保由时序例外加以约束的时钟间域在设计时包含安全的异步时钟域交汇电路。
解决方案
建议在相应的设计中使时钟间路径达成正确同步。为此 请添加至少 1 个双寄存器逻辑同步器。如果在路径上已定义FIFO 或高层次协议 则可安全忽略此 DRC 。要获取 CDC 违例的详细列表 请运行 report_cdc
示例
在下图中 clk1 clk2 之间存在异步时钟域。但 clk2 捕获域不包含用于同步数据的双寄存器逻辑同步器。

相关推荐

  1. vivado时序方法检查6

    2023-12-06 21:42:07       36 阅读
  2. FPGA时钟资源与设计方法——Xilinx(Vivado)

    2023-12-06 21:42:07       29 阅读
  3. vivado约束方法4

    2023-12-06 21:42:07       46 阅读

最近更新

  1. TCP协议是安全的吗?

    2023-12-06 21:42:07       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-06 21:42:07       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-06 21:42:07       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-06 21:42:07       20 阅读

热门阅读

  1. docker内容整理

    2023-12-06 21:42:07       40 阅读
  2. 找丢失号码(桶排序)

    2023-12-06 21:42:07       30 阅读
  3. 最近爆火的向量数据库是怎么回事儿?

    2023-12-06 21:42:07       39 阅读
  4. C#无标题栏窗体拖动方法

    2023-12-06 21:42:07       34 阅读
  5. 字节面试题 小于n的最大数

    2023-12-06 21:42:07       36 阅读
  6. docker安装mysql8

    2023-12-06 21:42:07       32 阅读
  7. 数据在内存中的存储

    2023-12-06 21:42:07       37 阅读
  8. linux下的抓包实现

    2023-12-06 21:42:07       39 阅读
  9. heatmap.js热力图【vue3】

    2023-12-06 21:42:07       30 阅读