”
intel HLS コンパイラを試してみる2(counterサンプルが動いた)”の続き。
@Vengineer さんが
Intel HLS CompilerのexampleでのFPGAターゲットはArria10になっています。Lite Editionでは、Arria10は使えないので、CycloneVに変えましょう。
と言っていたので、build.bat を見ると、-march=Arria10 と書いてある。

これを -march=CycloneV に変更した。

そして、もう一度、
build test-fpga を実行した。

もう一度、
test-fpga も実行したが、PASSED だった。
F:\intelFPGA_lite\17.1\hls\examples\counter\test-fpga.prj\reports に行って、report.html を表示した。

右にcounter.cpp コードが書いてあって、左にリソース使用量が書いてある。
counter.cpp を見ると、100 まで数えるカウンタを実装するのかな?
C ソースコードはIP になるんじゃなくてプロジェクトのトップのHDL ファイルを生成するみたいだ。
F:\intelFPGA_lite\17.1\hls\examples\counter\test-fpga.prj\quartus にQuartus Prime のプロジェクトがある。

quartus_compile.qpf だ。Quartus Prime を立ち上げて、プロジェクトを見てみよう。
Quartus Prime を立ち上げて、File メニューから、Open Project ... を選択して、プロジェクトを開いた。

Start Compilation アイコンをクリックして、コンパイルした。

成功した。
デバイスは、5CEFA9F23I7 だった。これってファミリーをCyclone Vにしておけば、自動的に良さそうなのを選んでくれるのだろうか?
Logic utilization (in ALMs) が 46 個、Total registers が 79 個だった。
なんか、コンパイルが速い気がする。。。
トップのファイル quartus_compile.v の quartus_compile モジュールを観察した。

module quartus_compile (
input logic resetn
, input logic clock
, input logic [0:0] count_start
, output logic [0:0] count_busy
, output logic [0:0] count_done
, input logic [0:0] count_stall
, output logic [31:0] count_returndata
);
count_start, count_busy, count_done, count_stall があるので、スタートとdone があって、カウントしているときは busy がずっと 1 になっているのではないか?と思う。
count_returndata が 32 ビットあって、これが、カウントする値だろうか?
- 2017年11月09日 04:53 |
- intel HLS
-
| トラックバック:0
-
| コメント:0