2022年にVitis HLSでIP化に失敗する対策

アイキャッチ

Vitis HLS で Export RTL 時にエラーが出る問題

ERROR: '2201211612' is an invalid argument. Please specify an integer value.
    while executing
"rdi::set_property core_revision 2201211612 {component component_1}"
    invoked from within
"set_property core_revision $Revision $core"
    (file "run_ippack.tcl" line 857)

高位合成で作成した回路をIP化しようとすると、エラーが発生してIPが作成できない問題が発生しました。(2022年問題?)

‘2201211612’ はタイムスタンプなので実行時刻により異なります (2201211612 は2022年1月21日 16時12分)

直接の原因はタイムスタンプの数値が int 型で表現できる範囲を超えていること。int は32ビット符号付き整数で -2147483648 〜 2147483647 の範囲の整数を表現できますが、2022年以降のタイムスタンプはintの範囲をオーバーしてしまいます。

対策方法

Xilinx公式に対応方法の記事があります。

■ Export IP Invalid Argument / Revision Number Overflow Issue (Y2K22)
https://support.xilinx.com/s/article/76960?language=ja

パッチをダウンロードして適用すると修正されます。Vitis HLS と Vivado HLS の 2021.2 までの全バージョンが影響を受ける様子。

ほかにも関連する質問が出ていました。

■ 2022 timestamp overflow: ERROR: ‘2201011128’ is an invalid argument. Please specify an integer value
https://support.xilinx.com/s/question/0D52E00006uxnnFSAQ/2022-timestamp-overflow-error-2201011128-is-an-invalid-argument-please-specify-an-integer-value?language=ja

■ Export IP Invalid Argument / Revision Number Overflow Issue
https://support.xilinx.com/s/question/0D52E00006vDlvJSAS/export-ip-invalid-argument-revision-number-overflow-issue?language=ja

インストール方法

公式の記事内にパッチファイルのダウンロードリンクとインストール方法の説明があります。詳細はそちらを見ていただけば問題なく進められると思います。

以下、備忘録です。インストール後は正常に動作しています。

環境はUbuntu 20.04 LTS、Vitis HLS 2021.1。

インストール手順

(1) 上記の公式記事のページ最下部にパッチのzipファイルが添付されているので、ダウンロードします。

(2) Xilinxツールのインストールディレクトリでzipファイルを展開します。

デフォルトのインストールディレクトリは、
 Windows は、 C:\Xilinx
 Linux は、 /opt/Xilinx または /tools/Xilinx

(4) READMEファイルに、ツールバージョンごとのインストール方法 (コマンド) が記載されています。私が使っている2021.1はこんな感じ。

* 2021.1
  On all Linux Flavors (Centos, RHEL, Ubuntu 18,… ) where python version 3.8.3 used, follow the  instructions below
     export LD_LIBRARY_PATH=$PWD/Vivado/2021.1/tps/lnx64/python-3.8.3/lib/
     Vivado/2021.1/tps/lnx64/python-3.8.3/bin/python3 y2k22_patch/patch.py
  On Windows run:
    Vivado\2021.1\tps\win64\python-3.8.3\python.exe y2k22_patch\patch.py

(5) 先ほどのインストールディレクトリに移動してコマンドを実行します。sudoを忘れずに。

スポンサーリンク