UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

AR# 54699

Vivado 合成のデザイン アシスタント - 合成 HDL 属性のサポート - dont_touch、full_case、gated_clock、shreg_extract

説明

このアンサーは、Vivado 合成の属性、dont_touch、full_case、gated_clock、shreg_extract について説明し、そのコード例もリストしています。 

このコード例は、このアンサーの最後にあるリンクからダウンロードできます。また、既知の問題、コード記述事例も含まれます。

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

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

ソリューション


DONT_TOUCH

dont_touch 属性は keep および keep hierarchy 属性と同じように機能します。 

信号または階層ブロックのロジック最適化を防ぎ、ネットリストを配置配線に渡します。

Verilog 例
(* dont_touch = "{true|false}" *) <signal_name>;

VHDL 例
attribute dont_touch : string;
attribute dont_touch of <signal_name> : signal is "{true|false}";
 


 FULL_CASE (Verilog のみ)

full_case 属性は、すべての可能な値が文で指定されていることを Vivado 合成に伝えるために使用します。 

ケース値が指定されている場合、 Vivado 合成でケース値に対して余分なロジックが生成されません。この属性は RTL を介してのみ制御できます。

Verilog 例

        (* full_case *) 
        case (SELECT)
            3'b001 : Q1 <= A[0];
            3'b011 : Q1 <= A[1];
            3'b110 : Q1 <= A[2];
        endcase   

 


GATED_CLOCK

gated_clock 属性はクロック ゲート ロジックをフロップ イネーブルに変換することを目的としています。 

このため、フリップフロップ クロック イネーブルおよび専用クロック配線が使用されます。 

Vivado 合成ではゲーテッド クロックを変換できます。この変換には次の 2 つが必要です。

  • GUI のオプション (-gated_clock_conversion)。これはツールに変換の指示を出します。
  • ゲーテッド ロジックのどの信号がクロックであるかをツールに指示する RTL 属性

Verilog 例

(* gated_clock = "{true|false}" *)  input clk_a;

VHDL 例

    Port ( clk_a : in STD_LOGIC;
           en        : in STD_LOGIC;
     ...
end top;

architecture Behavioral of top is

signal gclk_a : STD_LOGIC;

attribute gated_clock : string;
attribute gated_clock of clk_a : signal is "{true|false}"; 

gclk_a <= clk_a AND en;

 


SHREG_EXTRACT

shreg_extract 属性は Vivado 合成でシフト レジスタの抽出を適宜有効にするためのものです。使用可能な値は true および false です。

Verilog 例

placed before register

(* shreg_extract = "{yes|no}" *) reg [n:0] <reg_name>;

VHDL 例

attribute shreg_extract : string;
attribute shreg_extract of shreg : signal is "{yes|no}";

 

属性名 HDL ファイル
dont_touch.zip
  • dont_touch.v
  • dont_touch.vhd
full_case.zip
  • full_case.v
gated_clock.zip
  • gated_clock.v
  • gated_clock.vhd
shreg_extract.zip
  • shreg_extract.v
  • shreg_extract.vhd

添付ファイル

関連添付ファイル

タイトル サイズ ファイルタイプ
dont_touch.zip 42 KB ZIP
full_case.zip 562 Bytes ZIP
gated_clock.zip 1 KB ZIP
shreg_extract.zip 36 KB ZIP

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

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

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