このアンサーでは、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 つから記述し始めます。
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 に配置されます。
この属性に使用できる値は 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 |
ステータス | アクティブ |
種類 | ソリューション センター |
ツール |