FC2カウンター FPGAの部屋 MNISTのCNN 用DMA IP 2(C コードの合成、C/RTL 協調シミュレーション、Export RTL)
FC2ブログ

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

FPGAの部屋

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

MNISTのCNN 用DMA IP 2(C コードの合成、C/RTL 協調シミュレーション、Export RTL)

MNISTのCNN 用DMA IP 1(C シミュレーション)”の続き。

前回は、MNISTのCNN 用のDMA IP を作成し、C シミュレーションを行った。今回は、C コードの合成、C/RTL 協調シミュレーション、Export RTLを行った。

まずは、Vivado HLS 2018.2 の新機能の Schedule Viewer の機能を見るために、PIPELINE指示子をコメントアウトして、C コードの合成を行った。
mnist_square_dma_7_180621.png

C コードの合成結果を示す。
mnist_square_dma_8_180621.png

Latency は 3389 クロックだった。column_count ループの Iteration Latency が 4 クロックだったので、それでクロック数が増えているようだ。
リソース使用量は、BRAM_18K が 2 個、DSP48E が 2 個、FF が 830 個、LUT が 1270 個だった。

Analysis ボタンをクリックして、Schedule Viewer を表示させた。
mnist_square_dma_9_180621.png

row_count と column_count があるのが分かる。
Operation\Control Step の数は 12 だった。

次に、PIPELINE指示子を戻した。
mnist_square_dma_10_180621.png

これで C コードの合成を行った。結果を示す。
mnist_square_dma_11_180621.png

Latency は 3389 クロックから 809 クロックに下がった。
リソース使用量は、BRAM_18K が 2 個、DSP48E が 3 個、FF が 1378 個、LUT が 1583 個だった。PIPELINE指示子が無い時よりも大分増えている。

Analysis ボタンをクリックして、Schedule Viewer を表示させた。
mnist_square_dma_12_180621.png

row_count と column_count が合わさって、row_count_column_count になっていた。
Operation\Control Step の数は 25 だった。

C/RTL 協調シミュレーションを行った。結果を示す。
mnist_square_dma_13_180621.png

Latency は 1014 クロックだった。

C/RTL 協調シミュレーションの波形を示す。
まずは波形全体から。
mnist_square_dma_14_180621.png

AXI4-Stream の TLAST をアサートしている辺りで、TVALID が 0 にディアサートされているのが気になるが、スループットは出ているようだ。

次に最初の部分を拡大してみよう。
mnist_square_dma_15_180621.png

28 個のピクセルの DMA を行う。ARLENを見ると最初は 0x0f なので 16 バーストで、次は 0x0B なので 12 バーストの計 28 個バーストしている。
アドレス転送とデータ転送がもう少しオーバーラップしている方が良いと思う。

Export RTLを行った。
Vivado HLS 2018.2 では、Wave Debug 項目が増えている。これは、Verilog/VHDL Simulator Selection が AUTO だとハイドされている。これが有効になるのは、Vivado Simulator の時だけのようだ。このオプションにチェックすると、C/RTL 協調シミュレーションが終了する前にVivado が起動して、波形を表示する。
mnist_square_dma_16_180621.png

Export RTLを行った。なお、Vivado synthesis, place and route にチェックを入れてある。
mnist_square_dma_17_180622.png

LUT が 575 個、FF が 807 個、DSP が 4 個、BRAM が 1 個、SRLが 39 個使用していた。
  1. 2018年06月22日 04:51 |
  2. Vivado HLS
  3. | トラックバック:0
  4. | コメント:0

コメント

コメントの投稿


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

トラックバック URL
http://marsee101.blog19.fc2.com/tb.php/4205-fe842cba
この記事にトラックバックする(FC2ブログユーザー)