FC2カウンター FPGAの部屋 Vivado HLS 2015.3 でアンシャープマスキング・フィルタのC/RTL コシミュレーション

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

FPGAの部屋

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

Vivado HLS 2015.3 でアンシャープマスキング・フィルタのC/RTL コシミュレーション

Vivado HLS 2015.3 でアンシャープマスキング・フィルタのC/RTL コシミュレーションをやってみる。
Vivado HLS 2015.3 では、Open Wave Viewer ... ボタンが追加されていて、このボタンをクリックするとVivado が立ち上がり、C/RTL コシミュレーションの波形を表示してくれる。

まずは、固定小数点型からシミュレーションを行う。
最初にブロックレベルのインターフェースが ap_ctrl_none ではC/RTL コシミュレーションできないので、ap_ctrl_hs に変更した。

#pragma HLS INTERFACE ap_ctrl_hs port=return

これで、C から HDL への合成をやり直してから、Run C/RTL Cosimulation ボタンをクリックしてC/RTL コシミュレーションを行った。
unsharp_mask_90_151016.png

Co-simulation Dialog の Dump Trace の選択項目に port が増えていたので、port に変更した。多分、ポートの波形をDump するのだと思う。
unsharp_mask_93_151016.png

C/RTL コシミュレーションが行われて結果が表示された。
unsharp_mask_90_151016.png

Latency も Interval も 3114 クロックだった。平均2乗誤差もCシミュレーションと同じだ。

Open Wave Viewer ... ボタンをクリックすると、Vivado 2015.3 が立ち上がって、波形が表示された。
unsharp_mask_91_151016.png

波形ウインドウをフロートして、詳しく波形を観察した。
unsharp_mask_92_151016.png

上の波形で ins_TVALID, ins_TREADY と out_TVALID, out_TREADY はアンシャープマスキング・フィルタ処理をしている間は 1 に固定されて、1クロックごとにフィルタ処理を行っているのが分かった。これで問題ないはずだ。

次に、int 型で予め左シフトして小数を整数にして演算するプロジェクトへ変更した。
ここでもブロックレベルのインターフェースを ap_ctrl_none から ap_ctrl_hs に変更した。

これで、C から HDL への合成をやり直してから、Run C/RTL Cosimulation ボタンをクリックしてC/RTL コシミュレーションを行った。

Co-simulation Dialog の Dump Trace の選択項目に port が増えていたので、port に変更した。
unsharp_mask_93_151016.png

C/RTL コシミュレーションが行われて結果が表示された。
unsharp_mask_94_151016.png

Latency も Interval も 3109 クロックだった。こちらのほうがクロック数が少ない。平均2乗誤差もCシミュレーションと同じだ。

mse_b = 0.0108696
mse_g = 0.0125679
mse_r = 0.0288723
mse = 0.0174366


Open Wave Viewer ... ボタンをクリックし、Vivado 2015.3 を立ちあげて波形を表示した。
unsharp_mask_95_151016.png

波形ウインドウをフロートして、詳しく波形を観察した。
unsharp_mask_96_151016.png

固定小数点型の場合と同様に、上の波形で ins_TVALID, ins_TREADY と out_TVALID, out_TREADY はアンシャープマスキング・フィルタ処理をしている間は 1 に固定されて、1クロックごとにフィルタ処理を行っているのが分かった。こちらも問題ない。
  1. 2015年10月16日 04:25 |
  2. Vivado HLS
  3. | トラックバック:0
  4. | コメント:0

コメント

コメントの投稿


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

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