はい。Quartus® II ソフトウェア (バージョン 2.1 以降) は translate_on translate_off 、and コンパイラーのディレクティブをサポートしています。
コメントとして、合成ディレクティブ (プラグマまたは属性とも呼ばれます) を Verilog HDL または VHDL コードに入力できます。これらのディレクティブは、言語定義に含まれるコマンドではありませんが、合成ツールはコマンドを読み取って何らかの形で合成プロセスを実行します。
translate_onand translate_off ディレクティブは、インテル® Quartus® II ソフトウェア (またはサードパーティー製合成ツール) に、デザインファイルの特定の部分をコンパイルしないように指示します。これは、コードのセクションがシミュレーションのみを目的としており、合成用ではない場合に便利です。これらの合成固有のディレクティブは、合成中に読み取りおよび処理されますが、コメントとして読み取られ、サードパーティーのシミュレーション・ツールでは無視されます。translate_offこの命令は、合成中に無視すべきセクションの先頭を示し、 translate_on このディレクティブはその時点で合成を再開することを示します。
Quartus® II ソフトウェアは、以下のさまざまな変換コンパイラー・ディレクティブをサポートしています。
Verilog HDL:
// synthesis translate_off // synthesis translate_on
または
/* synthesis translate_off */ /* synthesis translate_on */
VHDL:
-- synthesis translate_off -- synthesis translate_on
上記のキーワードに加えて synthesis 、次のキーワードは Verilog HDL と VHDL の両方でサポートされており、他の合成ツールとの互換性があります。
pragma synopsys exemplar
インテル® Quartus® II ソフトウェアのバージョンが 2.1 より古い場合、コンパイラー・ディレクティブはサポートされていませんでした。以前のバージョンのソフトウェアでコンパイルされたデザインにこれらのディレクティブが含まれている場合、Quartus® II の動作は異なります。インテル® Quartus® II コンパイラーの以前のバージョンでは、このオプションはコメントとして扱われるので、ソフトウェアによってオプションが適用されるため、コードを変更する必要があります。
以前のインテル® Quartus® II のバージョンとの違いは、MegaWizard®で生成された VHDL または Verilog HDL のメガファンクションがあり translate_off 、 translate_on サードパーティーの合成ツールから内部の詳細を隠すプラグマを追加してプラグマを追加した場合です。これらの詳細は Quartus® II ソフトウェアからも隠されています。また、Quartus® II ソフトウェアのバージョン 2.1 以上を使用してコンパイルする場合、メガファンクションは実装されません。
合成命令の詳細については 、Quartus® II 統合合成 ハンドブック Vol.1 の 「Quartus® II統合合成」の章を参照してください。