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}" *) ;

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


 FULL_CASE (Verilog のみ)

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

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

Verilog 例

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

 


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 例

レジスタの前に配置

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

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

添付ファイル

関連添付ファイル

タイトル サイズ ファイルタイプ
54699.zip 4 KB ZIP

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

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

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