FC2カウンター FPGAの部屋 ”PYNQ を使って Python で手軽に FPGA を活用 (5)”を手順通りにやってみる
fc2ブログ

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

FPGAの部屋

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

”PYNQ を使って Python で手軽に FPGA を活用 (5)”を手順通りにやってみる

今までは、”PYNQ を使って Python で手軽に FPGA を活用 (5)”の”PL から PS に接続されたメモリを読み書きする”の stream_double.v を Vitis HLS 2021.2 で作った DMA_pow2_axis に置き換えて KV260 の PYNQ で実行して失敗していた。今回は、”PYNQ を使って Python で手軽に FPGA を活用 (5)”の”PL から PS に接続されたメモリを読み書きする”をそのままやってみる。つまり、DMA_pow2_axis の代わりに stream_double.v を使って、やってみよう。

stream_double.v を DMA_pow2_axis_i プロジェクトに追加した。プロジェクト名がおかしい気がするが、そこはスルーしてください。
Kria-PYNQ_123_220302.png

DMA_pow2 ブロック・デザインに stream_double.v をドラック&ドロップして、配線した。
Kria-PYNQ_124_220302.png

Address Editor 画面を示す。
Kria-PYNQ_125_220302.png

論理合成、インプリメンテーション、ビットストリームの生成を行った。
Kria-PYNQ_126_220302.png

KV260 の PYNQ の Jupyter Notebook の DMA_pow2_axis_i ディレクトリに DMA_pow2_wrapper.bit と DMA_pow2.hwh ファイルをホスト・パソコンからアップロードした。DMA_pow2_wrapper.bit は DMA_pow2.bit と名前を変更した。
DMA_pow2.ipynb ファイルも DMA_pow2_axis_0 が無くなったので、修正した。
Python コードを実行すると成功した。やはり、stream_double.v だと大丈のようだ。
Kria-PYNQ_127_220302.png
Kria-PYNQ_128_220302.png

System ILA の波形を確認する。
最初に MM2S の AXI4 Master 波形から確認しよう。
Kria-PYNQ_129_220302.png

10 バースト Read で問題ないな。

MM2S と S2MM の AXI4-Stream のデータ転送も始まるが、バッファ数の分だけのようだ。4個分。
Kria-PYNQ_130_220302.png

S2MM の AXI4 Master の AWVALID でトリガを掛けた。800 クロック目がトリガ・ポイントに設定した。
その前に MM2S と S2MM の AXI4-Stream のトランザクションがある。
Kria-PYNQ_131_220302.png

S2MM の AXI4 Master インターフェースのアクセスを示す。
今回は、ちゃんと AWLEN の値が 0x09 で 10 バースト転送になっているのが分かる。
Kria-PYNQ_132_220302.png

Vitis HLS 2021.2 の DMA_pow2_axis IP は何処か AXI DMA IP に合わないところがあるのだろうか?
今度こそ DMA を Vitis HLS で書いて PYNQ での動作を確認してみよう。
  1. 2022年03月02日 04:40 |
  2. KRIA KV260 Vision AI Starter Kit
  3. | トラックバック:0
  4. | コメント:0

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック URL
https://marsee101.blog.fc2.com/tb.php/5516-5f4d00cf
この記事にトラックバックする(FC2ブログユーザー)