FC2カウンター FPGAの部屋 Vitis HLS 2020.1 で all_layers_template を IP にする3(C/RTL 協調シミュレーション)
FC2ブログ

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

FPGAの部屋

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

Vitis HLS 2020.1 で all_layers_template を IP にする3(C/RTL 協調シミュレーション)

Vitis HLS 2020.1 で all_layers_template を IP にする2(合成レポートの確認)”の続き。

Vitis HLS 2020.1 を使用して、白線走行用CNN の all_layers_template を実装してみよう。 all_layers_template は縦 10 ピクセル x 横 56 ピクセルの白線画像を使用して、右に行くか、直進するか、左に行くかの 3 つの走行状態を出力する畳み込みニューラルネットワークだ。ということで、前回は、C コードの合成レポートを見ていこう。更に、Export RTL を行って、Vitis HLS の合成結果を Vivado の Place & Route で検証した。今回は、C/RTL 協調シミュレーションと Dataflow Viewer を見ていこう。

Vitis HLS の機能を確認するために C/RTL 協調シミュレーションを行う。

まずは、テストベンチのソースコードの NUM_ITERATIONS を 300 から 2 にする。これは、推論する数に相当する。つまり、 C/RTL 強調シミュレーションに表示する数が多いと時間がかかりすぎて、ログの大きさも大きくなるので、推論数を少なくした。
Vitis_HLS201_50_200623.png

Run C/RTL Cosimulation ボタンをクリックして C/RTL 協調シミュレーションを行う。
Co-simulation Dialog が表示された。
Extra Options for DATAFLOW の Wave Debug と Disable Deadlock Detection, Channel (PIPO/FIFO) Profiling にチェックを入れた。
Vitis_HLS201_51_200623.png

これらの情報は Vitis Unified Software Development Platform DocumentationC/RTL Co-Simulation in Vitis HLS に書いてある。
Disable Deadlock Detection にチェックを入れると Cosim Deadlock Viewer が立ち上がるそうだ。デッドロックシナリオを視覚化してくれるということで楽しみだ。
Dataflow Viewer も表示することができるということで、こちらも見てみたい。

C/RTL 協調シミュレーションが終わって、Vivado が立ち上がり、Verilog HDL のテストベンチの $finish; で終了しているシミュレーション結果が表示された。
Wave Debug にチェックを入れると Vivado のシミュレーションをそのまま見ることができる。
Vitis_HLS201_52_200623.png

そこで、自分でテストベンチにスティミュラスを追加してもう一度、シミュレーションしても良いだろう?

C/RTL 協調シミュレーションの波形を示す。
Vitis_HLS201_53_200623.png

Vivado を終了して Vitis HLS を見ると、C/RTL 協調シミュレーションの結果が表示されている。
Vitis_HLS201_54_200623.png

Latency の min は 9444 クロック、 avg は 9464 クロック、 max は 9485 クロックだった。イテレーションは 2 だったはずなので、3つのデータが取れたはずはない。この Latency は動的に分かる、つまり、シミュレーション結果から導き出すのではなく、静的解析の結果も加味して表示するのだろうか?

C コードの合成結果の Performance & Resource Estimates の all_layers を右クリックして、右クリックメニューから Open Dataflow Viewer を選択する。
Vitis_HLS201_55_200623.png

Dataflow Viewer が表示された。
Vitis_HLS201_56_200623.png

ここでは各関数が並べて表示されていた。
下の Process ウインドウの後ろ部分を貼っておく。
Vitis_HLS201_57_200623.png

Cosim Deadlock Viewer は開かなかった。残念。。。
  1. 2020年06月28日 04:26 |
  2. Vitis HLS
  3. | トラックバック:0
  4. | コメント:0

コメント

コメントの投稿


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

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