FC2カウンター FPGAの部屋 Vivado HLS 2014.4 でAXI4-Stream版ラプラシアンフィルタIP を作製する2(C++シミュレーション、高位合成)

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

FPGAの部屋

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

Vivado HLS 2014.4 でAXI4-Stream版ラプラシアンフィルタIP を作製する2(C++シミュレーション、高位合成)

Vivado HLS 2014.4 でAXI4-Stream版ラプラシアンフィルタIP を作製する1(C++ ソースコードの公開)”の続き。

2015/06/25:修正AXI4-Stream版ラプラシアンフィルタのC++ ソースコード lap_filter_axis.cpp にバグがあったので、ブログを書き換えました)

前回は、AXI4-Stream 版のラプラシアンフィルタIP のC++ ソースコードを公開した。但し、シミュレーションを速くするために、HORIZONTAL_PIXEL_WIDTH = 50、VERTICAL_PIXEL_WIDTH = 10 とした。今回は、そのC++シミュレーションと高位合成を行う。

最初は、Vivado HLS 2014.4 でC++ シミュレーションを行う。
Run C Simulation アイコンをクリックして、C Simulation を実行した後のVivado HLS 2014.4 の画面を下に示す。
lap_filter_AXIS_30_150503.png

標準出力結果はうまく行っているし、長いので省略。

C Synthesis アイコンをクリックして、高位合成を行った。
lap_filter_AXIS_31_150503.png

Latency と Interval がどちらも ? だった。やはり、TUSER を待っているので、どちらも分からない?ということであろう。
Utilization Estimates を示す。BRAM_18K は0個、DSP48E は5 個使用している。(但し、横 50ピクセル、縦 10行の画像を使用している)
lap_filter_AXIS_32_150503.png

Analyze 画面を示す。真ん中下のResource タブをクリックしている。(これから下は、実際の解像度、横 800ピクセル、縦 600行の画像で高位合成した回路を使用しています)
C1ステートの read をクリックすると、TUSER 待ちのAXI4-Stream 入力だった。
lap_filter_AXIS_33_150503.png

C2ステートの read は、メインループのAXI4-Stream 入力だった。
lap_filter_AXIS_34_150503.png

C6ステートの write は、AXI4-Stream 出力だった。
lap_filter_AXIS_35_150503.png

中程の read、write は、シフトレジスタ群への read, write だった。
lap_filter_AXIS_36_150503.png

演算のパイプラインを示す。
lap_filter_AXIS_37_150503.png

おまけで、C/RTLコシミュレーションのために横 50ピクセル、縦 10行の画像で高位合成した回路のAnalyze 画面を示す。
lap_filter_AXIS_64_150626.png

lap_filter_AXIS_65_150626.png
  1. 2015年05月03日 05:38 |
  2. Vivado HLS
  3. | トラックバック:0
  4. | コメント:0

コメント

コメントの投稿


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

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