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

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

FPGAの部屋

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

Vivado HLS 2014.4 でAXI4-Stream版ラプラシアンフィルタIP を作製する4(RTLシミュレーション2)

Vivado HLS 2014.4 でAXI4-Stream版ラプラシアンフィルタIP を作製する3(RTLシミュレーション)”の続き。

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

前回は、クロック周期を 10 ns つまり 100 MHz で高位合成を行った。今回は、動作周波数の限界に挑戦してみようと思う。
横 50ピクセル、縦 10行の画像で高位合成した回路を使用している

最初に 2.5 ns のクロック周期で高位合成を行ったが、限界は 6.62 ns だった。それじゃということで、150 MHz の 6.66 ns で高位合成を行った。その結果を下に示す。
lap_filter_AXIS_43_150504.png

Utilization Estimates を示す。やはり、BRAM_18K は使用していないが、DSP48E は5 個使用している。
FFはクロック周期が 10 ns の時よりも 44 個多い。LUT は 2 個多いだけだった。
lap_filter_AXIS_44_150504.png

Analyze 画面を示す。真ん中下のResource タブをクリックしている。
クロック周期が 10 ns の時は、C8 ステートまでだったが、C12 ステートまでとなった。
lap_filter_AXIS_45_150504.png

lap_filter_AXIS_46_150504.png

Co-simulation Dialog の Dump Trace を all に変更して、Co-simulation を行った。

Vivado 2014.4 を立ち上げて、RTLシミュレーション波形を見てみた。
lap_filter_AXIS_47_150504.png

やはり、スループットは 1 クロックだった。

シミュレーションの最初の部分と最後の部分を示す。
lap_filter_AXIS_48_150504.png

lap_filter_AXIS_49_150504.png

クロック周期は 6.66 ns (クロック周波数は 150 MHz)だった。レイテンシは最後の入力ストリームの破線のカーソルと最後の出力ストリームの実線のカーソル間の 46.62 ns で、クロック数は 66.600 ns / 6.66 ns = 10 クロックだ。クロック周期が 10 ns の時は 6 クロックなので、4 クロック増えている。それでも完全にパイプラインされているので、レイテンシは最初と最後にしか見えない。つまり、AXI4-Master 版の完全にパイプラインされていない場合よりもクロック周波数を増加した場合の性能向上が大きいといえる。
それでは、ラプラシアンフィルタ全体の処理時間を計算してみよう。TUSERが 1 にアサートされたのを認識した時から、出力ストリームの最後までのラプラシアンフィルタ全体の処理時間は

3613.050 ns - 283.050 ns = 3330.000 ns

となった。
クロック周期が 10 ns の場合のラプラシアンフィルタ全体の処理時間は、5020 ns だったので、何倍になっているか計算してみよう。

5020 ns / 3330 ns ≒ 1.51 倍

となった。
周波数が 1.5 倍になっているので、ラプラシアンフィルタの処理速度は、大体 1.5 倍程度になっている。
  1. 2015年05月04日 05:24 |
  2. Vivado HLS
  3. | トラックバック:0
  4. | コメント:0

コメント

コメントの投稿


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

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