FC2カウンター FPGAの部屋 finn をやってみる11(tfc_end2end_example.ipynb その6)
FC2ブログ

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

FPGAの部屋

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

finn をやってみる11(tfc_end2end_example.ipynb その6)

finn をやってみる10(tfc_end2end_example.ipynb その5)”の続き。

前回は、 end2end_example の tfc_end2end_example.ipynb の 3. Vivado HLS and IPI の Synthesizing HLS to IP Blocks まで実行して、docker でコンテナに入り、Vivado HLS プロジェクトをみた。今回は、続きの end2end_example の tfc_end2end_example.ipynb の 3. Vivado HLS and IPI の IP Stitching からやっていこう。

今回も end2end_example の tfc_end2end_example.ipynb の図や文章の翻訳、コードを引用して勉強していく。

IP Stitching
これで、各層にIPブロックがあり、それらをCreateStitchedIP 変換を使用してネットワーク全体を実装するより大きなIPにまとめる。 この変換は、すでに HLSSynthIP 変換を実行した HLS ノードのみを含むグラフにのみ適用できることに注意。これは、実行する最後のステップだ。 IPスティッチングを呼び出す前に、 ReplaceVerilogRelPaths 変換を使用して、生成されたIPブロック内の相対 $readmemhパスを絶対パスに変換します。これにより、後でエラーが発生しなくなる。 この手順によりVivadoが呼び出され、実行に数分かかる場合がある。
finn_80_200606.png

変換されたモデルのノード自体を調べる場合、IP Stitching がグラフにモデルレベルのメタデータを追加するため、違いはわからない。 これには、ModelWrapperの.model.metadata_props、get_metadata_prop関数を使用するか、Netronのグローバル入力/出力テンソルをクリックしてアクセスできる。
finn_81_200606.png

Docker コンテナ内の /tmp/finn_dev_masaaki に Vivado プロジェクトなどが入っている。それを Vivado でみられるはずなのだが、Docker で Vivado の GUI が動作しなかったので、後でコンテナからコピーしてやってみよう。

tfc_w1_a1_ipstitch.onnx としてモデルをセーブする。
finn_82_200606.png

ここで、Docker コンテナから /tmp/finn_dev_masaaki ディレクトリをローカルに保存して Vivado のプロジェクトを見てみよう。
Dockerコンテナからホストへファイルをコピーする”を参考にして、Docker コンテナから /tmp/finn_dev_masaaki ディレクトリをコピーしよう。
docker ps
docker cp 7b13e06d4195:/tmp/finn_dev_masaaki .

finn_83_200606.png

finn_dev_masaaki ディレクトリがコピーされた。
finn_84_200606.png

finn_dev_masaaki/vivado_stitch_proj_su3iq9q8 ディレクトリが Vivado のプロジェクト・ディレクトリとなる。 finn_vivado_stitch_proj.xpr を Vivado 2019.2 で開いた。
finn_86_200606.png

ブロックデザインを開くと、tfc_w1_a1_ipgen.onnx がブロックデザインに表現されていた。
finn_87_200606.png
  1. 2020年06月06日 20:33 |
  2. finn
  3. | トラックバック:0
  4. | コメント:0

コメント

コメントの投稿


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

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