AR# 53887

Vivado 合成のデザイン アシスタント - 合成 HDL 属性のサポート - black_box、io_buffer_type、clock_buffer_type、max_fanout

説明

このアンサーでは次の Vivado 合成属性について説明します。

black_box、io_buffer_type、clock_buffer_type、max_fanout

各属性のコード例も紹介します。

このコード例は、このアンサーの最後にあるリンクからダウンロードできます。 

また、既知の問題、コード記述事例も含まれます。

注記 : 各コード例は Vivado プロジェクトの作成に直接使用できます。

各例に含まれる合成属性は、各ソース ファイルのヘッダーを参照してください。

ソリューション

BLACK_BOX

black_box 属性はあるデザイン内の特定モジュールを合成しないように Vivado 合成に指示するために使用されます。

モジュールに有効なロジックが含まれている場合であっても、Vivado はこのデザイン エレメントをブラック ボックスとして処理します。 

この属性はデバッグ目的で使用できます。

属性の適用方法を次に示します。


Verilog 例 


(* black_box *) module test(in1, in2, clk, out1);

VHDL 例

attribute black_box : string;

attribute black_box of beh : architecture is "yes";

注記 : VHDL では、black_box を no に設定してもブラック ボックスとして処理します。

ブラック ボックスの設定を解除するには、HDL の black_box 属性を削除するか、またはコメントアウトしてください。



IO_BUFFER_TYPE & CLOCK_BUFFER_TYPE

io_buffer_type および clock_buffer_type 属性を使用するとデザインの任意の信号に適用されているバッファーの合成を制御することができます。 

使用するバッファーのタイプを記述するため、この属性は入力または出力ポートに適用する必要があります。 

グローバル バッファーを残しておきたい場合や、IP に接続しているときにインライン バッファーを避けたい場合に、これは便利です。

Verilog 例


(* io_buffer_type = "{ibuf | obuf | none}" *)
(* clock_buffer_type = "{bufg | bufh | bufio | bufmr | bufr | none}" *)

VHDL 例


entity test is port(
in1 : std_logic_vector (8 downto 0);
clk : std_logic;
out1 : std_logic_vector(8 downto 0));

attribute io_buffer_type : string;
attribute clock_buffer_type : string;
attribute io_buffer_type of clk : signal is "{ibuf | obuf | none}";
attribute clock_buffer_type of in1 : signal is "{bufg | bufh | bufio | bufmr | bufr | none}";
end test;

 


MAX_FANOUT

max_fanout 属性は、同期エレメントで駆動されるロード数やファンアウトを制限するために使用します。

デザイン エレメントのファンアウトが大きいと、それに関連付けられているネット遅延が増加します。 

ファンアウトを低減すると信号のネット遅延も低減します。 

組み合わせ信号のレジスタまたはドライバーを重複させることでファンアウトは制限できます。

max_fanout 属性の値は、特定の信号に必要なロードの数に等しい整数値に設定します。 

この RTL 属性は、IDE 設定 (fanout_limit) で設定されたファンアウトの制限値を上書きします。

 

Verilog 例 


(* max_fanout = 50 *) reg sig1;

VHDL 例
signal sig1 : std_logic;

attribute max_fanout : integer;
attribute max_fanout of sig1 : signal is 25;


既知の問題 :


(ザイリンクス アンサー 51163) - Vivado 合成 - EDIF ネットリスト ファイルに対して MAX_FANOUT 合成属性はサポートされない

表 1 :

属性名 HDL ファイル

black_box_verilog.zip

black_box_vhdl.zip

Verilog

  • black_box_top.v
  • bb_sub_a.v
  • bb_sub_b.v

VHDL

  • black_box_top.vhd
  • black_box_sub.vhd
buffer_type.zip
  • buffer_type.v
  • buffer_type.vhd
max_fanout.zip
  • max_fanout.v
  • max_fanout.vhd

添付ファイル

関連添付ファイル

タイトル サイズ ファイルタイプ
black_box_verilog.zip 658 Bytes ZIP
black_box_vhdl.zip 914 Bytes ZIP
max_fanout_2014.1.zip 1 KB ZIP
buffer_type.zip 45 KB ZIP

アンサー レコード リファレンス

マスター アンサー レコード

Answer Number アンサータイトル 問題の発生したバージョン 修正バージョン
55160 Vivado 合成のデザイン アシスタント - 合成 HDL 属性のサポート N/A N/A
AR# 53887
日付 06/04/2014
ステータス アクティブ
種類 ソリューション センター
ツール