Xilinx ISE Webpack 気づいた点 のバックアップソース(No.1)

更新

* 概要 [#g689b466]

Xilinx ISE Webpack 関連で気づいたバグや改善要望など

ここに書いても仕方がないのだけれど、
もし同じ問題を抱える方々の助けになれば、ということで。

* 古い記事 [#m66815a5]


[[電気回路/HDL/Xilinx ISE 12.1で気づいた点]]

[[電気回路/HDL/Xilinx ISE 12.2で気づいた点]]

* Xilinx ISE Webpack 14.2 [#p8973904]

** CPLD プロジェクトの Fitting フェーズで Segmentation Fault エラー [#y9e13a64]

ISE 上での表示:

 Considering device XC95288XL-7-TQ144.
 Flattening design..
 Multi-level logic optimization...
 Timespec optimization..........................................
 Timing optimization............................................
 Timespec driven global resource optimizationAll paths with TIMESPECs have been optimized.
 
 Timing driven global resource optimization
 General global resource optimization........
 Re-checking device resources ...
 Mapping a total of 83 equations into 16 function blocks........
  
 Design main has been optimized and fit into device XC95288XL-7-TQ144.
 ERROR:ProjectMgmt:387 - TOE: ITclInterp::ExecuteCmd gave Tcl result 'can't read "iFileType": 
 no such variable'.
 
 Tcl_ErrnoId: unknown error
 Tcl_ErrnoMsg: No error
 _cmd: ::xilinx::Dpm::dpm_chTransformExecute dpm_fitterRun $piThisInterface
 errorInfo: can't read "iFileType": no such variable
     while executing
 "if { $iFileType eq "UNKNOWN" } {
                 continue ; # unknown is just ignored, its probably .txt
               }"
     ("foreach" body line 3)
     invoked from within
 "foreach sItem $lOutputFileList {
             if { ![dpm_parseOutputFile $sItem $iDesign sFile iFileType fileOrigination] } {
               if { $iFile..."
     (procedure "dpm_chTransformOutput" line 15)
     invoked from within
 "dpm_chTransformOutput $iTranInst $lOutputFileList"
     (procedure "dpm_fitterRun" line 477)
     invoked from within
 "$sCmd $iTransformInstance $sCmdArgs"
     (procedure "dpm_chTransformExecuteEngine" line 100)
     invoked from within
 "dpm_chTransformExecuteEngine $sFlowProc $iInterface $bRunTransformWithEmptyInputSet "
     (procedure "::xilinx::Dpm::dpm_chTransformExecute" line 3)
     invoked from within
 "::xilinx::Dpm::dpm_chTransformExecute dpm_fitterRun $piThisInterface"

おかしなエラーで Fitting が終了できませんでした。

 Design main has been optimized and fit into device XC95288XL-7-TQ144.

と出た後に、

 ERROR:ProjectMgmt:387 - TOE: ITclInterp::ExecuteCmd gave Tcl result 'can't read "iFileType": no such variable'.

とか、明らかにツールのバグっぽいエラーが生じているのですが、
同様の問題に関する ISE 13.4 に関する報告が、

http://forums.xilinx.com/t5/CPLDs/Please-help-with-Nonsense-error-ProjectMgmt-387-TOE-when-running/td-p/230943

にあって、原因も不明のまま放置されているようでした。

どうやら Project Navigator 側のバグっぽいなと感じたため、
cpldfit を直接コマンドラインから実行してみたところ、

 LANG:console
 $ cpldfit -intstyle ise -p xc95288xl-7-TQ144 -ofmt vhdl -optimize speed -htmlrpt -loc on 
 -slew fast -init low -inputs 54 -pterms 50 -unused ground -power std -terminate keeper main.ngd
 WARNING:Cpld - Unable to retrieve the path to the iSE Project Repository. Will
   use the default filename of 'main.ise'.
 
 ... (中略) ...
 
 Timing driven global resource optimization
 General global resource optimization........
 Re-checking device resources ...
 Mapping a total of 83 equations into 16 function blocks...................
 ..........................
 
 Design main has been optimized and fit into device XC95288XL-7-TQ144.
 Segmentation fault

となって、cpldfit が最後に SEGV でコケていることが判明しました。

Project Navigator がこれを正しくハンドリングできていないこと自体もバグですが、
その前に cpldfit が SEGV するバグが主原因ですね。。。

とはいえ、これでは結局理由は分からない。

Counter: 28371 (from 2010/06/03), today: 1, yesterday: 0