インストール - 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の接続確認
- Xinlix ISEが起動していないことを確認する。
- Platform Cable USB IIがLinuxホストに接続されていないことを確認する。
- fxload、make、gcc、libusb-develをインストールするため、以下のコマンドを入力する。
- sudo zypper install fxload make gcc libpng12-0 libusb-compat-devel
- SUSEを再起動する。
- Platform Cable USB IIをLinuxホストに接続すると、Platform Cable USB IIのLEDが黄色に点灯する。
(USB延長コードは電源に悪影響を与える可能性があるため、推奨しない)
LEDが点灯しない場合
もし、LEDが点灯しない場合は、次のコマンドを実行する。
この時、hex拡張子のファイルが多く出力されるはずである。
ls -l /usr/share/*.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.
ファームウェアのアップロードが成功した場合、出力は次のようになる。
ここで重要なのは、上記や下記の赤で記載した番号である。下記の0008は、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"
設定を反映させるため、SUSEを再起動する。
Platform Cable USB IIのドライバのインストール
- ホームディレクトリに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へメールで連絡してファイルを送信してもらうことができる。
- http://git.zerfleddert.de/cgi-bin/gitweb.cgi/usb-driver?a=snapshot;h=HEAD;sf=tgz
- ダウンロードしたファイルを解凍するため、以下のコマンドを実行する。
- gunzip usb-driver-HEAD.tar.gz && tar -xf usb-driver-HEAD.tar
- 解凍したusb-driverディレクトリで、ソースコードをコンパイルするため、以下のコマンドを実行する。
- make -j 8
- libusb-driver.soが生成されたか確認する。
- libusb-driver.so
- もし存在するなら、Platform Cable USB IIのドライバが使用できるようになる。
Xilinx ISEの起動スクリプトの設定
Xilinx ISEはいくつかの環境変数を必要とするため、シェルスクリプトを使用して初期化することが好ましい。
なお、このシェルスクリプトは、一般ユーザで実行する。
- ホームディレクトリにXilinx_ISE_Scriptディレクトリを作成して、その中にISE-Start.shファイルを作成する。
- vi ISE-Start.sh
- 以下の内容を、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
- #!/bin/sh
- ISE-Start.shファイルに実行権限を与える。
- chmod 755 ISE-Start.sh
- デスクトップにISE-Start.shファイルのランチャーを作成する。
- このアイコンを押下することで、Xilinx ISEが起動する。
また、Xilinx ISEのライセンスとPlatform Cable USB IIの設定を行う。これで、Platform Cable USB IIまたはParallel IVを使用する準備ができる。
※注意 1
使用しているXilinx ISEのバージョンおよびシステムアーキテクチャ(32bitまたは64bit)に応じて、sourceで始まる行をコメントまたはコメント解除する。
※注意 2
Impactを直接実行する場合は、iseという単語をコメント化して、Impactで始まる行をコメントアウトする。