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

更新


概要

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

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

古い記事

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

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

Xilinx ISE Webpack 14.2

CPLD プロジェクトの Fitting フェーズで Segmentation Fault エラー

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: 30273 (from 2010/06/03), today: 1, yesterday: 0