KEEP
信号が最適化されたりロジックに吸収されるような最適化を防ぐために、KEEP 属性を使用します。配置された位置に信号が保持され、またその信号がネットリストに配置されるように、合成ツールに指示します。
KEEP 属性はタイミング制約とともに使用するのが一般的です。普通なら最適化されるはずの信号にタイミング制約が設定されている場合は、KEEP 属性を設定することにより最適化を防ぎ、そのタイミング制約が適用されるようになります。
KEEP 属性と競合を引き起こすような属性がある場合は、通常 KEEP 属性のほうが優先されます。
有効な値は次のとおりです。
注記:
Verilog の例
(* keep = "true" *) wire sig1;
VHDL の例
signal sig1 : std_logic;
attribute keep : string;
attribute keep of sig1 : signal is "true";
既知の問題 :
なし
KEEP_HIERARCHY
KEEP_HIERARCHY 属性は最適化で階層を保持するために使用します。Vivado 合成ツールは RTL で指定されているとおりに階層を保持しようとしますが、QoR のために階層をフラットにしたり変更することがあります。
KEEP_HIERARCHY がインスタンスに設定されている場合は、この合成ツールはそのレベルの階層を保持します。これは QoR に影響を及ぼす可能性があり、またトライステート出力および I/O バッファーの制御ロジックを記述するモジュールには使用すべきではありません。
KEEP_HIERARCHY 属性は、モジュール、アーキテクチャ レベル、インスタンスに設定することができます。
有効な値は次のとおりです。
Verilog の例
モジュールの場合
(* keep_hierarchy = "yes" *) module bottom (in1, in2, in3, in4, out1, out2);
インスタンスの場合
(* keep_hierarchy = "yes" *) bottom u0 (.in1(in1), .in2(in2), .out1(temp1));
VHDL の例
モジュールの場合
attribute keep_hierarchy : string;
attribute keep_hierarchy of beh : architecture is "yes";
インスタンスの場合
attribute keep_hierarchy : string;
attribute keep_hierarchy of u0 : label is "yes";
既知の問題 :
なし
RAM_STYLE
RAM_STYLE は Vivado 合成ツールでのメモリの自動推論方法を制御します。有効な値は次のとおりです。
デフォルトでは、経験則テストに基づきほとんどのデザインに対しベストな結果が得られる RAM がツールによって選択されます。RAM 用に宣言された配列にこの属性を適用してください。
Verilog の例
(* ram_style = "distributed" *) reg [data_size-1:0] myram [2**addr_size-1:0];
VHDL の例
attribute ram_style : string;
attribute ram_style of myram : signal is "distributed";
既知の問題 :
なし
ROM_STYLE
ROM_STYLE は Vivado 合成ツールでの ROM メモリの自動推論方法を制御します。有効な値は次のとおりです。
デフォルトでは、経験則テストに基づきほとんどのデザインに対しベストな結果が得られる ROM がツールによって選択されます。
Verilog の例
(* rom_style = "distributed" *) reg [data_size-1:0] myrom [2**addr_size-1:0];
VHDL の例
ファイル名 | 属性 |
---|---|
keep.zip | KEEP |
keep_hierarchy.zip | KEEP_HIERARCHY |
ram_style.zip | RAM_STYLE |
rom_style.zip | ROM_STYLE |
タイトル | サイズ | ファイルタイプ |
---|---|---|
keep.zip | 1 KB | ZIP |
keep_hierarchy.zip | 1 KB | ZIP |
ram_style.zip | 1 KB | ZIP |
rom_style.zip | 1 KB | ZIP |
Answer Number | アンサータイトル | 問題の発生したバージョン | 修正バージョン |
---|---|---|---|
55160 | Vivado 合成のデザイン アシスタント - 合成 HDL 属性のサポート | N/A | N/A |
AR# 54778 | |
---|---|
日付 | 06/04/2014 |
ステータス | アクティブ |
種類 | ソリューション センター |
ツール |