Main Content

このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。

FPGA 浮動小数点ターゲット ライブラリの HDL コードの生成

浮動小数点ライブラリにマッピングすることで、浮動小数点を固定小数点に変換する必要なく浮動小数点設計を合成できます。浮動小数点から固定小数点への変換手順をなくすことで、データ精度の損失が低減し、より広いダイナミック レンジのモデル化が可能となります。

FPGA 浮動小数点ライブラリは、特定のターゲット ハードウェアで合成するために最適化される一連の浮動小数点 IP ブロックです。Altera® Megafunction や Xilinx® LogiCORE IP は、このようなライブラリの例です。

HDL Coder™ ブロック ライブラリでは、Simulink® ブロックのサブセットで浮動小数点ライブラリ マッピングがサポートされます。FPGA 浮動小数点ライブラリのマッピングに対する HDL Coder のサポートを参照してください。

FPGA 浮動小数点ライブラリのマッピングの設定

浮動小数点の設計を Altera または Xilinx FPGA 浮動小数点ライブラリにマッピングするには、次を行います。

  • hdlset_param を使用して Altera または Xilinx FPGA 合成ツールのターゲット デバイス オプションを設定します。たとえば、合成ツールを Altera Quartus II として設定し、チップ ファミリを Arria10 として設定するには、次を実行します。

    hdlset_param(model,'SynthesisToolChipFamily','Arria10', ...
                       'SynthesisToolDeviceName','10AS066H2F34E1SG', ...
                       'SynthesisToolPackageName','', ...
                       'SynthesisToolSpeedValue','')
    

  • 合成ツールの実行可能ファイルへのパスを設定するには、hdlsetuptoolpath を使用します。たとえば、Altera Quartus II 合成ツールへのパスを設定するには、次を実行します。

    hdlsetuptoolpath('ToolName','Altera Quartus II','ToolPath',...
     'C:\altera\14.0\quartus\bin\quartus.exe');

    合成ツールのパスの設定を参照してください。

  • Altera または Xilinx FPGA 浮動小数点シミュレーション ライブラリを設定します。FPGA シミュレーション ライブラリの設定を参照してください。

FPGA 浮動小数点ライブラリへのマッピング

[コンフィギュレーション パラメーター] ダイアログ ボックスまたはコマンド ラインから Simulink モデルを浮動小数点ターゲット ライブラリにマップできます。

[コンフィギュレーション パラメーター] ダイアログ ボックスから

FPGA 浮動小数点ライブラリへマッピングするには、次の手順に従います。

  1. [アプリ] タブで、[HDL Coder] を選択します。[HDL コード] タブが表示されます。[設定] をクリックします。

  2. [HDL コード生成][浮動小数点のターゲット] ペインで、浮動小数点 IP ライブラリを選択します。

  3. Xilinx LogiCORE® IP の場合は、ライブラリとして [XILINX LOGICORE] を選択します。Altera メガファンクション IP の場合は、ライブラリとして [ALTERA MEGAFUNCTION (ALTFP)] または [ALTERA MEGAFUNCTION (ALTERA FP FUNCTIONS)] を選択できます。

  4. [ALTERA MEGAFUNCTION (ALTERA FP FUNCTIONS)] をライブラリとして選択すると、[IP パイプラインをゼロに初期化] オプションが利用できるようになります。[IP パイプラインをゼロに初期化] オプションを選択して、IP のパイプライン レジスタをゼロに初期化します。[ターゲットおよび最適化] ペインで、浮動小数点 IP のマップ先のターゲット周波数を入力します。

    メモ

    ALTERA FP FUNCTIONS にマッピングする場合、ターゲット言語は VHDL に設定しなければなりません。

    ALTERA FP FUNCTIONS ライブラリを選択すると、IP 構成テーブルが表示されます。データ型テーブルを使用して、浮動小数点ターゲット ライブラリの IP 設定をカスタマイズできます。詳細については、ターゲット周波数を使用した IP レイテンシのカスタマイズを参照してください。

  5. ライブラリとして [XILINX LOGICORE] または [ALTERA MEGAFUNCTION (ALTFP)] を選択する場合は、IP の [レイテンシ手法][目的] を選択します。

    これらのライブラリを選択すると、IP 構成テーブルが表示されます。データ型テーブルを使用して、浮動小数点ターゲット IP のレイテンシをカスタマイズできます。詳細については、レイテンシ手法を使用した IP レイテンシのカスタマイズを参照してください。

  6. 浮動小数点 IP リソースを共有するには、[HDL コード生成][ターゲットおよび最適化][リソース共有] タブで、[浮動小数点 IP] が有効になっていることを確認します。共有される浮動小数点 IP ブロックの数は、サブシステムで指定する [SharingFactor] によって異なります。

  7. [適用] をクリックします。Simulink ツールストリップで、[HDL コードを生成] をクリックします。

コマンド ラインから

コマンド ラインから HDL コードを生成するために関数 hdlcoder.createFloatingPointTargetConfig を使用して浮動小数点 IP 構成を作成できます。

  1. 関数 hdlcoder.createFloatingPointTargetConfig を使用して、浮動小数点ライブラリのための hdlcoder.FloatingPointTargetConfig オブジェクトを作成します。次に、hdlset_param を使用して、モデルで構成を保存します。

    たとえば、ALTERA FP FUNCTIONS ライブラリの浮動小数点ターゲット設定を既定の設定で作成するには、以下を実行します。

    fpconfig = hdlcoder.createFloatingPointTargetConfig('ALTERAFPFUNCTIONS');
    hdlset_param('sfir_single', 'FloatingPointTargetConfiguration', fpconfig);

  2. 指定する浮動小数点ライブラリに基づいて IP 設定をカスタマイズできます。詳細については、浮動小数点 IP 構成のカスタマイズを参照してください。

  3. makehdl を使用して、サブシステムから HDL コードを生成します。

浮動小数点ライブラリ マッピングのコード生成レポートの表示

浮動小数点ライブラリ マッピングのコード生成レポートを表示するには、コード生成を開始する前にリソース利用レポートと最適化レポートの生成を有効にします。これらのレポートの生成方法の詳細は、コード生成レポートの作成と使用を参照してください。

ターゲット固有のレポート

設計がマッピングされるターゲット浮動小数点ブロック、レイテンシおよびターゲット固有ハードウェア リソースの数を表示するには、[コード生成レポート] で [ターゲット固有のレポート] を選択します。

ターゲット コード生成レポート

コード生成レポートで、最適化レポートの [ターゲット コード生成] セクションには、モデルに適用される最適化設定のステータスが表示されます。レポートには HDL Coder が浮動小数点ターゲット コードを正常に生成したかどうかが示されます。

浮動小数点ライブラリのマッピング結果の解析

浮動小数点ターゲット IP のレイテンシ情報は、HDL コード生成後に生成されたモデルから取得できます。たとえば、double データ型の入力がある Simulink のこの Add ブロックについて考えます。

  1. HDL コード生成後、ターゲット コード生成の最適化レポートには生成されたモデルへのリンクが表示されます。Simulink ブロックがマッピングされる浮動小数点ターゲット ライブラリを確認するには、生成されたモデルのサブシステムをダブルクリックします。

  2. ALT add ブロックをダブルクリックします。Delay ブロックの長さは、浮動小数点ターゲット IP のレイテンシです。

生成されたモデルの詳細については、生成されたモデルと検証モデルを参照してください。

FPGA 浮動小数点ライブラリ マッピングの結果を確認する場合は、HDL コード生成後に生成された IP コア ファイルを表示できます。

HDL Coder は生成された既存の IP コア ファイルをチェックして再利用することで、同じ浮動小数点ターゲット IP のコードを後で生成する場合に時間を節約します。

関連する例

詳細