我有一个使用Vivado HLS运行的tcl脚本(vivado_hls -f run_vhls.tcl)。
当我使用内置的 Vivado HLS tcl shell 运行它时,它可以正常工作。 注意:显然shell是基于Cygwin的(当我执行pwd时它给出:/ cygdrive / c / etc)
当我使用 Cygwin shell 运行tcl脚本时,它会生成所有hls输出,与内置VHLS shell相比有两个警告/错误:
@I [HLS-10]正在运行 ' C:/Xilinx/Vivado_HLS/2015.2/bin/unwrapped/win64.o/vivado_hls.exe' C:/Xilinx/Vivado_HLS/2015.2/tps/tcl/tcl8.5/tzdata/Europe/London不能 打开。 对于用户' at3410'在主持人' ee-at3410'
没有" tzdata"给定路径中的文件夹。
@I [WVLOG-307]为CalcSpatConsts'生成RTL Verilog。 的> @E [HLS-70]在调用' vivado_hls&#39 ;;时出错尝试" -help'。 @I [HLS-112]总耗时:262.13秒;峰值内存使用量:1.59 GB。 @I [LIC-101]签入功能[ap_opencl]
我在makefile中调用vhls命令
(cd $(dir_impls)/$(tuple) && vivado_hls -f run_vhls.tcl)
并在显示第2号消息后很快中断,并显示以下消息:
Makefile:103:目标配方' /cygdrive/c/path/latency_values.tcl' 失败了:*** [/cygdrive/c/path/latency_values.tcl]错误2
有人知道为什么我只在Cygwin shell中看到这条消息吗?
有什么问题?我该如何解决?
由于所有hls结果都是使用Cygwin shell正确生成的,有没有办法告诉vivad_hls忽略这个错误?所以我的makefile程序保持不间断。
答案 0 :(得分:0)
如果事情适用于一个解决方案而不是另一个解决方案,并且由于环境变量,最好是在两种情况下打印它们并进行比较:
let itemsContainingOlives = purchaseList.filter{ ($0["purchaseCategory"] as! [String]).contains("olive")}
在一个案例中使用set fd [open "foo.txt" w]
foreach key [array names ::env] {
puts $fd "$key: $::env($key)";
}
close $fd
,在另一个案例中使用foo.txt
。然后,在你的Cygwin shell中:
bar.txt
一旦找到了哪些环境变量不同,您可以在启动$ sort foo.txt > foo1.txt
$ sort bar.txt > bar1.txt
$ diff foo1.txt bar1.txt
之前通过在Cygwin shell中设置它们进行测试:
vivado_hls
如果它适用于你的makefile,你就会完成。