FC2カウンター FPGAの部屋 2022年01月09日
fc2ブログ

FPGAやCPLDの話題やFPGA用のツールの話題などです。 マニアックです。 日記も書きます。

FPGAの部屋

FPGAの部屋の有用と思われるコンテンツのまとめサイトを作りました。Xilinx ISEの初心者の方には、FPGAリテラシーおよびチュートリアルのページをお勧めいたします。

Vivado HLS, Vitis HLS の 2022 年問題にパッチを当てる

Vivado HLSリビジョンオーバーフロー問題のパッチの当て方”(参考にさせて頂きます)を見て Vivado HLS, Vitis HLS の 2022 年問題のパッチが出ていることに気がついたので、私もやってみることにした。

Vivado HLS, Vitis HLS の 2022 年問題については、”Vivado HLS, Vitis HLS で 2022 年問題発生”を参照のこと。

パッチは”Export IP Invalid Argument / Revision Number Overflow Issue (Y2K22)”にあった。
ファイル名は、y2k22_patch-1.2.zip だった。
HLS_problem_2022_7_220109.png


Ubuntu 18.04 LTS での Vitis HLS 2021.2 のパッチ
y2k22_patch-1.2.zip をダウンロードして展開した。
HLS_problem_2022_8_220109.png

展開された y2k22_patch ディレクトリを確認した。
HLS_problem_2022_9_220109.png

README ファイルを確認した。
パッチのやり方が書いてある。
HLS_problem_2022_10_220109.png

Vitis hLS 2021.2 にパッチを当てよう。
Vivado などのインストール・ディレクトリに移動して LD_LIBRARY_PATH 環境変数を設定して、パッチを当てた。
cd /media/masaaki/Ubuntu_Disk/tools/Xilinx/
export LD_LIBRARY_PATH=$PWD/Vivado/2021.2/tps/lnx64/python-3.8.3/lib/
Vivado/2021.2/tps/lnx64/python-3.8.3/bin/python3 y2k22_patch/patch.py

HLS_problem_2022_11_220109.png
HLS_problem_2022_12_220109.png

これでパッチが当たったはずなので、Vitis HLS 2021.2 を起動して、Export RTL を行ったところ成功した。
HLS_problem_2022_13_220109.png

solution1/impl ディレクトリに export.zip ができている。
HLS_problem_2022_14_220109.png

solution1/impl/ip ディレクトリにも IP が生成されていた。
HLS_problem_2022_20_220109.png


Windows11 のパッチ
Windows11 に y2k22_patch-1.2.zip をダウンロードして解凍した。
HLS_problem_2022_15_220109.png

Windows ターミナルを起動して、C:\Xilinx フォルダに移動した。
Vivado\2021.2\tps\win64\python-3.8.3\python.exe y2k22_patch\patch.py
を実行した。
HLS_problem_2022_16_220109.png

Vitis HLS 2021.2 を起動して Export RTL を実行したところ、Windows11 でも成功した。
HLS_problem_2022_17_220109.png

solution1/impl ディレクトリに export.zip ができている。
HLS_problem_2022_18_220109.png

solution1/impl/ip ディレクトリにも IP が生成されていた。
HLS_problem_2022_19_220109.png

(追加)
Linux の 2019.2 のパッチ・コマンドが間違っていました。正しくは、
Vivado/2019.2/tps/lnx64/python-2.7.5/bin/python2.7 y2k22_patch/patch.py
です。

Linux の 2020.1 のパッチ・コマンドも間違っていました。正しくは、
Vivado/2020.1/tps/lnx64/python-2.7.16/bin/python2.7 y2k22_patch/patch.py
です。

Linux の 2020.2 のパッチ・コマンドも間違っていました。正しくは、
Vivado/2020.2/tps/lnx64/python-3.8.3/bin/python3.8 y2k22_patch/patch.py
です。

Linux の 2020.3 のパッチ・コマンドはやってないですが、間違っているんじゃないでしょうか?


Windows10 の場合
タスクバーから検索を選んで、”コマンドプロンプト”と入力すると、コマンドプロンプトのアイコンが出てくるので、それをクリックして、コマンドプロンプトを立ち上げる。

Xilinx ツールのインストール・フォルダに行く。
私の場合は、cd J:\Xilinx , J:

Windows11 の場合と同様に Windows 用のコマンドを入力する。
Vitis HLS 2021.2 の場合は、
Vivado\2021.2\tps\win64\python-3.8.3\python.exe y2k22_patch\patch.py
HLS_problem_2022_20_220112.png
HLS_problem_2022_21_220112.png
  1. 2022年01月09日 05:23 |
  2. Vitis HLS
  3. | トラックバック:0
  4. | コメント:0

Vitis HLS 2021.2 で AXI4-Lite インターフェースのクロックに別のクロックを指定する7

Vitis HLS 2021.2 で AXI4-Lite インターフェースのクロックに別のクロックを指定する6”の続き。

Vitis HLS 2021.2 で AXI4-Lite インターフェースのクロックに別のクロックを指定してみようということで、前回は、FCLK_CLK0 が 100 MHz 、FCLK_CLK1 が 50 MHz で再度やり直したところ、タイミング・エラーは発生しなかった。今回は、実際に動作するか?を調べてみよう。

ハードウェアをエクスポートした。
DMA_pow2_defclk_bd_wrapper.xsa ファイルが生成された。
AXI4-Lite_defclk_43_220107.png

Vivado の Tools メニューから Launch Vitis IDE を選択して、Vitis 2021.2 を起動する。
Vitis IDE Launcher が起動する。
vitis_work ディレクトリを作成して、Launch ボタンをクリックする。
AXI4-Lite_defclk_44_220107.png

Vitis 2021.2 が起動した。
AXI4-Lite_defclk_45_220107.png

Create Application Project をクリックして、DMA_pow2_defclk_test アプリケーション・プロジェクトを作成した。DMA_pow2_defclk_bd_wrapper プラットフォーム・プロジェクトも作成した。
AXI4-Lite_defclk_46_220108.png

DMA_pow2_defclk_test.c を作成した。
AXI4-Lite_defclk_47_220108.png

トンカチアイコンをクリックして、ビルドを行った。
DMA_pow2_defclk_test.elf ファイルが生成された。
AXI4-Lite_defclk_48_220108.png

Explorer で DMA_pow2_defclk_test_system を選択して、Run アイコンをクリックすると ZYBO Z7-20 がコンフィギュレーションされて、DMA_pow2_defclk_test.elf ファイルが実行された。
AXI4-Lite_defclk_49_220108.png

Tera Term に 2 乗したデータが表示された。成功だ。
AXI4-Lite_defclk_50_220108.png

結局、Vitis HLS 2021.2 の AXI4-Lite インターフェースのクロックを独自に生成する機能は、クロック載せ替えがされていないので、特定の周波数しか Vivado でのタイミングがメットしないようだ。今回は、IP 全体の動作周波数が 100 MHz で AXI4-Lite インターフェースが 50 MHz で動作確認した。
  1. 2022年01月09日 04:19 |
  2. Vitis HLS
  3. | トラックバック:0
  4. | コメント:0