在IPCore Xilinx中为定制VHDL模块生成NGC

时间:2013-10-18 11:29:25

标签: hardware vhdl fpga xilinx

我正在尝试为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?

非常感谢 萨姆

3 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:1)

所以答案是通过制作你想要的“顶级模块”模块来生成NGC文件,然后你可以运行综合来生成单独的NGC。然后在向PCore添加IP时正常进行。所以将这些NGC文件添加到网表文件夹并修改BBD文件等等!

作为完成模块工作的注释,您需要设置合成设置“Xilinx Specefic” - >并禁用“添加io缓冲区”

答案 2 :(得分:0)

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