FC2カウンター FPGAの部屋 Vivado HLS 2014.4 vs Vivado HLS 2015.1(AXI4-Stream版ラプラシアンフィルタ IPの比較)

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

FPGAの部屋

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

Vivado HLS 2014.4 vs Vivado HLS 2015.1(AXI4-Stream版ラプラシアンフィルタ IPの比較)

AXI4-Stream版ラプラシアンフィルタ IPで、Vivado HLS 2014.4 と Vivado HLS 2015.1 の高位合成結果を比較してみた。

C++ ソースコードは、両方とも同じもので、”Vivado 2014.4 でAXI4-Stream版ラプラシアンフィルタIP を作製する1(C++ ソースコードの公開)”で示したものだ。但し、lap_filter_axis.h は実際の 800 x 600 ピクセルに変更した。lap_filter_axis.h を下に示す。

// lap_filter_axis.h
// 2015/05/01

#define HORIZONTAL_PIXEL_WIDTH 800
#define VERTICAL_PIXEL_WIDTH 600

// #define HORIZONTAL_PIXEL_WIDTH 50
// #define VERTICAL_PIXEL_WIDTH 10

#define ALL_PIXEL_VALUE (HORIZONTAL_PIXEL_WIDTH*VERTICAL_PIXEL_WIDTH)


クロック周期 10 ns
クロック周期 10 ns で Vivado HLS 2014.4 で高位合成を行った結果を示す。
lap_filter_AXIS_52_150507.png
Timing の Estimated は 7.58 ns だった。FF は 382 個、LUT は 626 個使用している。

クロック周期 10 ns で Vivado HLS 2015.1 で高位合成を行った結果を示す。
lap_filter_AXIS_53_150507.png
Timing の Estimated は 9.40 ns だった。FF は 387 個、LUT は 556 個使用している。


クロック周期 9 ns
クロック周期 9 ns で Vivado HLS 2014.4 で高位合成を行った結果を示す。
lap_filter_AXIS_54_150507.png
Timing の Estimated は 7.58 ns だった。FF は 382 個、LUT は 626 個使用している。つまり、クロック周期が 10 ns の時と同じ回路だと思う。

クロック周期 9 ns で Vivado HLS 2015.1 で高位合成を行った結果を示す。
lap_filter_AXIS_55_150507.png
Timing の Estimated は 9.40 ns で、クロック周期 9 ns に対して遅くなりエラーになっている。FF は 387 個、LUT は 556 個使用している。これも、クロック周期が 10 ns の時と同じ回路だと思う。


クロック周期 8 ns
クロック周期 8 ns で Vivado HLS 2014.4 で高位合成を行った結果を示す。
lap_filter_AXIS_56_150507.png
Timing の Estimated は 6.91 ns だった。FF は 435 個、LUT は 627 個使用している。今回は回路が変更されているようだ。

クロック周期 8 ns で Vivado HLS 2015.1 で高位合成を行った結果を示す。
lap_filter_AXIS_57_150507.png
Timing の Estimated は 9.40 ns で、クロック周期 8 ns に対して遅くなりエラーになっている。FF は 436 個、LUT は 556 個使用している。FF が増えているので回路は変更されているようだ。

クロック周期 7 ns
クロック周期 7 ns で Vivado HLS 2014.4 で高位合成を行った結果を示す。
lap_filter_AXIS_58_150507.png
Timing の Estimated は 6.88 ns だった。FF は 455 個、LUT は 627 個使用している。今回も回路が変更されているようだ。

クロック周期 7 ns で Vivado HLS 2015.1 で高位合成を行った結果を示す。
lap_filter_AXIS_59_150507.png
Timing の Estimated は 8.77 ns で、クロック周期 8 ns に対して遅くなりエラーになっている。FF は 455 個、LUT は 564 個使用している。FF が増えているので回路は変更されているようだ。

クロック周期 6 ns
クロック周期 6 ns で Vivado HLS 2014.4 で高位合成を行った結果を示す。
lap_filter_AXIS_60_150507.png
Timing の Estimated は 6.88 ns で、クロック周期 6 ns に対して遅くなりエラーになっている。FF は 473 個、LUT は 637 個使用している。

クロック周期 6 ns で Vivado HLS 2015.1 で高位合成を行った結果を示す。
lap_filter_AXIS_61_150507.png
Timing の Estimated は 6.88 ns で、クロック周期 6 ns に対して遅くなりエラーになっている。FF は 473 個、LUT は 566 個使用している。

クロック周期 2.5 ns
クロック周期 2.5 ns で Vivado HLS 2014.4 で高位合成を行った結果を示す。限界を見極めるためだ。
lap_filter_AXIS_62_150507.png
Timing の Estimated は 6.88 ns で、クロック周期 2.5 ns に対して遅くなりエラーになっている。FF は 1367 個、LUT は 693 個使用している。これだけFFを使用してもタイミングを満たさないので、ここが限界のようだ。

クロック周期 2.5 ns で Vivado HLS 2015.1 で高位合成を行った結果を示す。
lap_filter_AXIS_63_150507.png
Timing の Estimated は 6.88 ns で、クロック周期 2.5 ns に対して遅くなりエラーになっている。FF は 1335 個、LUT は 622 個使用している。これだけFFを使用してもタイミングを満たさないので、こちらもここが限界のようだ。

FF や LUT の数に差があるけれども、どちらのバージョンを使いたいか?は上記の結果を見れば、明らかだと思う。
  1. 2015年05月08日 05:45 |
  2. Vivado HLS
  3. | トラックバック:0
  4. | コメント:0

コメント

コメントの投稿


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

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