zl程序教程

您现在的位置是:首页 >  云平台

当前栏目

【常见 error】自定义 IP 添加到工程时报错解决办法

IP Error 自定义 添加 常见 解决办法 工程 时报
2023-09-14 09:16:21 时间

在进行自定义 IP 后,将自定义 IP 添加到当前的工程时,出现如下报错:

[IP_Flow 19-167] Failed to deliver one or more file(s).

[IP_Flow 19-3505] IP Generation error: Failed to generate IP 'ChannelCalculation_0'. Failed to generate 'Synthesis' outputs:

[IP_Flow 19-98] Generate of the IP CORE failed.

Failed to generate IP 'ChannelCalculation_0'. Failed to generate 'Synthesis' outputs:

55d637f7f8ae4703a531e679ce25474d.png

当看到这个报错时,我一脸懵逼,明明是按照正确的步骤顺序封装 IP 的,但是重复试了三四遍还是出现这个报错信息,经过询问朋友得到的回答是,在准备打包成 IP 的源文件工程最好事先综合一下,以确保RTL是无误的。

于是我便重新生成了新的源工程,并先综合了一下,没有问题边进行 IP 封装,和之前的操作是一致的,在最后封装完毕后,再将 IP 添加到 IP 库中,然后在工程中调用 IP 发现没有报错了,遂解决bug。

总结:

在进行自定义 IP 封装的操作前,为确保 RTL 正确,应该事先将工程综合一下,无误后在封装 IP 的最后一步前,先保存设置,并再进行一遍综合,这一步的目的同样是为了确保工程无误,尤其是再源文件工程中是调用了 Xilinx 官方的 IP 时,这一步最好再综合一次,因为官方的 IP 调用可能会导致工程出错。

自定义 IP 的创建顺序:

  1. 创建源工程;
  2. 对工程进行综合,确定无误;
  3. 将当前工程封装成 IP;
  4. 在封装 IP 的最后一步之前,再对工程进行综合一次;
  5. 完成 IP 的封装;
  6. 在工程中进行调用自定义的 IP。

63abf7a0e605443483f4d7271cef6085.png

另外在调用自定义 IP 时,也出现了一个小 bug,就是报错信息为调用官方 IP 的文件夹路径过长,因为路径最大只能到 260 bytes 左右,超过这个值可能就检索不到,导致自定义的 IP 核无法调用,解决办法也很简单,将创建的工程放到更短的路径,或者将源路径所设计的文件夹名称缩短,尽量使用缩写,这样能大大缩短路径的长度。