インストール - Xilinx ISE

提供:MochiuWiki : SUSE, EC, PCB
2020年7月5日 (日) 03:12時点におけるWiki (トーク | 投稿記録)による版 (→‎Xilinx ISEのインストール)
ナビゲーションに移動 検索に移動

概要

ここでは、SUSEにXilinx ISEをインストールする手順を記載する。
Xilinx ISEのインストールは簡単であるが、Platform USB Cable IIおよびCable IVのドライバのインストールは複雑である。

他のLinuxディストリビューションや他のISE / Vivadoのバージョンも、このページに沿ってインストールできる場合がある。
Xinlix ISEの使用方法、ライセンスの管理方法、HDLの記述方法については説明しない。


依存関係のライブラリのインストール

以下の依存関係のライブラリをインストールする。

sudo zypper install libncurses5



Xilinx ISEのインストール

スーパーユーザになり、Xilinx ISEが存在するメディアに移動して、以下のコマンドを実行する。

su
./xsetup


インストール画面が起動するので、画面の指示に従ってインストールを行う。
Platform USB Cable IIのドライバのインストールを求められたら、ドライバのインストールを選択する。

Xilinx ISEに必要な環境変数について通知するメッセージは無視すること。(詳細は、最後のセクションの"Xilinx ISEの起動スクリプトの設定"を参照すること)
また、インストール手順の最後に表示される、Platform USBのドライバのインストールが失敗したというメッセージは無視する。後でインストールおよび設定を行う。

Xilinx ISEのインストール完了後、以下のディレクトリにアクセスする。
(ここには、ファームウェアファイルが存在する)

cd /<Xilinx ISEのインストールディレクトリ>/14.7/ISE_DS/common/bin/lin64/


ファームウェアファイルを/usr/shareディレクトリにコピーする。

sudo cp *.hex /usr/share


xusbdfwu.rulesファイルを/etc/udev/rules.dディレクトリにコピーする。

sudo cp xusbdfwu.rules /etc/udev/rules.d/


xusbdfwu.rulesファイルを以下のように編集(文字を置き換える)する。

$TEMPNODE → $tempnode
BUS → SUBSYSTEMS
SYSFS → ATTRS


恐らく、次の設定は不要であるが、念の為に記載しておく。

sudo cp /usr/lib/libstdc++.so.6 /<Xilinx ISEのインストールディレクトリ>/14.7/ISE_DS/common/lib/lin64/
または
sudo ln -s /usr/lib/libstdc++.so.6 /<Xilinx ISEのインストールディレクトリ>/14.7/ISE_DS/common/lib/lin/libstc++.so.6



Platform Cable USB IIの接続確認

  1. Xinlix ISEが起動していないことを確認する。
  2. Platform Cable USB IIがLinuxホストに接続されていないことを確認する。
  3. fxload、make、gcc、libusb-develをインストールするため、以下のコマンドを入力する。
    sudo zypper install fxload make gcc libusb-devel
  4. Platform Cable USB IIをLinuxホストに接続する。すると、Platform Cable USB IIのLEDが黄色に点灯する。


LEDが点灯しない場合
もし、LEDが点灯しない場合は、次のコマンドを実行する。

ls -l /usr/share/*.hex


この時、末尾名がhexと付けられたファイルが多く出力される。
もし、そのようなファイルが出力されない場合は、再度Xilinx ISEをインストールする。(Platform Cable USB IIドライバが選択されていることを確認する)

それでもPlatform Cable USB IIのLEDが黄色に点灯しない場合は、コンソールを開いて以下のコマンドを実行する。

lsusb | grep Xilinx


ファームウェアのアップロード
Platform Cable USB IIへのファームウェアのアップロードが失敗した場合、次のような行が出力される。
これは、Platform Cable USB IIは認識されていることを示す。

Bus 002 Device 002: ID 03fd:0013 Xilinx, Inc.


ファームウェアのアップロードが成功した場合、出力は次のようになる。
ここで重要なのは、上記の赤で記載した番号である。これは、Platform Cable USB IIのファームウェアが正しくロードされたことを示している。

Bus 004 Device 004: ID 03fd:0008 Xilinx, Inc.


次に、/etc/udev/rules.dディレクトリに移動して、以下の内容のファイルを作成する。

sudo vi libusb-driver.rules


# /etc/udev/rules.d/libusb-driver.rulesファイル
ACTION=="add", SUBSYSTEMS=="usb", ATTRS{idVendor}=="03fd", MODE="666"


設定を反映させるため、Linuxホストを再起動する。


Platform Cable USB IIのドライバのインストール

  1. ホームディレクトリにISE-USB_Driverディレクトリを作成して、以下のWebサイトからPlatform Cable USB IIのドライバのソースコードをダウンロードする。
    http://git.zerfleddert.de/cgi-bin/gitweb.cgi/usb-driver?a=snapshot;h=HEAD;sf=tgz
    http://www.rmdir.de/~michael/xilinx/
    ※注意
    usb-driver-HEAD.tar.gzファイルにアクセスできない場合は、Xilinxへメールで連絡してファイルを送信してもらうことができる。
  2. ダウンロードしたファイルを解凍するため、以下のコマンドを実行する。
    gunzip usb-driver-HEAD.tar.gz && tar -xf usb-driver-HEAD.tar
  3. 解凍したusb-driverディレクトリで、ソースコードをコンパイルするため、以下のコマンドを実行する。
    make -j 8
  4. libusb-driver.soが生成されたか確認する。
    libusb-driver.so
  5. もし存在するなら、Platform Cable USB IIのドライバが使用できるようになる。



Xilinx ISEの起動スクリプトの設定

Xilinx ISEはいくつかの環境変数を必要とするため、シェルスクリプトを使用して初期化することが好ましい。
なお、このシェルスクリプトは、一般ユーザで実行する。

  1. ホームディレクトリにXilinx_ISE_Scriptディレクトリを作成して、その中にISE-Start.shファイルを作成する。
    vi ISE-Start.sh
  2. 以下の内容を、ISE-Start.shファイルに記述する。
    #!/bin/sh
    source /opt/Xilinx/10.1/ISE/settings32.sh # comment if required
    #source /opt/Xilinx/11.1/ISE/settings32.sh # uncomment if required
    #source /opt/Xilinx/14.7/ISE_DS/settings64.sh # uncomment if required
    export LD_PRELOAD=/home/yours/ise-usb-driver/usb-driver/libusb-driver.so
    ise # comment if neccessary
    #impact # uncomment if neccessary
    exit
  3. ISE-Start.shファイルに実行権限を与える。
    chmod 755 ISE-Start.sh
  4. デスクトップにISE-Start.shファイルのランチャーを作成する。
  5. このアイコンを押下することで、Xilinx ISEが起動する。
    また、Xilinx ISEのライセンスとPlatform Cable USB IIの設定を行う。これで、Platform Cable USB IIまたはParallel IVを使用する準備ができる。


※注意 1
使用しているXilinx ISEのバージョンおよびシステムアーキテクチャ(32bitまたは64bit)に応じて、sourceで始まる行をコメントまたはコメント解除する。

※注意 2
Impactを直接実行する場合は、iseという単語をコメント化して、Impactで始まる行をコメントアウトする。