FPGA VIをコンパイルする際にOVERMAPPEDエラーが発生するのはなぜですか?



使用ソフトウェア:
使用ソフトウェア・バージョン: 8.0
使用ソフトウェア・バージョンに特化:
二次のソフトウェア: N/A

問題: 以前は問題なくFPGA VIをコンパイルすることが出来ていました。しかし、VIにコードを追加したところ、LabVIEW FPGAコンパイルのmappingの段階でOVERMAPPEDというエラーが発生するようになってしまいました。このエラーが発生する原因は何ですか。

解決策:

OVERMAPPEDは、FPGAハードウェアが持ち合わせているハードウェアリソースよりも多くのリソースをコンパイルしているコードが要求していることを本質的には意味しています。この様なエラーが発生していると、FPGAエラーログファイル xflow.log内に記録が残っています。

エラーログファイルの最後に記述される典型的なOVERMAPPEDエラーは下記のような記述です。

......
Design Summary:
   Number of errors:      1
   Number of warnings:    0
   Number of Slices:5,804 out of   5,120  113% (OVERMAPPED)
   Number of Slices containing
      unrelated logic:              2,017 out of   5,804   34%
   Number of Slice Flip Flops:      7,457 out of  10,240   72%
   Total Number 4 input LUTs:       9,847 out of  10,240   96%
      Number used as LUTs:                        9,235
      Number used as a route-thru:                  612
   Number of bonded IOBs:             168 out of     324   51%
      IOB Flip Flops:                                57
   Number of GCLKs:                     1 out of      16    6%
Total equivalent gate count for design:  125,437
Additional JTAG gate count for IOBs:  8,064
Peak Memory Usage:  159 MB
Mapping completed.
See MAP report file "toplevel_gen_map.mrp" for details.
Problem encountered during the packing phase.
ERROR:Xflow - Program map returned error code 2.
Aborting flow execution...

 

SlicesはFPGA上のリソースの基本単位です。FPGA VIのコードがコンパイラによって最適化された後でも、FPGAが持ち合わせているリソースよりも多くのSlicesを要求した場合には、そのFPGA VIのコードはFPGAハードウェアのサイズに適合することが出来ず、コンパイルエラーが発生します。Slicesに関する情報は下記関連リンクのKnowledgeBase 2ZUA4DFLの情報をご覧下さい。

以上の理由から、FPGA VIが使用するリソースを減らす工夫をコードに施すことによって、本エラーは回避する事が可能です。FPGA VIコードが使用するリソースを節約する方策は、下記関連リンクのKnowledgeBase 3W4CJJXJを参考にして下さい。



関連リンク: KnowledgeBase 2ZUA4DFL. What is the Definition of Logic Cells, Logic Slices, Configurable Logic Blocks and Gates?
KnowledgeBase 3W4CJJXJ . How Can I Optimize/Reduce FPGA Resource Usage?

添付:





報告日時: 04/29/2004
最終更新日: 11/27/2007
ドキュメントID: 38S79L9U