Main Content

定数乗算器の最適化

定数乗算器の最適化とは

[定数乗算器の最適化] オプションを使用すると、係数乗算器の演算を処理するときに、CSD (正準符号付き桁数) と FCSD (因数分解された CSD) の最適化のいずれを使用するかを指定できます。

次の表は [定数乗算器の最適化] の値を示しています。

[定数乗算器の最適化] の値説明
[なし] (既定の設定)

既定では、HDL Coder™ は CSD と FCSD のいずれの最適化も実行しません。Gain ブロック用に生成されたコードは乗算器の演算を維持します。

CSD

このオプションを指定すると、生成されたコードは正準符号付き桁数 (CSD) 手法を使用して、クロック速度を維持または増加しながらモデルで使用される面積を減少します。CSD は乗算器の演算を加算および減算演算で置換します。

CSD では、2 進数を最小限のカウントでゼロ以外の桁によって表現することで、定数乗算に必要な加算演算の数を最小に抑えます。

FCSD

このオプションは、乗算器の演算を特定のオペランドの素因数のシフトおよび加算/減算演算で置換する、因数分解された CSD (FCSD) 手法を使用します。これらの因数は一般的には素因数ですが、面積の削減にとって有利となる 2 のべき乗に近い数値の場合もあります。

このオプションを使用すると CSD よりも大幅に面積を削減できますが、クロック速度は低下します。

自動

このオプションを選択すると、HDL Coder によって、CSD または FCSD の最適化が自動的に選択されます。必要な加算器の数に基づいて、最も面積効率の高い実装を得られる最適化が選択されます。

CSD または FCSD の最適化が不可能な場合 (設計で浮動小数点の算術演算が使用されている場合など) を除き、HDL Coder は乗算器を使用しません。

定数乗算器の最適化の指定

定数乗算器の最適化を指定するには、次の手順に従います。

  1. HDL ワークフロー アドバイザーで [HDL コード生成] タスクを選択して、[最適化] タブをクリックします。

  2. [定数乗算器の最適化][CSD][FCSD] または [自動] を選択します。