Main Content

制約付き出力パイプライン

制約付き出力パイプラインとは

制約付き出力パイプラインを使用すると、ブロックの出力の位置に非負の数のレジスタを指定できます。

制約付き出力パイプラインでは、レジスタは追加されません。その代わりに、制約を満たすために既存の遅延が設計内で再分配されます。HDL Coder™ で既存の遅延で制約を満たすことができない場合は、タイミング レポートに出力レジスタの必要な数と実際の数の差がレポートされます。

制約付き出力パイプラインで指定したレジスタが、分散型パイプライン方式で移動されることはありません。

制約付き出力パイプラインを使用する状況

制約付き出力パイプラインは、設計内の特定の場所にレジスタを配置する場合に使用します。これによって、設計の速度を最適化できます。

たとえば、設計のクリティカル パスのある場所が分かっていて、これを低減する場合は、制約付き出力パイプラインを使用してレジスタをクリティカル パスの特定の場所に配置できます。

制約付き出力パイプラインの要件

設計は既存の遅延またはレジスタを含まなければなりません。HDL Coder で制約を満たすにはレジスタが不足している場合、出力レジスタの必要な数と実際の数の差がレポートされます。

設計にレジスタを追加するには、入力パイプラインまたは出力パイプラインを使用します。

制約付き出力パイプラインの指定

UI を使用してブロックの制約付き出力パイプラインを指定するには、次の手順に従います。

  • [アプリ] タブで、[HDL Coder] を選択します。[HDL コード] タブが表示されます。Subsystem を選択し、[HDL ブロック プロパティ] をクリックします。[ConstrainedOutputPipeline] に出力端子に配置するレジスタの数を入力します。

  • ブロックを右クリックし、[HDL コード][HDL ブロック プロパティ] を選択します。[ConstrainedOutputPipeline] に出力端子に配置するレジスタの数を入力します。

制約付き出力パイプラインを指定するには、コマンド ラインで次のように入力します。

hdlset_param(path_to_block,...
         'ConstrainedOutputPipeline',number_of_output_registers)
たとえば、モデル mymodel のサブシステム subsys の出力端子でレジスタを 6 つに制約するには、次のように入力します。
hdlset_param('mymodel/subsys','ConstrainedOutputPipeline', 6)

制約付き出力パイプラインの制限

HDL Coder は、次の場所への出力パイプライン レジスタの配置に制約を付けません。

  • DUT サブシステムの内部。DUT にサブシステム、モデル参照またはブラック ボックス実装をもつモデル参照が含まれる場合。

  • 任意の種類の Delay ブロックまたは最上位の DUT サブシステムの出力。