開発環境の構築 : Linux + ISEコマンドライン開発編

不正なテクニックを駆使してISEをインストールする。

ただし、Cable Driverはとりあえず無視してOK。Xilinx純正のツールで書き込むよりも、他の互換ツールを使った方が楽だから。
Linuxそのものはx86_64でも不都合は無いが、WebPackそのものは32bitアプリであることに注意。

日本語ドキュメントの入手

Linux版をインストールしてもすぐには日本語ドキュメントが入手できないかもしれない。一番簡単なのはWindows版をインストールすることで、これによりC:\Xilinx\10.1\ISE\doc\japanese\booksにかなり充実のソフトウェアマニュアルがインストールされる。

manuals.pdfを開けば一通りのドキュメントが参照できる。(サブディレクトリに格納されている各種PDFへのリンクとなっている)

にわか設計者気分に浸るにはsim.pdfが最適で、目を通すと良いかも知れない。仮に理解できなかったとしても別に問題はない。

また、dev.pdfとxst.pdfには、使うプログラムのコマンドラインオプションが書かれている。

開発環境

とりあえず、xstと入力して、XSTが立ち上がるまでPATHなりなんなりを設定する*1。xstが立ち上がったらquitで終了できる。

(これはSpartan 3 StarterKit向けに書いてはいるが、動作確認していないので実物では試さないこと。)
これを展開してmakeしたらreportにtop.bitが出来ることを確かめる*2
Makefileを読めばカラクリがわかる。要するにISEに付属する各種コマンド、xst、par、等々を順番に呼んでいるだけ。
より正当な手法としては、Xilinx謹製のxflowというツールがあるが、内製のコマンドと名前が被っているのと何故かMinGW上で上手く行かなかったので直接呼び出している。

PlasmaKitはxflowを使ったMakefileを提供している。

書き込み環境(Spartan 3 Starter Kit編)

(Eが付かない方)
Spartan 3 Starter Kitは、パラレルポートに接続するJTAGケーブルが付いてくるので、それを使う。

この辺からダウンロードしてビルドする。
カーネルは当然パラレルポートをサポートしている必要があるが、同時にppdevもサポートしていなければならない。
常識的なPCであれば/dev/parport0が有るはずで、もし無ければ、カーネルのコンフィグでPARPORT_PCとPPDEVをモジュールとしてビルドする。
xc3sprogはビルドしたその場で実行するのが好ましい。デバイスの識別情報を格納するファイルを同じディレクトリに置く必要がある。
使い方は、単に./xc3sprog top.bitのようにするだけ。

書き込み環境(Spartan 3E Starter Kit編) - 保留

Eが付く方はUSB経由で書き込む必要があるため少々面倒な話となる。
コマンドラインツールとしてxupが有ったが、今調べたらサイトが消滅しているようなのでちょっと検討中。
環境が許すならばWindowsマシンにISEを導入してネットワーク経由で書き込む方が良いかも知れない。

環境が許さないならば、libusbによる互換モジュールを使う。

記述通り、公式のlibusbによるドライバを使うこともできるが、これは64bit Linux上では正常に動作しないのであまりお勧めできない。

*1:たぶん、ここはstep by stepな奴をそのうち書く。。

*2:ちなみにCygwinなりMinGWの端末上でもできるが、あんまりメリットは無いような。。