第 2 类:逻辑 - 2023.2 简体中文

Vivado Design Suite 用户指南: 设计分析与收敛技巧 (UG906)

Document ID
UG906
Release Date
2023-10-19
Version
2023.2 简体中文
  • 路径:“Start Point Pin Primitive”(起点管脚原语)、“End Point Pin Primitive”(端点管脚原语)、“Start Point Pin”(起点管脚)、“End Point Pin”(端点管脚)、“Logic Levels”(逻辑层次)、“Logical Path”(逻辑路径)和“Routes”(布线)可提供有关时序路径的部分基本信息。
    • “Start Point Pin Primitive”和“End Point Pin Primitive”是时序路径起点和端点的参考管脚名称。请检查“Start Point Pin Primitive”和“End Point Pin Primitive”是否是期望的时序路径起点和端点。“Start Point Pin”和“End Point Pin”用于识别实际的时序路径起点和端点,这些起点和端点将显示在典型时序报告的标题中。

    请检查端点管脚(例如,CLRPRERSTCE),这些管脚可能包含在控制信号的高扇出信号线(例如,异步复位和时钟使能信号)中。另请检查单元类型,因为部分原语(如块 RAM 和 DSP)具有比其他单元更大的时钟输出 (Clock-to-Q) 延迟和建立/保持时间要求。如果出现在路径上,这些单元可能占用大量路径时序预算。

    • “Logic Levels”和“Logical Path”详列了逻辑级数以及数据路径中的原语类型。“Routes”表示数据路径中可布线的信号线数量。您可使用此信息来快速检查造成大量逻辑层次的主要原因是 LUT 还是 LUT/CARRY/MUXF 单元混合。CARRYMUXF 单元通常连接到具有专用布线(延迟较小或为空)的信号线,而 LUT 输入的布线则始终需穿越互连结构。

    虽然路径基本上已经对 LUT 进行了约束,但检查 LUT 大小同样是很重要的。请尝试理解多个较小的 LUT(非 LUT6)链接在一起的原因,以及导致综合无法仅以 LUT6 为目标的因素,这样可能可以减少逻辑级数。路径中可能存在 KEEP/DONT_TOUCH/MARK_DEBUG 之类的属性或中高扇出信号线,导致影响映射效率。

    根据分析结果,您可修改 RTL 源、添加/修改 RTL 中的属性,或者使用其他综合设置来减少路径上的 LUT 数量。另外,也可以使用 opt_design 命令的 -remap 选项来对 LUT 映射重新进行最优化,这可能可消除部分较小的 LUT。

  • 单元:数据路径中存在的 DSP 块和 BRAM。如果路径来自不含输出寄存器且含有数个逻辑层次的 RAMB 或 DSP,那么在此类路径上满足时序满足时序则更为困难。如果这些路径难以满足时序要求,那么您应考虑将自己的设计修改为使用 RAMB 或 DSP 输出寄存器。