よく使うpragma一覧

[] [] []


ここで、よく使うpragmaをまとめておく。

#pragma HLS

説明

設定対象

interface ap_ctrl_none

  port=return

または

interface ap_ctrl_hs

  register

  port=return

ap_ctrl_none  なし

ap_ctrl_hs   開始終了信号あり(デフォルト)

 (i) ap_start 開始

 (o) ap_done  終了

 (o) ap_ready 次を開始可

 (o) ap_idle  アイドル

register 出力段にFFを入れる

トップ階層

の関数

interface ap_hs

  register

  port=引数名

ap_none  なし(デフォルト)

ap_hs   ハンドシェーク信号付き

 引数が入力の場合は

 (i) *_ap_vld 確定(valid)

 (o) *_ap_ack 受付(acknowledge)

 出力の場合は逆方向になる

register 出力段にFFを入れる

引数

array_reshape

  variable=配列名 complete

各要素を並べた1つのパラレルポートと見なす

配列

の引数

array_partition

  variable=配列名 complete

配列を各要素にばらす

つまりRAMでなくFFの集まりと見なす

配列

aggregate

  variable=構造体名

  compact=bit

構造体を1つのパラレルポートと見なす

compact=bit 各要素をバイト境界に整列させない

(デフォルトでは整列されてしまう)

構造体

unroll

ループを展開する

ループ内

に記述

pipeline

  II=数値

  style=flp

その行以降をパイプライン化する

II 開始間隔(initiation interval)、通常は1にする

style=flp 入力が止まっても出力しきる(関数のみ)

関数内/

ループ内

に記述


[] [] []