メインコンテンツ

FPGA 浮動小数点ライブラリのマッピングに対する HDL Coder のサポート

HDL Coder™ ブロック ライブラリでは、Simulink® ブロックのサブセットで浮動小数点ライブラリ マッピングがサポートされます。サブセットには次が含まれます。

  • 加算、乗算および複雑な三角正弦および余弦関数などの基本的な数学演算を実行するブロック。これらのブロックは、ターゲット FPGA デバイスで 1 つ以上の浮動小数点 IP ユニットにマッピングされます。

  • 離散ブロック、信号の経路指定を行うブロック、行列連結などの数学演算を実行するブロック。これらのブロックは、ターゲット FPGA デバイスで浮動小数点 IP ユニットにマッピングされる必要はありません。

FPGA 浮動小数点ターゲット IP にマッピングされるサポートされているブロック

次の表は、FPGA 浮動小数点 IP コアにマッピングできる Simulink ブロックをまとめています。

浮動小数点 IP コアにマッピングするとき、一部のブロックにはモードの制約があります。

メモ

一部のブロックは、サードパーティ製ハードウェアの浮動小数点 IP コアにマッピングされません。たとえば、Abs ブロックは Altera® ターゲット IP コアにマッピングされますが、Xilinx® ターゲット IP コアにはマッピングされません。

ブロックAltera Megafunction IP (ALTFP および ALTERA FP 関数)Xilinx LogiCORE IPAMD® 浮動小数点ライブラリ IP注意と制限
Abs  
Add
Bias 
Compare To Constant 
Compare To Zero 
Data Type Conversion 
  • single と double のデータ型間の変換はサポートされません。

  • [ブロック パラメーター] ダイアログ ボックスの [整数丸めモード] 属性を [最も近い正の整数方向] に設定しなければなりません。

  • 浮動小数点データ型と固定小数点データ型間の変換用に Altera Megafunction IP を使用する場合、入力ビット幅が 16128 ビット間になければなりません。

Decrement Real World 
Discrete FIR Filter 
Discrete Transfer Fcn 
Discrete-Time Integrator 
Divide 
Dot Product  
Gain
Math Function  
  • [ブロック パラメーター] ダイアログ ボックスの [関数] 属性は、[reciprocal][log] または [exp] に設定します。

MinMax 
Multiply-Add 
Product
  • 2 つを超える入力がある Product ブロックはサポートされません。

Product of Elements 
  • [HDL ブロック プロパティ] の [Architecture][Tree] に設定しなければなりません。

Reciprocal Sqrt  
Relational Operator 
Sqrt 
Subtract
Sum
  • - 端子をもつ Sum ブロックはサポートされません。

  • ブロックは 2 つを超える入力をもつことができません。

Sum of Elements 
  • [HDL ブロック プロパティ] の [Architecture][Tree] に設定しなければなりません。

Trigonometric Function  
  • single データ型の浮動小数点ライブラリ マッピングのみがサポートされます。

  • [ブロック パラメーター] ダイアログ ボックスで、[関数]sin または cos に設定し、[近似法][なし] に設定しなければなりません。

  • Altera Quartus 10.1 または 11.0 を使用している場合は、hdlset_param を使用して、AlteraBackwardIncompatibleSinCosPipeline グローバル プロパティをオンにします。

Unary Minus 

FPGA 浮動小数点ターゲット IP にマッピングする必要がないサポートされているブロック

以下は、HDL コードを生成するが、FPGA 浮動小数点 IP コアにマッピングする必要がない Simulink ブロックです。

FPGA 浮動小数点ライブラリのマッピングの制限事項

  • 複素数データ型はサポートされません。

  • ストリーミング最適化は、浮動小数点ライブラリ マッピングではサポートされていません。

  • リソース共有の最適化は、Unary Minus および Abs ブロックではサポートされていません。

  • IP コアの生成および Simulink Real-Time™ FPGA I/O ワークフローの場合、DUT の端子に浮動小数点データ型は使用できません。

  • ベンダーの浮動小数点ライブラリにマッピングするときは、Nearest の整数丸めモードのみを使用します。

  • ベンダーの浮動小数点ライブラリ [AMDFloatingPointOperators] については、コシミュレーション モデルの生成はサポートされていません。

参考

トピック