AR# 54357

Vivado 合成のデザイン アシスタント - 合成 HDL 属性のサポート - parallel_case、translate_off/translate_on、use_dsp48

説明

このアンサーでは、Vivado 合成の属性である parallel_case、translate_off、translate_on、use_dsp48 を説明し、そのコード例を紹介します。 

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

注記 : 各コード例は Vivado プロジェクトの作成に直接使用できます。各例に含まれる合成属性は、各ソース ファイルのヘッダーを参照してください。

ソリューション

PARALLEL_CASE (Verilog のみ)

PARALLEL_CASE は Verilog デザインでのみ有効です。 この属性は、case 文をパラレル マルチプレクサとしてビルドするものです。

また、優先されている if-elsif カスケードに case 文が変換されないようにもします。

この属性は Verilog RTL を使用してのみ制御可能です。

Verilog の例

(* parallel_case *)
casex select
   4'b1xxx: res = data1;
   4'bx1xx: res = data2;
   4'bxx1x: res = data3;
   4'bxxx1: res = data4;
endcase

既知の問題 :

なし
 


TRANSLATE_OFF/TRANSLATE_ON

TRANSLATE_OFF および TRANSLATE_ON は、合成ツールにコード ブロックを無視するように指示します。 

シミュレーション コードなど合成には関係のないソース コードを無視する場合に便利な属性です。 

これらの属性は RTL コードのコメント文に記述します。コメント文は次のキーワードの 1 つから記述し始めます。

  • synthesis
  • synopsys
  • pragma

TRANSLATE_OFF は無視するコードのセクションの始まりを示し、TRANSLATE_ON はそのセクションの終わりを示します。これらの属性を入れ子にすることはできません。

translate 文の間に含まれるコードのタイプに注意してください。 

デザインの動作に影響するコードの場合は、シミュレータでそのコードが使用される可能性があり、シミュレーションの不一致が発生することがあります。

Verilog の例

// synthesis translate_off

...Code to be ignored...

// synthesis translate_on

VHDL の例

-- synthesis translate_off

...Code to be ignored...

-- synthesis translate_on

既知の問題 :

 なし


USE_DSP48

use_dsp48 属性は合成ツールでの四則演算構造の処理方法を制御するためのものです。 

デフォルトでは、mults、mult-add、mult-sub、および mult-accumulate が DSP48 ブロックに配置されます。加算器、減算器、アキュムレータも DSP48 ブロックに配置できますが、デフォルトでは DSP48 ブロックを使用せずにデバイスにインプリメントされます。 

この属性が指定されていない場合、Vivado 合成は正しいビヘイビアーをデフォルトで確認しようとします。 

この属性はデフォルトビヘイビアーを上書きし、DSP48 ブロックにこれらのストラクチャを配置します。また次のような優先順位で RTL に配置されます。

  1. 信号
  2. アーキテクチャおよびコンポーネント
  3. エンティティおよびモジュール

この属性に使用できる値は yes および no です。

Verilog の例

(* use_dsp48 = "yes" *) module test(clk, in1, in2, out1);

VHDL の例

attribute use_dsp48 : string;

attribute use_dsp48 of P_reg : signal is "no";

既知の問題 :

なし

 

表 1 : 

ファイル名 属性
parallel_case.zip PARALLEL_CASE
translate_off_on.zip Translate Off/Translate On
use_dsp48.zip USE_DSP48

添付ファイル

関連添付ファイル

タイトル サイズ ファイルタイプ
translate_off_on.zip 1 KB ZIP
use_dsp48.zip 2 KB ZIP
parallel_case.zip 447 Bytes ZIP

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

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

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