文章 ID: 000087358 内容类型: 故障排除 上次审核日期: 2018 年 05 月 04 日

为什么不能英特尔® Stratix®从另一个具有不同顶级项目导出的 10 个分区进行编译?

环境

  • 英特尔® Quartus® Prime Pro Edition
  • BUILT IN - ARTICLE INTRO SECOND COMPONENT

    关键问题

    说明

    由于英特尔® Quartus® Prime Pro Software 版本 18.0 或更早出现问题,当两个分区在具有 top_level_1.sv 和 top_level_2.sv 的两个不同的项目中编译,并使用QDB_FILE_PARTITION分配到具有 top_level_3.sv 的第三个项目中重新使用,由于双行时钟区域重叠,您将看到以下内部错误:

    内部错误:子系统:VPR20KMAIN,文件:/quartus/fitter/vpr20k/altera_arch_common/altera_arch_re_network_routing_constraints.cpp

    top_level_1.sv、top_level_2.sv 和 top_level_3.sv 三个顶级文件来自 3 个不同的设计,并且每种设计在外设接口、使用的设计模块等方面都有所不同。因此,开发人员项目(使用 top_level_1.sv 和 top_level_2.sv 的项目),其中分区最初被编译并导出,没有关于两个导出分区被重用的消费者项目(一个带有 top_level_3.sv 的项目)的全面信息。

    • 时钟扇区由图中的绿色框定义。1
    • 行时钟区域为半时钟扇区宽,而一行 LAB 行高,用图中的红色点缀框表示。1
      • 在消费者项目中,当两个重复使用的分区在此区域中重叠时,您会看到上面的“内部错误”

     

    解决方法

    为解决这一问题,请在 开发人员项目中使用逻辑锁区域,以避免在消费者项目中采用两个重复使用的分区来调整同一行时钟区域。

    例如:

    • 从将重新使用这两个分区的消费者项目中,确定黄色和紫色分区的大致位置。选择两个分区的逻辑锁限制,这样行时钟区域不会重叠。
    • 在开发人员项目中,借助 top_level_1.sv,使用从紫色分区的消费者项目中识别出的逻辑锁区域限制,接着在最终阶段编译和导出分区。
    • 在开发人员项目中,借助 top_level_2.sv,使用从黄色分区的消费者项目中识别出的逻辑锁区域限制,最后阶段对分区进行编译和导出。
    • 导出的分区在消费项目中重新使用时,会使用 top_level_3.sv,使用非转移逻辑锁约束来维护开发人员项目中定义的位置。

     

    此问题计划在英特尔® Quartus® Prime Pro 软件的未来版本中修复。

    本页面上的内容是原始英文内容的人工翻译与计算机翻译的组合。我们提供此内容是为了您的便利并且仅供参考,未必完整或准确。如果本页面的英文版与翻译版之间存在任何冲突,应以英文版为准。 查看此页面的英语版本。