FC2カウンター FPGAの部屋 2017年11月13日

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

FPGAの部屋

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

intel HLS コンパイラを試してみる7(image_downsampleを試す1)

intel HLS コンパイラを試してみる6(counter.cpp のコードを変更した)”の続き。

今回から counter を終了して、次のexample の image_downsample を試してみよう。 image_downsample はbmp ファイルの縦横のサイズを小さくするアプリケーションのようだ。

image_downsample のフォルダを示す。
Intel_HLS_45_171112.png

ファイルがたくさんあるが、bmp_tools.cpp は bmp のread と write を受け持っているようだ。
resize.cpp は画像のリサイズをするようだ。ここにハードウェアになる予定の

component void resize(unsigned ratio, int rows, int cols, input_image_stream& original_image, output_image_stream& resized_image);

がある。
Intel_HLS_46_171112.png

ここでは、入出力が

input_image_stream& original_image, output_image_stream& resized_image

で行われているが、これは、resize.h で

typedef ihc::stream_in<unsigned int=""> input_image_stream;
typedef ihc::stream_out<unsigned int=""> output_image_stream;

で定義されている。
これらは、Avalon® Streaming Interface のようだ。Intel High Level Synthesis Compiler User Guide のAvalon® Streaming Interface Arguments を見ると書いてある。
Avalon® Streaming Interface は入力は、read メソッドでストリームから読めて、出力は write メソッドでストリームに書けるようだ。

resize をどこから使っているか?というと main.cpp で呼ばれている。
Intel_HLS_47_171112.png
test.bmp を読んで、downsampled.bmp にダウンサンプリングして、expected.bmp と縦横サイズを比較しているようだ。

さて、build してみよう。その前に build.bat を -march=CycloneV -ghdl に修正した。
Intel_HLS_48_171112.png

これで build test-msvc を実行した。
次に、test-msvc.exe で実行した。
Intel_HLS_49_171112.png

増えたファイルを示す。
Intel_HLS_50_171112.png

test.bmp がこれだ。
Intel_HLS_53_171112.png

downsampled.bmp がこれだ。
Intel_HLS_54_171112.png

次に、build test-x86-64 コマンドを実行した。
test-x86-64.exe を実行した。
Intel_HLS_51_171112.png

増加したファイルを示す。
Intel_HLS_52_171112.png
  1. 2017年11月13日 04:57 |
  2. intel HLS
  3. | トラックバック:0
  4. | コメント:0