LabVIEW FPGAでの商と余り 関数について



使用ソフトウェア:
使用ソフトウェア・バージョン: 8.0
使用ソフトウェア・バージョンに特化: N/A
二次のソフトウェア: LabVIEW Modules>>LabVIEW FPGA Module
ハードウェア: Reconfigurable I/O (RIO)>>R Series

問題:
FPGA VIを作成する際、商と余り関数に配列を入力しても、ブロックダイアグラムでエラーは起きません。しかし、コンパイルする際にエラー "61052" が発生します。 ヘルプを見ると配列を使うことができると書かれていますが、なぜエラーが発生するのでしょう?商と余り関数はFPGA VIでは使えないのでしょうか。

解決策:
ブロックダイアグラム上でコンパイルエラーになることはありませんが、FPGA VIでは、配列に対して商と余り関数を使うことはできません。配列に対して商と余り関数を使おうとした場合、コンパイルの際の中間コードを生成するときにエラー "61052" (HDLコード生成エラー)が発生します。

ヘルプには商と余り関数が配列に対しても使えるように書かれていて、FPGAに対する特別な記述はありません。ですが配列に対して商と余り関数が使えるのは、ターゲットがFPGA以外の場合に限られます。FPGAをターゲットにした場合でも、スカラ値に対しては問題なく商と余り関数が使えますので、Forループの自動指標付け機能を使って、スカラ値に対して商と余りの関数を使って演算を行い、再度自動指標付けの機能で配列にしてください。

加えて商と余り関数は、FPGA VIでの使用が推奨されていません。
FPGA VIで可能な限り大きなVIおよび関数の使用を回避する(FPGAモジュール)
アルゴリズムを検討することで、この関数の使用をできる限り避けてください。
このプログラムのサンプルは、Communityページなどに他のユーザー様から投稿がされています。


関連リンク:
FPGA VIで可能な限り大きなVIおよび関数の使用を回避する(FPGAモジュール)
Single-Cycle Timed Loop FAQ for the LabVIEW FPGA Module
Community: 商&余り 関数を使わない方法


添付:





報告日時: 08/31/2006
最終更新日: 03/16/2015
ドキュメントID: 40UMLS8V