识别苛刻的时序要求 - 2023.2 简体中文

Versal 自适应 SoC 系统集成和确认方法指南 (UG1388)

Document ID
UG1388
Release Date
2023-11-15
Version
2023.2 简体中文

对于每个时钟对,时钟交互报告还可显示最差路径的建立时间要求。按Path Req (WNS)(路径要求 (WNS))对列进行排序,以查看设计中最苛刻的要求列表。请复查这些时序要求以确保不存在无效的苛刻要求。

Vivado 工具通过如下方式来确定路径要求:将每个时钟扩展至 1000 个时钟周期,然后确定发生非重合边沿对齐的最接近的位置。当 1000 个周期不足以确定最苛刻的要求时,此报告会显示“Not Expanded”,在此情况下,必须将 2 个时钟作为异步来处理。

例如,假设时序路径从 250 MHz 时钟跨越到 200 MHz 时钟:

  • 200 MHz 时钟的正沿为 {0、5、10、15、20}。
  • 250 MHz 时钟的正沿为 {0、4、8、12、16、20}。

当出现以下情况时,该时钟对的最苛刻的要求就会出现:

  • 250 MHz 时钟在 4 ns 处出现上升沿。
  • 200 MHz 时钟的下一个上升沿位于 5 ns 处。

这会导致时序从 250 MHz 时钟域约束到 200 MHz 时钟域内的所有路径都在 1 ns 进行时序约束。

注释: 位于 20 ns 处的同步时钟沿在本例中并非最苛刻要求,因为捕获沿不能与发送沿相同。

由于这是 1 个相当苛刻的时序要求,您必须采取额外的步骤。根据设计的不同,下列约束之一可能成为处理这些交汇问题的正确方法:

  • set_clock_groups / set_false_path / set_max_delay -datapath_only

    将时钟对作为异步来处理时,请使用上述约束之一。使用 report_cdc Tcl 命令来确认时钟域交汇电路是否安全。

  • set_multicycle_path

    在放宽时序要求时使用此约束,前提是已采用正确的时钟电路来对发送时钟沿和捕获时钟沿进行相应控制。

如果什么也不做,设计可能会出现跨这 2 个时钟域的时序违例问题。此外,所有最佳最优化、布局和布线都可能变为供这些路径专用而不是供设计中的真正关键路径使用。在执行任何时序驱动的实现步骤之前,请务必明确识别这些类型的路径。

图 1. 从 250 MHz 到 200 MHz 的时钟域交汇