错误修正记录: [Vivado 12-8300] Launch HLS failed! Please see vitis_hls.log for details.
起因
使用了Vivado Video Frame Buffer Read和Vivado Video Frame Buffer Write,按out of context模式综合失败。vivado版本2020.2(疑似2019.2无误?)
报错
[Vivado 12-8300] Launch HLS failed! Please see vitis_hls.log for details.
解决尝试
鉴定为年份增长导致的奇怪溢出,赛灵思官方给出了补丁y2k22_patch
然而经尝试无效,应该是恰好撞上这个问题。
查看了synth中的 vitis_hls.log报错信息
ERROR:[HLS 207-812] 'sys/cdefs.h' file not found: /usr/include/features.h:461:12
command 'ap_source' returned error code
while executing "source .../video_frame_buffer_writer_synth_1/runhls.tcl"
经再次查找得到这个帖子
按贴主中间给出的方法,将找不到的文件从别的地方(x86_64-linux-gnu/
)软链接过来,但也不是太简洁到位的做法
sudo -s
ln -s /usr/include/x86_64-linux-gnu/sys/ /usr/local/include/
ln -s /usr/include/x86_64-linux-gnu/bits/ /usr/local/include/
ln -s /usr/include/x86_64-linux-gnu/gnu/ /usr/local/include/
似乎大致上解决了问题,至少综合ip时没有报错,但有很多critical warning,不过至少生成了.dcp等文件
原因
大概就是那些ip核的实现可能需要完整的Vitis,而本人装vivado时都是HLS版本,相关编译时的配置没有跟上导致的文件缺失问题。贴中回复提到的另一种就是用自带的Xilinx/Vitis/2020.2/installLibs.sh
,然而Vitis_HLS
没有。
(这种事确实令人恼火,不过贴主怼员工的场面还是忍俊不禁)