2022年になったことでuint32_tからリビジョンがオーバーフローし、論理合成ができないバグが発生していました。
パッチが公開されました。
https://support.xilinx.com/s/article/76960?language=ja
症状
オーバーフローバグがあるときこのようなエラーが発生します。例えばUltra96 MPSoCでAXI GPIOをつなげただけの単純なデザインではこのようなエラーがでます。HLSを使うデザインは全滅します。
Scanning sources... Finished scanning sources INFO: [IP_Flow 19-234] Refreshing IP repositories INFO: [IP_Flow 19-1704] No user IP repositories specified INFO: [IP_Flow 19-2313] Loaded Vivado IP repository '/tools/Xilinx/Vivado/2019.2/data/ip'. WARNING: [IP_Flow 19-3664] IP 'design_1_v_demosaic_0_0' generated file not found '/home/fumi/fixstars/fixstars.srcs/sources_1/bd/design_1/ip/design_1_v_demosaic_0_0/design_1_v_demosaic_0_0.dcp'. Please regenerate to continue. WARNING: [IP_Flow 19-3664] IP 'design_1_v_demosaic_0_0' generated file not found '/home/fumi/fixstars/fixstars.srcs/sources_1/bd/design_1/ip/design_1_v_demosaic_0_0/design_1_v_demosaic_0_0_stub.v'. Please regenerate to continue. WARNING: [IP_Flow 19-3664] IP 'design_1_v_demosaic_0_0' generated file not found '/home/fumi/fixstars/fixstars.srcs/sources_1/bd/design_1/ip/design_1_v_demosaic_0_0/design_1_v_demosaic_0_0_stub.vhdl'. Please regenerate to continue. WARNING: [IP_Flow 19-3664] IP 'design_1_v_demosaic_0_0' generated file not found '/home/fumi/fixstars/fixstars.srcs/sources_1/bd/design_1/ip/design_1_v_demosaic_0_0/design_1_v_demosaic_0_0_sim_netlist.v'. Please regenerate to continue. WARNING: [IP_Flow 19-3664] IP 'design_1_v_demosaic_0_0' generated file not found '/home/fumi/fixstars/fixstars.srcs/sources_1/bd/design_1/ip/design_1_v_demosaic_0_0/design_1_v_demosaic_0_0_sim_netlist.vhdl'. Please regenerate to continue. WARNING: [IP_Flow 19-3664] IP 'design_1_v_gamma_lut_0_0' generated file not found '/home/fumi/fixstars/fixstars.srcs/sources_1/bd/design_1/ip/design_1_v_gamma_lut_0_0/design_1_v_gamma_lut_0_0.dcp'. Please regenerate to continue. WARNING: [IP_Flow 19-3664] IP 'design_1_v_gamma_lut_0_0' generated file not found '/home/fumi/fixstars/fixstars.srcs/sources_1/bd/design_1/ip/design_1_v_gamma_lut_0_0/design_1_v_gamma_lut_0_0_stub.v'. Please regenerate to continue. WARNING: [IP_Flow 19-3664] IP 'design_1_v_gamma_lut_0_0' generated file not found '/home/fumi/fixstars/fixstars.srcs/sources_1/bd/design_1/ip/design_1_v_gamma_lut_0_0/design_1_v_gamma_lut_0_0_stub.vhdl'. Please regenerate to continue. WARNING: [IP_Flow 19-3664] IP 'design_1_v_gamma_lut_0_0' generated file not found '/home/fumi/fixstars/fixstars.srcs/sources_1/bd/design_1/ip/design_1_v_gamma_lut_0_0/design_1_v_gamma_lut_0_0_sim_netlist.v'. Please regenerate to continue. WARNING: [IP_Flow 19-3664] IP 'design_1_v_gamma_lut_0_0' generated file not found '/home/fumi/fixstars/fixstars.srcs/sources_1/bd/design_1/ip/design_1_v_gamma_lut_0_0/design_1_v_gamma_lut_0_0_sim_netlist.vhdl'. Please regenerate to continue. WARNING: [IP_Flow 19-3664] IP 'design_1_v_tpg_0_0' generated file not found '/home/fumi/fixstars/fixstars.srcs/sources_1/bd/design_1/ip/design_1_v_tpg_0_0/design_1_v_tpg_0_0.dcp'. Please regenerate to continue. WARNING: [IP_Flow 19-3664] IP 'design_1_v_tpg_0_0' generated file not found '/home/fumi/fixstars/fixstars.srcs/sources_1/bd/design_1/ip/design_1_v_tpg_0_0/design_1_v_tpg_0_0_stub.v'. Please regenerate to continue. WARNING: [IP_Flow 19-3664] IP 'design_1_v_tpg_0_0' generated file not found '/home/fumi/fixstars/fixstars.srcs/sources_1/bd/design_1/ip/design_1_v_tpg_0_0/design_1_v_tpg_0_0_stub.vhdl'. Please regenerate to continue. WARNING: [IP_Flow 19-3664] IP 'design_1_v_tpg_0_0' generated file not found '/home/fumi/fixstars/fixstars.srcs/sources_1/bd/design_1/ip/design_1_v_tpg_0_0/design_1_v_tpg_0_0_sim_netlist.v'. Please regenerate to continue. WARNING: [IP_Flow 19-3664] IP 'design_1_v_tpg_0_0' generated file not found '/home/fumi/fixstars/fixstars.srcs/sources_1/bd/design_1/ip/design_1_v_tpg_0_0/design_1_v_tpg_0_0_sim_netlist.vhdl'. Please regenerate to continue. open_project: Time (s): cpu = 00:00:08 ; elapsed = 00:00:10 . Memory (MB): peak = 7478.383 ; gain = 0.000 ; free physical = 24952 ; free virtual = 30167
ダウンロードして展開
ここから
https://support.xilinx.com/s/article/76960?language=ja
y2k22_patchをダウンロードして展開します。展開したらy2k22_patchというフォルダをWindowsならC:/Xilinx, Linuxなら/opt/Xilinxなどに持っていきます。
つまり、WindowsならC:\Xilinx\y2k22_patch
のようになるはず。
パッチを実行(Vivado2019以降の場合)
バージョンにもよりますが、Vivado2019~2021まではこのようにする。
Windowsの場合
コマンドプロンプトを立ち上げてcd C:/Xilinx
で移動。
Vivado\2019.2\tps\win64\python-2.7.5\python.exe y2k22_patch\patch.py
を実行。ここでは2019.2としているが、2019-2021の自分の環境に当てはめて実行する。MINGGWやGitbashなど使っている場合は正スラッシュにする。
詳細はreadmeに書いてあるので参照。
Linuxの場合
同様にcd /opt/xilinx
export LD_LIBRARY_PATH=$PWD/Vivado/2019.2/tps/lnx64/python-2.7.5/lib/
Vivado/2019.2/tps/lnx64/python-2.7.5/bin/python y2k22_patch/patch.py
同様に自分の環境に当てはめること。
~Vivado2018の場合
PythonがVivadoに含まれていないので、自分でPythonをインストールする必要がある。Pythonは2.7.5 or laterが必要とのこと。
Windowsならcd C:/Xilinx
、Linuxならcd /opt/xilinx
して移動。
python y2k22_patch/patch.py
を実行。
実行結果(Windows)
fumi@fumi-ark MINGW64 /c/Xilinx $ Vivado/2019.2/tps/win64/python-2.7.5/python.exe y2k22_patch/patch.py [2022-01-09] INFO: This script (version: 1.2) patches Xilinx Tools for HLS Y2k22 bug for the following release: 2014.*, 2015.*, 2016.*, 2017.*, 2018.*, 2019.*, 2020.* and 2021.* [2022-01-09] UPDATE: C:\Xilinx\Vitis\2019.2\common\scripts [2022-01-09] COPY: C:\Xilinx/y2k22_patch/automg_patch_20220104.tcl to C:\Xilinx\Vitis\2019.2\common\scripts\automg_patch_20220104.tcl [2022-01-09] UPDATE: C:\Xilinx\Vivado\2019.2\common\scripts [2022-01-09] COPY: C:\Xilinx/y2k22_patch/automg_patch_20220104.tcl to C:\Xilinx\Vivado\2019.2\common\scripts\automg_patch_20220104.tcl
正常に終わったようだ。
Logが出てきたので示す。(Vivado2019.2)
[2022-01-09] INFO: This script (version: 1.2) patches Xilinx Tools for HLS Y2k22 bug for the following release: 2014.*, 2015.*, 2016.*, 2017.*, 2018.*, 2019.*, 2020.* and 2021.* [2022-01-09] UPDATE: C:\Xilinx\Vitis\2019.2\common\scripts [2022-01-09] COPY: C:\Xilinx/y2k22_patch/automg_patch_20220104.tcl to C:\Xilinx\Vitis\2019.2\common\scripts\automg_patch_20220104.tcl [2022-01-09] UPDATE: C:\Xilinx\Vivado\2019.2\common\scripts [2022-01-09] COPY: C:\Xilinx/y2k22_patch/automg_patch_20220104.tcl to C:\Xilinx\Vivado\2019.2\common\scripts\automg_patch_20220104.tcl
実行結果
エラーなく成功しました(またinplementやってるけど)。良かった。これで日常の開発ができますね。