関数のインスタンス化可能なコードの生成
[関数に対してインスタンス化可能なコードを生成] オプションを使用して各関数の VHDL® entity、あるいは Verilog® または SystemVerilog module を生成できます。ソフトウェアは各エンティティまたはモジュールのコードを個別のファイルで生成します。
関数のインスタンス化可能なコードの生成方法
関数のインスタンス化可能なコードの生成を UI から有効にするには、次の手順に従います。
HDL ワークフロー アドバイザーで [HDL コード生成] タスクを選択します。
[詳細設定] タブで [関数に対してインスタンス化可能なコードを生成] を選択します。
関数のインスタンス化可能なコードの生成をプログラムで有効にするには、coder.HdlConfig オブジェクトの InstantiateFunctions プロパティを true に設定します。たとえば、coder.HdlConfig オブジェクトを作成してから、関数のインスタンス化可能なコードの生成を有効にします。
hdlcfg = coder.config('hdl');
hdlcfg.InstantiateFunctions = true;特定の関数にインライン コードを生成
特定の関数についてのみインスタンス化可能なコードを生成し、その他の関数については生成しない場合は、このオプションを有効にして関数に対してインスタンス化可能なコードを生成し、coder.inline を使用します。詳細については、coder.inline を参照してください。
関数についてのインスタンス化可能なコードの生成に関する制限
このソフトウェアでは、次の場合にインライン コードが生成されます。
関数呼び出しが条件付きコードまたは
forループの内部にある。いずれかの関数が、非定数の
struct入力で呼び出されている。関数に永続変数などのステートがあり、複数回呼び出されている。
設計関数のどこかに列挙がある。
参考
coder.HdlConfig | coder.FixPtConfig