【问题标题】:Generate NGC for custom VHDL module in IPCore Xilinx为 IPCore Xilinx 中的自定义 VHDL 模块生成 NGC
【发布时间】:2013-10-18 11:29:25
【问题描述】:

我正在尝试为 Zedboard 实现自定义 IPCore。在我的 User_Logic 中,我包含了一个来自 VHDL 模块 (My_Module.vhd) 的组件 (My_Module),它是我作为 ISE 项目的一部分编写的。但是当我在 PlanAhead 中为我的设计生成比特流时,它会要求 My_Module.ngc,就好像它把它当作一个黑盒一样。我虽然只在使用 CoreGen IPCores 时才需要 NGC,但它似乎也需要它用于包含的任何 VHDL 模块,因为我猜这是一个“黑匣子”。

问题是如何从 VHDL 为该模块创建 NGC 文件,该模块是 ISE 项目的一部分。因为我在 ISE 中找不到任何允许您为一个 VHDL 模块生成网表的功能。或者我可以将这个模块导出到一个单独的 ISE 项目中,然后合成它以获得 .ngc?

非常感谢 山姆

【问题讨论】:

    标签: hardware vhdl fpga xilinx


    【解决方案1】:

    您确定您在模块.vhd 文件中和在使用模块作为组件的文件中输入的模块名称完全相同吗?

    在正常情况下,如果您的项目将模块包含为 .vhd 文件,它只会与您的其他源代码一起合成 - 我做了一个快速测试并在我自己的一个项目中重命名了一个组件,并收到有关可能丢失 .ngc 文件的投诉(这是在 ISE 中,但不在 PlanAhead 中)。

    【讨论】:

    • 是的,我敢肯定,在 ISE 和 XPS 中,项目综合和实施运行良好。只有在 PlanAhead 中才会出现这个问题,这让我很困惑!
    • 另一个令人费解的事情是,当在 XPS 中生成网表时,如果它需要 ngc 文件进行构建,它通常会在我进入 PlanAhead 综合阶段之前抛出这个错误。但在这里它在 XPS 中运行,而不是在 PlanAhead 中运行。
    • 听起来很奇怪——我还没有真正使用 PlanAhead 来管理项目,所以对此帮不上什么忙。您可能应该在您的问题中添加该问题是 PlanAhead 特有的,并且在 ISE 中一切都很好。也许还有一些sn-ps代码(例如你的模块/组件/等的声明)。
    • 很奇怪,但我通过为每个模块生成 NGC 文件找到了解决方法。虽然我确信某处必须有一个配置,所以我不必这样做!
    【解决方案2】:

    所以答案是通过将您想要的模块设置为“顶级模块”来生成 NGC 文件,然后您可以运行合成以生成单个 NGC。然后在将 IP 添加到 PCore 时照常进行。因此,将这些 NGC 文件添加到网表文件夹并修改 BBD 文件等等!

    作为使模块正常工作的完成说明,您需要设置综合设置“Xilinx Specefic”-> 并禁用“添加 io 缓冲区”

    【讨论】:

      【解决方案3】:

      您是否将 My_Module.vhd 作为源文件包含在您的 ISE 项目中?如果是,请检查 ISE 项目的 My_Module 组件旁边是否没有黄色问号。如果是这样,那么它需要有关该组件的更多信息。您应该会在 ISE 实施层次结构视图中看到一个带有字母 VHD 的小图标。

      【讨论】:

      • 不,一切都很好,My_Module.vhd 源是按照创建新 VHDL 模块的常规方式创建的,因此链接没有问题。
      • 您是否记得在实例化 My_Module 的文件中包含架构之前的组件定义?我想如果你不这样做,你会遇到编译错误,但只是想我会问。
      猜你喜欢
      • 1970-01-01
      • 2019-12-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-07-11
      • 1970-01-01
      • 2017-11-05
      • 1970-01-01
      相关资源
      最近更新 更多