在Cygwin运行Vivado HLS

在Cygwin运行Vivado HLS,cygwin,xilinx,http-live-streaming,vivado,Cygwin,Xilinx,Http Live Streaming,Vivado,我有一个用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/2

我有一个用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不能 打开。 对于主机“ee-at3410”上的用户“at3410”

给定的路径中没有“tzdata”文件夹

  • 最后,当生成所有hls输出时,表示: @I[WVLOG-307]为“CalcSpatConsts”生成RTL Verilog。 @E[HLS-70]调用“vivado_HLS”时出错;尝试“-帮助”。 @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:target'/cygdrive/c/path/latency_values.tcl'的配方 生成失败:**[/cygdrive/c/path/latency_values.tcl]错误2

    有人知道我为什么只在Cygwin外壳中看到这个消息吗

    有什么问题吗?我该怎么解决


    由于所有hls结果都是使用Cygwin shell正确生成的,有没有办法告诉vivad_hls忽略此错误?这样我的makefile过程就不会中断。

    如果使用一种解决方案而不是另一种解决方案,并且是由于环境变量,最好是在这两种情况下打印它们并进行比较:

    set fd [open "foo.txt" w]
    foreach key [array names ::env] {
      puts $fd "$key: $::env($key)";
    }
    close $fd
    
    在一种情况下使用
    foo.txt
    ,在另一种情况下使用
    bar.txt
    。然后,在Cygwin外壳中:

    $ sort foo.txt > foo1.txt
    $ sort bar.txt > bar1.txt
    $ diff foo1.txt bar1.txt
    
    一旦找到了不同的环境变量,就可以在启动
    vivado_hls
    之前在Cygwin shell中设置它们进行测试:

    export VARNAME1=VARVALUE1
    export VARNAME2=VARVALUE2
    ...
    vivado_hls -f run_vhls.tcl
    

    如果成功,请修改您的makefile,您就可以完成。

    第二个错误可能是第一个错误的结果:Vivado_hls记录发生了错误,并将第二个错误作为摘要发布。第一个错误可能是由于您的语言设置。请尝试使用LANG、LC_CTYPE…环境变量。可能吧。谢谢您的介绍t、 我该怎么做?在环境变量列表中(用户和系统),我没有你提到的两个。