intel HLS コンパイラを試してみる12(mm_slave その2)”の続き。

前回は、シミュレーション波形を比較したが、今回はレポートでリソース使用量などを比較してみよう。

まずは、part_1_basic_component のSummary を示す。
Intel_HLS_119_171125.png

ALUs が 2026 個、FFs が 2223 個、RAMs が 12 個使用している。

次に、part_2_slave_component のSummary を示す。
Intel_HLS_120_171125.png

ALUs が 2026 個、FFs が 2223 個、RAMs が 12 個使用していて、part_1_basic_component と全く同じだ。

part_3_slave_register_arguments のSummary を示す。
Intel_HLS_121_171125.png

ALUs が 2026 個、FFs が 2223 個、RAMs が 12 個使用していて、part_1_basic_component 、part_2_slave_component と全く一緒だ。なぜ、回路が違うので、リソース使用量が同じなんだろう?

part_4_slave_mem_args のSummary を示す。
Intel_HLS_122_171125.png

ALUs が 511 個、FFs が 377 個、RAMs が 16 個使用している。さすがにスレーブばかりのインターフェースではリソース使用量が少ない。ただし、RAMs は 16 個で増えている。

part_1_basic_component のComponent viewer 画面を示す。
Intel_HLS_123_171125.png

do, N, x がすべて外に出ている。

part_2_slave_component のComponent viewer 画面を示す。
Intel_HLS_124_171125.png

do だけ CSR として component swp_int_end の中に入っている。

part_3_slave_register_arguments のComponent viewer 画面を示す。
Intel_HLS_125_171125.png

do, N, x ともに CSR として component swp_int_end の中に入っている。

part_4_slave_mem_args のComponent viewer 画面を示す。
Intel_HLS_126_171125.png

x が無くなっていて、N と do がCSR として、 component swp_int_end の中に入っている。やはり、スレーブなので、全く違うな。。。