2019年6月16日日曜日

旧 ISE i sim エラーで動かない件

windows7、 windows10 共通に処置できる方法と思われる。


(エラー表示)
ERROR:Simulator:861 - Failed to link the design

(回避策)
ISEをインストールしたときに入るcollect2を使わないようにリネームする

具体的には、C:\Xilinx\14.4\ISE_DS\ISE\gnu\MinGW\5.0.0\nt\libexec\gcc\mingw32\3.4.2\にインストールされているcollect2.exeを適当な名前(collect2_.exeとか)にリネームしておきます。

fuseは、collect2が必要だから呼び出すものだと思うんですが、なぜかリネームして呼び出せないようにするとコンパイルが通ります。とりあえず、これでISimが起動して、波形の確認ができるようになったのでヨシとします。


次の記事もあるが。。。

どうもWindows8で動かすとこのような現象になるらしい。

原因はISEで使っているMinGWのバージョンが古いためのようです。
対策方法としては、ここからMinGWの新しいバージョンを拾ってきて差し替えるだけ。
http://sourceforge.net/projects/mingw/files/MinGW/Base/gcc/Version3/

MinGWの場所は、ここです。
C:\Xilinx\13.2\ISE_DS\ISE\gnu\MinGW\5.0.0\nt\libexec\gcc\mingw32\3.4.2

ここにある、collect2.exeとcc1.exeをMinGW 3.4.5のものに差し替えたら動くようになりました~

{https://www.haljion.net/index.php/2019-11-13-03-27-18/2019-11-13-11-33-14/120-fpga/2019-11-18-02-29-10/188-windows8-os-ise-webpack}

Xilinx社製のISE WebPACKは,Spartan6などの6シリーズより以前のFPGAに回路を構築するためのIDEです.2015年現在,Vertex7のように7シリーズに回路を構築するにはVivadoというIDEを使うことになり,おそらく今後,Vivadoで6シリーズ以前のFPGAには対応しないと思われます.つまり,6シリーズ以前のデバイスを使うには引き続きISE WebPACKを使用しなければならないということです.しかし困ったことに,ISE WebPACKはWindows8以降のOSではまともの動作しません.この文書ではこの問題の回避方法について述べています.


環境

まず,動作環境を示しておきます.

  • OS : Windows8以降(Windows8.1を含む), 64ビット
  • ISE WebPACK : 14.7(ISE WebPACKの最後のバージョン)

インストール

インストール方法についてはこちらで説明していますが,ライセンスの設定のみ行えませんので,後述の「Windows8以降で動作させるための設定」を行った後,ライセンスの設定を行ってください.ライセンスの設定方法はこちらに書いておきます.


 Windows8以降で動作させるための設定

Windows8以降のOSでISE WebPACKを動作させようとして問題となることは大きく分けて2種類あります.一つはファイルセレクタが動作しないこと,もう一つは64ビット版の外部アプリケーションであるPinAheadが起動しないことです.これらの問題を解決するため,2個の設定を行いましょう.

libPortability.dllの修正

libPortability.dllはファイルセレクタのためのダイナミックリンクライブラリです.これが悪さをしているため,ライセンスの設定やISE WebPACKのファイルを開くことができません.次に示す2個のディレクトリにあるlibPortability.dllをバックアップ(例えばファイル名に「_orig」を付ける)してください.

C:¥Xilinx¥14.7¥ISE_DS¥ISE¥lib¥nt64
C:¥Xilinx¥14.7¥ISE_DS¥common¥lib¥nt64

次に,C:¥Xilinx¥14.7¥ISE_DS¥ISE¥lib¥nt64にある「libPortabilityNOSH.dll」をコピーし,名前を「libPortability.dll」にしてください.同様に,C:¥Xilinx¥14.7¥ISE_DS¥common¥lib¥nt64へも「libPortabilityNOSH.dll」をコピーし,名前を「libPortability.dll」にしてください.

32ビット版PlanAheadを起動するように変更

PlanAheadは独立したアプリケーションで,64ビット版をWindows8以降のOSで動作させようとしても動きません.そこで,ISE WebPACKから32ビット版のPlanAheadを動作させるように変更します.ISE WebPACKからPlanAheadを呼び出すとき,下記のバッチファイルを用いています.

C:¥Xilinx¥14.7¥ISE_DS¥PlanAhead¥bin¥rdiArgs.bat

このバッチファイル内で,32ビット版PlanAheadを動作させるように変更します.このファイルをrdiArgs.bat.orig等のようなファイルとしてコピーしておいた上で,下記の変更をしてください.

  • 16,17,18,20行目の各行のはじめに「rem #」を付けてください.これにより,16~18と20行目はコメントアウトされます.
  • 32行目にある「win64」を「win32」に変更してください.

ライセンスの設定方法

通常,インストール時にライセンスを設定できるのですが,ファイルセレクタが動かないため,インストール時には設定できません.そこで,インストール時にはライセンスの設定をせずに終了したのち,ISE WebPACKを起動し,メニュー[Help]⇒[Manage License...]を選んでください.この手順ではライセンスを設定できない場合があります.具体的にはライセンスを設定するアプリケーション(xlcm.exe)が立ち上がってこない現象が見られました.その場合にはこちらにある方法で対応してください.

0 件のコメント:

コメントを投稿