0

Vivado HLS で実行する Tcl スクリプトがあります (vivado_hls -f run_vhls.tcl)。

  • 組み込みのVivado HLS tcl シェルを使用して実行すると、問題なく動作します。注: どうやらシェルは Cygwin ベースです (pwd を実行すると /cygdrive/c/etc が返されます)。

  • Cygwin シェルを使用して tcl スクリプトを実行すると、すべての hls 出力が生成され、組み込みの VHLS シェルと比較して 2 つの警告/エラーが発生します。

    1. 実行の開始時:

@I [HLS-10] Running '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 /ロンドンは開けません。 ホスト「ee-at3410」のユーザー「at3410」用

指定されたパスに「tzdata」フォルダーがありません。

  1. 最後に、すべての 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]

メイクファイルで vhls コマンドを呼び出しています

(cd $(dir_impls)/$(tuple) && vivado_hls -f run_vhls.tcl)

No. 2 のメッセージを表示した直後に、次のメッセージが表示されて中断します。

Makefile:103: ターゲット '/cygdrive/c/path/latency_values.tcl' のレシピが作成に失敗しました: *** [/cygdrive/c/path/latency_values.tcl] エラー 2

このメッセージが Cygwin シェルでのみ表示される理由を知っている人はいますか?

何が問題ですか?どうすれば修正できますか?

すべての hls 結果は Cygwin シェルを使用して正しく生成されるため、このエラーを無視するように vivad_hls に指示する方法はありますか? 私のメイクファイル手順が途切れないように。

4

1 に答える 1

0

ある解決策でうまくいき、他の解決策ではうまくいかず、環境変数が原因である場合は、両方のケースでそれらを印刷して比較するのが最善です。

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

どの環境変数が異なるかがわかったら、起動する前に Cygwin シェルでそれらを設定してテストできますvivado_hls

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

それが機能する場合は、メイクファイルを適応させれば完了です。

于 2015-09-29T12:07:10.193 に答える