”
intel HLS コンパイラを試してみる6(counter.cpp のコードを変更した)”の続き。
今回から counter を終了して、次のexample の image_downsample を試してみよう。 image_downsample はbmp ファイルの縦横のサイズを小さくするアプリケーションのようだ。
image_downsample のフォルダを示す。

ファイルがたくさんあるが、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);
がある。

ここでは、入出力が
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 で呼ばれている。

test.bmp を読んで、downsampled.bmp にダウンサンプリングして、expected.bmp と縦横サイズを比較しているようだ。
さて、build してみよう。その前に build.bat を -march=CycloneV -ghdl に修正した。

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

増えたファイルを示す。

test.bmp がこれだ。

downsampled.bmp がこれだ。

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

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