pragma HLS reset - 2019.2 Japanese

Vitis 統合ソフトウェア プラットフォームの資料: アプリケーション アクセラレーション開発 (UG1393)

Document ID
UG1393
Release Date
2020-02-28
Version
2019.2 Japanese

説明

特定のステート変数 (グローバルまたはスタティック) のリセットを追加または削除します。

リセット ポートは、リセット信号が適用されたときにリセット ポートに接続されているレジスタおよびブロック RAM を初期値に戻すために FPGA で使用されます。RTL リセット ポートの存在と動作は、config_rtl コンフィギュレーション ファイルで制御されます。リセット設定ではリセットの極性および同期か非同期かを設定できますが、重要なのは、[reset] オプションを使用してリセット信号を適用したときにリセットするレジスタを指定できるということです。詳細は、 『Vivado Design Suite ユーザー ガイド: 高位合成』 (UG902) の「クロック、リセット、および RTL 出力」を参照してください。

RESET プラグマを使用すると、リセットを詳細に制御できます。変数がスタティックまたはグローバルの場合、RESET プラグマを使用してリセットを明示的に追加したり、off に設定して変数からリセットを削除したりできます。これはスタティック配列またはグローバル配列がデザインに含まれる場合に特に便利なことがあります。

構文

C ソース コードの変数のライフ サイクルの境界内に配置します。

#pragma HLS reset variable=<a> off

説明:

variable=<a>
プラグマを適用する変数を指定します。
off
指定した変数にリセットが生成されないようにします。

例 1

次の例では、グローバル リセット設定が none または control の場合でも、関数 foo の変数 a にリセットが追加されます。

void foo(int in[3], char a, char b, char c, int out[3]) {
#pragma HLS reset variable=a 

例 2

次の例では、グローバル リセット設定が state または all の場合でも、関数 foo の変数 a からリセットが削除されます。

void foo(int in[3], char a, char b, char c, int out[3]) {
#pragma HLS reset variable=a off