概要
商&余り関数を使わず、別の方法で機能を実装します。
詳細
LabVIEWに商&余り関数がありますが、この関数はFPGA上での使用が非推奨です。
『FPGA VIで可能な限り大きなVIおよび関数の使用を回避する(FPGAモジュール)』
http://zone.ni.com/reference/ja-XX/help/371599J-0112/lvfpgaconcepts/avoid_large_functions/
この関数は、非常に大量のFPGAリソースを消費します。
そのため、別の方法でこの機能を実装する必要があります。
『Dividing in FPGA?』
http://forums.ni.com/t5/LabVIEW/Dividing-in-FPGA/td-p/189324
こちらにてEdが提案していた方法を、VIとして書き出してみました。
また、割り算は分母が"0"となることは許されていないため、
その場合にエラーが発生するように作り直しています。
FPGAの最適化については、こちらの資料をご覧ください。
『FPGA のリソースやスピードをを最適化する方法はありますか?』
実装・実行方法
1. VIを開きます。
2. AとBの制御器に値を入力して、VIを実行します。
3. Remainderに余り、Quotientに商が出力されます。
必要なもの
ソフトウェア
・LabVIEW 2012以降
NIコミュニティのサンプルコード交換のサンプルコードは、MIT Licenseによりライセンス供与されています。
Quotient_Remainder.viと93901Quotient_Remainder.viの違いは何でしょうか?
あと2つのVIで、Falseのケースにエラークラスタ定数が配線されていないで残っているのですが、何か意図がありますでしょうか?