Vivado约束 – 使用综合后OOC DCP时,有关Constraint范围方法的有用信息-Xilinx-AMD社区-FPGA CPLD-ChipDebug

Vivado约束 – 使用综合后OOC DCP时,有关Constraint范围方法的有用信息

描述

如果我使用综合后OOC DCP而不是IP XCI或子模块的源代码,我该如何处理范围限制?

DCP文件包含网表文件和约束。

在使用IP OOC DCP而不是XCI的情况下:

  • IP DCP包含IP约束。
    在项目中使用XCI时,该工具会自动使用输出产品中的本机IP XDC,但不会使用DCP中的约束。
    使用IP DCP而不是XCI时,该工具使用DCP中包含的约束。
  • 通常,Xilinx不建议使用IP DCP而不是XCI。此流程可能会导致某些IP出现问题(例如,FIFO和MIG)。
    (UG896)在第5章的“第三方综合流程”部分中包含以下建议。
    • “在项目模式或非项目模式下引用Xilinx IP而不是直接引用DCP文件时使用IP XCI文件。虽然DCP确实包含约束,但它们在最终用户约束的上下文中被解析。使用在所有网表合并(最终用户和IP)之后,XCI产生用于IP的XDC输出产品。此外,IP XDC中的任何Tcl脚本然后在最终用户约束和网表的上下文中进行评估。
  • 从Vivado 2017.1开始,实施中使用的约束将不会存储到IP OOC DCP中,以阻止使用IP OOC DCP独立版。
  • 存储在IP DCP中的XDC文件的处理顺序与IP本机XDC的处理顺序相同。
    请参阅第2章中的(UG896)“约束文件处理顺序”。
    无法使用report_compile_order命令显示DCP XDC处理顺序,但可以在时序约束编辑器中看到(开放综合设计 – >转到工具 – >编辑时序约束)。

如果子模块的OOC DCP用于顶层设计:

  • 如果OOC DCP不包含约束(这意味着没有XDC用于子模块的OOC综合运行),则可以根据需要将子模块XDC文件添加到顶层设计,并将XDC文件范围限定为此子模块。
    有关使用约束范围的更多信息,请参阅第2章中的(UG903)“约束范围”。
  • 如果OOC DCP包含子模块的约束,则DCP中的约束将由工具自动获取。
  • 在GUI项目模式流中的synth_x文件夹中生成的DCP仅包含用于综合过程的约束,但没有实现约束。
    为了生成包含作用于子模块的全部约束的综合后DCP,您需要按照以下步骤操作:
  1. 综合完成后,打开Synthesized Design。
  2. 在Tcl控制台中,运行以下命令以生成DCP:
write_checkpoint xxx.dcp
请登录后发表评论

    没有回复内容