开门见山
如果是工程模式下遇到此问题,是早期版本VIVADO对HLS的支持问题。官方社区有补丁包https://support.xilinx.com/s/article/76960?language=zh_CN
如果是非工程模式下遇到此问题,则是因为需要手动编译相关C文件,Tcl Console中执行
compile_c [get_ips sdi_v_tpg_0_1]
详细过程
在Vivado 2018.3中使用了由HLS生成的IP “Video Test Pattern Generator”,综合的时候报错:[Synth 8-439] module 'sdi_v_tpg_0_1_v_tpg' not found。
展开相应的Block,确实没有文件~但是这是官方提供的IP,怎么会没有相应的文件呢?在高版本的VIVADO中并没有遇到这个问题。官方论坛上有相关的讨论。https://support.xilinx.com/s/article/70400?language=zh_CN
总结下来就是VIVADO本应该自动运行compile_c来生成HLS相关的IP文件,但是并没有!
那我们自己手动运行一下是不是就可以解决问题了?以下是在Tcl Console中输入的代码,其中“sdi_v_tpg_0_1”就是报错信息中提到的综合失败的module。注意,不是not found那个module。
运行之后,相应文件有了,综合成功了。并没有!Message中显示的错误没有变,那到Tcl Console中找一找~
ERROR: [IMPL 213-28] Failed to generate IP.
command 'ap_source' returned error code
while executing
"source [lindex $::argv 1] "
("uplevel" body line 1)
invoked from within
"uplevel \#0 { source [lindex $::argv 1] } "
出现了!“【IMPL 213-28】Failed to generate IP” ,到官方社区搜索,看到相关讨论帖,有同志提到了一个patch,并给出了链接。
Export IP Invalid Argument / Revision Number Overflow Issue (Y2K22) (xilinx.com)
打上补丁,确实修复了这个问题。注意:使用管理员模式打开命令提示行,然后切换路径至Xilinx安装目录,然后执行Python脚本,当然,你需要安装Python。