尝试使用zc706运行example中的matrix multiplication and addition例程,尝试SDx编译,发现报错:
Loaded SDSoC Platform Tcl Library source run_ippack.tcl -notrace ERROR: [IMPL 213-28] Failed to generate IP. command 'ap_source' returned error code while executing "source D:/Xilinx/MyProjectsSDx/test/Debug/_sds/vhls/madd_run.tcl" invoked from within "hls::main D:/Xilinx/MyProjectsSDx/test/Debug/_sds/vhls/madd_run.tcl" ("uplevel" body line 1) invoked from within "uplevel 1 hls::main {*}$args" (procedure "hls_proc" line 5) invoked from within "hls_proc $argv" INFO: [HLS 200-112] Total elapsed time: 22.163 seconds; peak allocated memory: 73.262 MB.
在对madd函数通过vivado编译时也报错:
Loaded SDSoC Platform Tcl Library source run_ippack.tcl -notrace ERROR: [IMPL 213-28] Failed to generate IP. command 'ap_source' returned error code while executing "source D:/Xilinx/MyProjectsSDx/test/Debug/_sds/vhls/madd/solution/export.tcl" invoked from within "hls::main D:/Xilinx/MyProjectsSDx/test/Debug/_sds/vhls/madd/solution/export.tcl" ("uplevel" body line 1) invoked from within "uplevel 1 hls::main {*}$args" (procedure "hls_proc" line 5) invoked from within "hls_proc $argv" Finished export RTL.
这两个应该是同一个错误
有人描述解决办法是:把RESOURCE改成INTERFACE,就可以了,综合时精简了引脚。
我表示看不懂。。。。这里有一个类似说法:
I guess you have used HLS Resource directive to set an AXI4 stream interface. Have you set the port map also when you set it: Example: #pragma HLS resource core=AXI4Stream variable=data_i metadata="-bus_bundle AXI4Stream_S" port_map={{data_i_data TDATA} {data_i_strb TSTRB}}
解决办法是:这里的描述跟我的问题不一致啊,怎么恰好能解决呢,捂脸
Solution While this update for Windows 10 is not officially supported with Vivado 2017.3, the following work-around is available: Navigate to (Vivado Installed Directory)2017.3inunwrappedwin64.o Backup 'vivado.exe' by renaming it to 'vivado.exe.backup' Copy 'vivado-vg.exe' and paste it into the same folder. Rename 'vivado-vg - Copy.exe' to 'vivado.exe'
After the above steps are followed, Vivado will launch normally.
可能是更改了vivado的一个配置,对win10的兼容性才变好了?
修改之后vivado HLS已经可以正常编译了,SDx也没有报错了。