”
Vivado HLS 2019.2 で krnl_dma_read を作成する1(ソースコードの表示)”の続き。
前回は、Vitis のカーネル間ストーミング接続をテストするために DMA Read カーネル ー ラプラシアン・フィルタ・カーネル ー DMA Write カーネルをストーミング接続してみようということで、最初にDMA Read を作ることにした。そして、ソースコードを貼った。今回は、それらのソースコードを使用して、Vivado HLS 2019.2 で C シミュレーション、C コードの合成、C/RTL 協調シミュレーション、Export RTL を行った。
Vivado HLS 2019.2 で Krnl_dma_read プロジェクトを作成した。その際に New Vivado HLS Project のダイアログで Vitis Bottom Up Flow にチェックを入れた。
Source に krnl_dma_read.cpp を入れて、Test Bench に bmp_header.h, krnl_dma_read_tb.cpp, test.bmp を入れた。
最初に C シミュレーションを行った。
dma_read.bmp が生成されていた。成功だ。
C コードの合成を行った。
Latency の min の 3153 クロック / 3072 ピクセル ≒ 1.03 クロック/ピクセルだった。
C/RTL 協調シミュレーションを行った。Latency は 3488 クロックだった。
C/RTL 協調シミュレーションの波形を示す。
outs_TVALID の波形が途中で切れ気味だが、だいたいOKだろう。
ここで、krnl_dma_read.cpp の extern "C" { } のコメントアウトを外して C コードの合成を行った。
引き続きExport RTL を行った。結果を示す。
dma_read.xo もできた。
とりあえず、krnl_dma_read.cpp を使用して、Vitis のカーネルのストーミング接続をテストするが、その後で、 xo ファイルを使用して、Vitis のカーネルのストーミング接続をテストしてみよう。
- 2020年01月22日 05:01 |
- Vitis
-
| トラックバック:0
-
| コメント:0