Main Content

ネイティブ浮動小数点のパラメーター

[コンフィギュレーション パラメーター] ダイアログ ボックスの [HDL コード生成][浮動小数点] ペインで、浮動小数点パラメーターにアクセスできます。これらのパラメーターを使用して、レイテンシ手法、設計で非正規数を処理するかどうか、および仮数乗算の実行方法を指定します。これらの設定を指定するには、[浮動小数点の使用] を選択しなければなりません。

レイテンシ手法

ネイティブ浮動小数点ライブラリにより設計を最小または最大のレイテンシにマッピングするかどうかを指定します。

設定

既定の設定: MAX

次のオプションがあります。

MIN

ネイティブ浮動小数点ライブラリの最小レイテンシにマッピングします。

MAX

ネイティブ浮動小数点ライブラリの最大レイテンシにマッピングします。

ZERO

ネイティブ浮動小数点ライブラリのレイテンシは使用しません。

依存関係

このパラメーターを指定するには、[浮動小数点の使用] を選択します。

コマンド ライン情報

レイテンシ手法を指定するには、次を行います。

  1. 浮動小数点ライブラリとして Native Floating Point を指定した浮動小数点ターゲット構成オブジェクトを作成します。

    fpconfig = hdlcoder.createFloatingPointTargetConfig('NativeFloatingPoint');

  2. 浮動小数点ターゲット構成オブジェクトの LibrarySettings 属性の LatencyStrategy プロパティを指定します。

    fpconfig.LibrarySettings.LatencyStrategy = 'MIN';

  3. モデルで浮動小数点ターゲット構成を設定してから、HDL コードを生成します。この例では、sfir_single モデルでこの構成を設定し、symmetric_fir サブシステムの HDL コードを生成する方法を示します。

    hdlset_param('sfir_single','FloatingPointTargetConfig',fpconfig)
    makehdl('sfir_single/symmetric_fir')

参考

非正規数の処理

設計で非正規数を処理するかどうかを指定します。非正規数は、最小の正規数よりも小さい非ゼロ数です。

設定

既定の設定: 自動

自動

設計で使用されている浮動小数点データ型に基づいて、非正規数を処理する追加のロジックの挿入を制御します。このオプションでは、設計で半精度データ型が使用されている場合は非正規ロジックが挿入されます。single または double のデータ型が使用されている場合は、設計に非正規ロジックは追加されません。

On

設計に非正規数を処理する追加のロジックを挿入します。

Off

設計に非正規数を処理する追加のロジックを追加しません。入力が非正規値である場合、HDL Coder™ は計算を実行する前に値を 0 として処理します。

依存関係

このパラメーターを指定するには、[浮動小数点の使用] を選択します。

コマンド ライン情報

レイテンシ手法を指定するには、次を行います。

  1. 浮動小数点ライブラリとして Native Floating Point を指定した浮動小数点ターゲット構成オブジェクトを作成します。

    fpconfig = hdlcoder.createFloatingPointTargetConfig('NativeFloatingPoint');

  2. 浮動小数点ターゲット構成オブジェクトの LibrarySettings 属性の HandleDenormals プロパティを指定します。

    fpconfig.LibrarySettings.HandleDenormals = 'on';

  3. モデルで浮動小数点ターゲット構成を設定してから、HDL コードを生成します。この例では、sfir_single モデルでこの構成を設定し、symmetric_fir サブシステムの HDL コードを生成する方法を示します。

    hdlset_param('sfir_single','FloatingPointTargetConfig',fpconfig)
    makehdl('sfir_single/symmetric_fir')

考慮事項

  • 設計に非正規ロジックを挿入すると、ハードウェア リソースの増加によるオーバーヘッドで非正規数を処理できるようになります。そのため、要件に基づいて [非正規化数の処理] オプションを有効または無効にできます。

  • 一部の浮動小数点ブロックでは、HDL Coder は非正規ロジックが既定で有効になっているコードを生成します。以下のようなブロックです。

    • Add

    • Subtract

    • Data Type Conversion

    これらのブロックは、ハードウェア リソースへの影響を最小限に抑えて、非正規数を処理できます。これらのブロックに対して生成されたコードは、[非正規化数の処理] 設定の影響を受けません。

参考

仮数乗算器手法

設計に Product ブロックがある場合に、HDL Coder で仮数乗算演算を実装する方法を指定します。

設定

既定の設定: 自動

次のオプションがあります。

自動

この既定のオプションでは、指定された [合成ツール] に応じて、仮数乗算の実装方法を自動的に決定します。

  • [合成ツール] が指定されていない場合、この設定では既定で [Full Multiplier] 実装が選択されます。

  • [合成ツール][Altera Quartus II] を選択した場合、この設定では [Full Multiplier] 実装が選択されます。

  • [合成ツール][Xilinx Vivado] または [Xilinx ISE] を選択した場合、この設定では [Part Multiplier Part AddShift] 実装が選択されます。

Full Multiplier

仮数乗算の実装に乗算器のみを使用する場合はこのオプションを指定します。乗算器はターゲット デバイスの DSP ユニットを利用できます。

Part Multiplier Part AddShift

実装を 2 つの部分に分割する場合にこのオプションを指定します。1 つは乗算器で実装されます。もう 1 つは加算器とシフターの組み合わせで実装されます。乗算器は、ターゲット デバイスの DSP ユニットを利用できます。加算器とシフターの組み合わせでは DSP を利用しません。

No Multiplier Full AddShift

加算器と乗算器の組み合わせを使用して仮数乗算を実装する場合は、このオプションを選択します。このオプションではターゲット デバイスの DSP ユニットを利用しません。このオプションは、ターゲット デバイスに DSP ユニットが含まれない場合にも使用できます。

依存関係

このパラメーターを指定するには、[浮動小数点の使用] を選択します。

コマンド ライン情報

レイテンシ手法を指定するには、次を行います。

  1. 浮動小数点ライブラリとして Native Floating Point を指定した浮動小数点ターゲット構成オブジェクトを作成します。

    fpconfig = hdlcoder.createFloatingPointTargetConfig('NativeFloatingPoint');

  2. 浮動小数点ターゲット構成オブジェクトの LibrarySettings 属性の MantissaMultiplyStrategy プロパティを指定します。

    fpconfig.LibrarySettings.MantissaMultiplyStrategy = 'PartMultiplierPartAddShift';

  3. モデルで浮動小数点ターゲット構成を設定してから、HDL コードを生成します。この例では、sfir_single モデルでこの構成を設定し、symmetric_fir サブシステムの HDL コードを生成する方法を示します。

    hdlset_param('sfir_single','FloatingPointTargetConfig',fpconfig)
    makehdl('sfir_single/symmetric_fir')

参考