パイプライン パラメーター
このドキュメンテーション ページでは、[コンフィギュレーション パラメーター] ダイアログ ボックスの [HDL コード生成] 、 [最適化] 、 [パイプライン] タブにあるコンフィギュレーション パラメーターについて説明します。この節のパラメーターを使用することで、ターゲット デバイスでの設計のタイミングを改善できます。
クロックレート パイプライン
設計にマルチサイクル パスが含まれている場合、クロックレート パイプラインを使用して、データ レートよりも速いクロック レートでパイプライン レジスタを挿入します。この最適化によってクロック周波数が改善され、追加のレイテンシを発生させることなく使用面積を削減します。クロックレート パイプラインは、ご使用のモデルに含まれる既存の設計遅延には影響を与えません。合成ツールのマルチサイクル パスの使用による制約への代替方法です。
設定
既定の設定: オン
オン
マルチサイクル パスにパイプライン レジスタをクロック レートで挿入します。
オフ
マルチサイクル パスにパイプライン レジスタをデータ レートで挿入します。
依存関係
1 より大きい [オーバーサンプリング係数] を指定する場合、[クロック レート パイプライン] チェック ボックスを選択していることを確認します。クロックレート パイプラインは、モデルの中で低速な同一のデータ レートで実行される領域を特定し、Delay ブロックまたはレート変換が発生するブロックによって区切られます。コード ジェネレーターは、これらの領域の入力に Repeat ブロックを、出力に Rate Transition ブロックを導入することで、その領域をより高速なクロック レートに変換します。
コマンド ライン情報
プロパティ: ClockRatePipelining |
型: 文字ベクトル |
値: 'on' | 'off' |
既定の設定: 'on' |
このプロパティを設定するには、関数 hdlset_param
または makehdl
を使用します。プロパティの値を表示するには、関数 hdlget_param
を使用します。
たとえば、次のいずれかの方法を使用して sfir_fixed
モデル内の symmetric_fir
サブシステムの HDL コードを生成する際に ClockRatePipelining
設定を使用できます。
プロパティを引数として関数
makehdl
に渡す。makehdl('sfir_fixed/symmetric_fir', ... 'ClockRatePipelining','on')
hdlset_param
を使用すると、モデルにパラメーターを設定してから、makehdl
を使用して HDL コードを生成できる。hdlset_param('sfir_fixed','ClockRatePipelining','on') makehdl('sfir_fixed/symmetric_fir')
参考
DUT 出力端子のクロック レート パイプラインを許可
データ レートではなくクロック レートで DUT から出力を渡し、可能な限り速やかに DUT 出力を生成します。
設定
既定の設定: オフ
オン
DUT 出力を可能な限り速やかにクロック レートで生成します。
オフ
DUT 出力をデータ レートで生成します。
依存関係
このパラメーターを指定するときは、[クロック レート パイプライン] チェック ボックスを選択していることを確認します。
コマンド ライン情報
プロパティ: ClockRatePipelineOutputPorts |
型: 文字ベクトル |
値: 'on' | 'off' |
既定の設定: 'off' |
このプロパティを設定するには、関数 hdlset_param
または makehdl
を使用します。プロパティの値を表示するには、関数 hdlget_param
を使用します。
たとえば、次のいずれかの方法を使用して sfir_fixed
モデル内の symmetric_fir
サブシステムの HDL コードを生成する際に ClockRatePipelineOutputPorts
設定を使用できます。
プロパティを引数として関数
makehdl
に渡す。makehdl('sfir_fixed/symmetric_fir', ... 'ClockRatePipelineOutputPorts','on')
hdlset_param
を使用する場合は、モデルのパラメーターを設定してから関数makehdl
を使用して HDL コードを生成する。hdlset_param('sfir_fixed','ClockRatePipelineOutputPorts','on') makehdl('sfir_fixed/symmetric_fir')
参考
クロック レート パイプライン DUT 出力端子の均衡化
出力の最高レイテンシ要件を満たすと同時に DUT 出力を同期します。ロジックを有効な信号インターフェイスと連動させるときに、ロジック パスと Valid 信号のパスの出力を一致させる場合は、このオプションを適用します。
設定
既定の設定: オフ
オン
DUT 出力を同期します。
オフ
同期せずに、DUT 出力を可能な限り速やかに生成します。
依存関係
このパラメーターを有効にするには、[DUT 出力端子のクロック レート パイプラインを許可] チェック ボックスを選択します。
コマンド ライン情報
プロパティ: BalanceClockRateOutputPorts |
型: 文字ベクトル |
値: 'on' | 'off' |
既定の設定: 'off' |
このプロパティを設定するには、関数 hdlset_param
または makehdl
を使用します。プロパティの値を表示するには、関数 hdlget_param
を使用します。
たとえば、次のいずれかの方法を使用して sfir_fixed
モデル内の symmetric_fir
サブシステムの HDL コードを生成する際に BalanceClockRateOutputPorts
設定を使用できます。
プロパティを引数として関数
makehdl
に渡す。makehdl('sfir_fixed/symmetric_fir', ... 'BalanceClockRateOutputPorts','on')
hdlset_param
を使用する場合は、モデルのパラメーターを設定してから関数makehdl
を使用して HDL コードを生成する。hdlset_param('sfir_fixed','BalanceClockRateOutputPorts','on') makehdl('sfir_fixed/symmetric_fir')
参考
分散型パイプライン方式
パイプライン レジスタの分散を有効にします。これは、設計の既存の遅延を移動してクリティカル パスを低減することによりクロック速度を上げる、速度の最適化です。この最適化によって、階層を維持しながらサブシステム内で遅延を移動します。詳細については、Distributed Pipeliningを参照してください。
設定
既定の設定: オフ
オン
設計内でパイプラインを分散します。パイプラインを分散するには、設計内でパイプラインが既に指定されている必要があります。
オフ
設計内でパイプラインを分散しません。
依存関係
設計に再分布可能な遅延が含まれている必要があります。遅延は手動で挿入するか、サブシステムまたはブロックの HDL ブロック プロパティ [InputPipeline] または [OutputPipeline] を使用して挿入できます。
コマンド ライン情報
プロパティ: DistributedPipelining |
型: 文字ベクトル |
値: 'on' | 'off' |
既定の設定: 'off' |
このプロパティを設定するには、関数 hdlset_param
または makehdl
を使用します。プロパティの値を表示するには、関数 hdlget_param
を使用します。
たとえば、次のいずれかの方法を使用して sfir_fixed
モデル内の symmetric_fir
サブシステムの HDL コードを生成する際に DistributedPipelining
設定を使用できます。
プロパティを引数として関数
makehdl
に渡す。makehdl('sfir_fixed/symmetric_fir', ... 'DistributedPipelining','on')
hdlset_param
を使用する場合は、モデルのパラメーターを設定してから関数makehdl
を使用して HDL コードを生成する。hdlset_param('sfir_fixed','DistributedPipelining','on') makehdl('sfir_fixed/symmetric_fir')
参考
分散型パイプライン方式の優先順位
分散型パイプライン方式のアルゴリズムの優先順位を指定します。
設定
既定の設定: 数値の整合性
数値の整合性
パイプライン レジスタの分散時に数値の整合性を優先します。
このオプションを指定すると、保守的なリタイミング アルゴリズムが使用されるため、元の設計との機能的等価性が不明な場合に、コンポーネント内でレジスタを移動させることがありません。
パフォーマンス
数値の整合性よりも、パフォーマンスを優先します。
設計で高いクロック周波数が必要とされており、Simulink® の動作と生成されたコードの動作が厳密に一致していなくても良い場合は、このオプションを使用してください。このオプションを指定すると、アグレッシブなリタイミング アルゴリズムが使用されるため、元の設計との機能的等価性が不明な場合でも、コンポーネント内でレジスタを移動させられます。このオプションを使用すると、分散型パイプラインで安定したパスにパイプライン レジスタが挿入されないようにすることで面積を削減することもできます。
コマンド ライン情報
プロパティ: DistributedPipeliningPriority |
型: 文字ベクトル |
値: 'NumericalIntegrity' | 'Performance' |
既定の設定: 'NumericalIntegrity' |
このプロパティを設定するには、関数 hdlset_param
または makehdl
を使用します。プロパティの値を表示するには、関数 hdlget_param
を使用します。
たとえば、次のいずれかの方法を使用して sfir_fixed
モデル内の symmetric_fir
サブシステムの HDL コードを生成する際に DistributedPipeliningPriority
設定を使用できます。
プロパティを引数として関数
makehdl
に渡す。makehdl('sfir_fixed/symmetric_fir', ... 'DistributedPipeliningPriority','Performance')
hdlset_param
を使用すると、モデルにパラメーターを設定してから、makehdl
を使用して HDL コードを生成できる。hdlset_param('sfir_fixed','DistributedPipeliningPriority','Performance') makehdl('sfir_fixed/symmetric_fir')
参考
設計上の遅延を保持
設定
既定の設定: オフ
オン
分散型パイプライン方式によって設計上の遅延が移動するのを防ぎます。
オフ
分散型パイプライン方式によって設計上の遅延が移動するのを防ぎません。
コマンド ライン情報
プロパティ: PreserveDesignDelays |
型: 文字ベクトル |
値: 'on' | 'off' |
既定の設定: 'off' |
このプロパティを設定するには、関数 hdlset_param
または makehdl
を使用します。プロパティの値を表示するには、関数 hdlget_param
を使用します。
たとえば、次のいずれかの方法を使用して sfir_fixed
モデル内の symmetric_fir
サブシステムの HDL コードを生成する際に PreserveDesignDelays
設定を使用できます。
プロパティを引数として関数
makehdl
に渡す。makehdl('sfir_fixed/symmetric_fir', ... 'PreserveDesignDelays','on')
hdlset_param
を使用すると、モデルにパラメーターを設定してから、makehdl
を使用して HDL コードを生成できる。hdlset_param('sfir_fixed','PreserveDesignDelays','on') makehdl('sfir_fixed/symmetric_fir')
参考
分散型パイプラインに合成推定値を使用
各コンポーネントのより正確な伝播遅延を特定するには、分散型パイプライン方式で合成タイミング推定を使用します。コンポーネントに応じて異なる重みが割り当てられ、ハードウェアに対するコンポーネントの機能がより正確に反映されます。このパラメーターを有効にすると、HDL Coder™ による HDL コードの生成とハードウェアへの展開で、設計における分散型パイプラインの精度が向上し、ターゲット デバイスのクロック周波数が最大化されます。
設定
既定の設定: オフ
オン
分散型パイプライン方式で、設計に含まれる各コンポーネントの伝播遅延の計算に合成タイミング推定を使用します。
オフ
分散型パイプライン方式で、設計に含まれる各コンポーネントの伝播遅延の計算に等しい重みを使用します。
依存関係
このパラメーターを使用するには、モデル内の少なくとも 1 つのサブシステムで分散型パイプライン方式が有効になっている必要があります。
コマンド ライン情報
プロパティ: UseSynthesisEstimatesForDistributedPipelining |
型: 文字ベクトル |
値: 'on' | 'off' |
既定の設定: 'off' |
このプロパティを設定するには、関数 hdlset_param
または makehdl
を使用します。プロパティの値を表示するには、関数 hdlget_param
を使用します。
たとえば、次のいずれかの方法を使用して sfir_fixed
モデル内の symmetric_fir
サブシステムの HDL コードを生成する際に UseSynthesisEstimatesForDistributedPipelining
設定を有効にできます。
プロパティを引数として関数
makehdl
に渡す。makehdl('sfir_fixed/symmetric_fir', ... 'UseSynthesisEstimatesForDistributedPipelining','on')
hdlset_param
を使用する場合は、モデルのパラメーターを設定してから関数makehdl
を使用して HDL コードを生成する。hdlset_param('sfir_fixed','UseSynthesisEstimatesForDistributedPipelining','on') makehdl('sfir_fixed/symmetric_fir')
参考
適応パイプライン
このパラメーターを使用して、設計内のブロックにパイプライン レジスタを挿入したり、使用面積を削減したり、ターゲット FPGA デバイスで達成可能なクロック周波数を最大化します。
設定
既定の設定: オフ
オン
設計に適応パイプライン レジスタを挿入します。HDL Coder で適応パイプラインを挿入するには、合成ツールを指定しなければなりません。
オフ
適応パイプライン レジスタを挿入しません。
依存関係
このパラメーターを指定するときは、[HDL コード生成] 、 [ターゲット] ペインで [合成ツール] を指定します。設計に乗算器がある場合は、適応パイプラインの挿入に [合成ツール] と [ターゲット周波数 (MHz)] を指定する。
コマンド ライン情報
プロパティ: AdaptivePipelining |
型: 文字ベクトル |
値: 'on' | 'off' |
既定の設定: 'off' |
このプロパティを設定するには、関数 hdlset_param
または makehdl
を使用します。プロパティの値を表示するには、関数 hdlget_param
を使用します。
たとえば、次のいずれかの方法を使用して sfir_fixed
モデル内の symmetric_fir
サブシステムの HDL コードを生成する際に AdaptivePipelining
設定を使用できます。
プロパティを引数として関数
makehdl
に渡す。makehdl('sfir_fixed/symmetric_fir', ... 'AdaptivePipelining','on')
hdlset_param
を使用すると、モデルにパラメーターを設定してから、makehdl
を使用して HDL コードを生成できる。hdlset_param('sfir_fixed','AdaptivePipelining','on') makehdl('sfir_fixed/symmetric_fir')
参考
ルックアップ テーブルを RAM にマッピングする
このパラメーターを使用して、設計内のルックアップ テーブルをブロック RAM にマッピングし、ターゲット FPGA デバイスにおける使用面積を削減します。
設定
既定の設定: オン
オン
設計内のルックアップ テーブルを RAM にマッピングします。
オフ
設計内のルックアップ テーブルを RAM にマッピングしません。
コマンド ライン情報
プロパティ: LUTMapToRAM |
型: 文字ベクトル |
値: 'on' | 'off' |
既定の設定: 'on' |
このプロパティを設定するには、関数 hdlset_param
または makehdl
を使用します。プロパティの値を表示するには、関数 hdlget_param
を使用します。
たとえば、次のいずれかの方法を使用して sfir_fixed
モデル内の symmetric_fir
サブシステムの HDL コードを生成する際に LUTMapToRAM
設定を使用できます。
プロパティを引数として関数
makehdl
に渡す。makehdl('sfir_fixed/symmetric_fir', ... 'LUTMapToRAM','on')
hdlset_param
を使用すると、モデルにパラメーターを設定してから、makehdl
を使用して HDL コードを生成できる。hdlset_param('sfir_fixed','LUTMapToRAM','on') makehdl('sfir_fixed/symmetric_fir')