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 捕获域不包含用于同步数据的双寄存器逻辑同步器。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

cckkppll

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值