Artix-7書き込みツール
Artix-7ボードの書き込み方法
特電Artix-7評価ボードは次の3つのいずれかの方法で書き込みができます。
(1) JTAGのピンヘッダにXILINX Platform USBケーブルを接続し、iMPACTで書き込む
(2) JTAGのピンヘッダにPocket JTAG Cableを接続し、MITOUJTAGで書き込む
(3) USBでホストPCと接続し、USB3.0経由で書き込む
このページでは、(3)のUSB経由での書き込み方法を紹介します。
準備
1. オンボードUSB-JTAG書き込みツール s6a7jtagw.zipをダウンロードし、解凍してください。
2. Artix-7ボードのファームウェアが2013年7月21日版よりも古い場合はアップデートしてください。 (※ファームウェアアップデートの手順は現時点ではまだ纏まっていません。詳しくはお問い合わせください)
ツールの起動
3. 解凍したs6a7jtagw.zipの中にあるs6a7jtag.exeのアイコンをクリックします。

4. ツールが起動し、Artix-7ボードが認識されます。
FPGAへの書き込み
この節では、FPGAに書き込む方法を説明します。FPGAに書き込んだデータは揮発性です。電源をOFFにしたり、基板上の赤スイッチを押すと消えてしまいますが、書き込みが高速というメリットがあります。
5. ツールのFileOpenボタンを押し、Open a new fileを選択します。
6. ダイアログが開くので、ユーザがISEで作成したbitファイルを選択します。
7. 元の画面に戻るので、AUTOと書かれた自動書き込みボタンを押します。
8. プログレスバーが伸びていき、約9秒で書き込みが完了します。
書き込みが完了すると、その時点でFPGAが起動します。
SPI ROMへの書き込み
この節では、SPI ROMに書き込む方法を説明します。ROMに書き込んだデータは不揮発性なので、電源をOFFにしたり、基板上の赤スイッチを押しても消えません。ただし、書き込みには数十秒かかります。
9. SPI ROMに書き込むには、「Programming target」をSPI ROM側に切り替えます。
一時的に「USB-JTAG-SPI」のデザインが自動的に書き込まれます。
10. 約10秒でSPIモードに切り替わるので、書き込みたいbitファイルを指定して、AUTOボタンを押します。
※iMPACTとは異なり、ここで指定するファイルはMCSファイルではなくBitファイルです。Bit→MCSの変換をする必要がありません。
11. 約2分15秒で書き込みとベリファイが完了します。
12. 「Programming target」をFPGA側に戻し、赤ボタンを押せば新しいデザインで動作します。
(ISEのGenerate Programming Filesのデフォルトのオプション設定では、ROMからのコンフィグに約10秒かかります。高速化するにはCCLKの周波数を上げ、SPIがDualモードになるよう、ISEでオプションを変更してください。)
便利な機能
13. ツールボタンには便利な機能がいろいろそろっています。
特にSPI ROM側にした場合、ROMに関する様々な操作ができます。

IDCODE・・・SPI ROMのIDCODEとステータスレジスタを読み出します
SIG・・・SPI ROMのUnique ID code読み出します。
DUMP・・・SPI ROMの先頭領域をダンプします。
AUTO・・・書き込みと消去、ベリファイを行います。
WRITE・・・ベリファイをせずに書き込みのみ行います。(40秒ほど短縮できる)
ERASE・・・ROMの内容を全面消去します。
BLANK・・・ROMが空かどうか確かめます
READ・・・ROMの内容を読み出してファイルに保存します。
14. ROMのダンプは、何かが書き込まれているかどうかが一目でわかるので重宝します。
15. 「When file updated, programming start automatically.」と書かれたチェックボックスをチェックすると、デザインファイルが更新されるまで、実際の書き込み動作を待機します。

裏でISEに論理合成をさせておけば、論理合成完了と同時に書き込みを開始することができるので、他の業務をしていても自動的に書き込みが行われます。

16. Offset ADDRの設定は、書き込むSPI ROMのアドレスを先頭からずらしたい場合に使います。

たとえば、MicroBlazeのプログラムなどを格納しておく場合、「先頭にはFPGAのBitStreamが入るので、MicroBlazeのソフトウェアはアドレス0x00400000から配置したい」、というような場合に使います。
まとめ
このツールを使うと、従来は別途JTAGケーブル必要だったのに対し、USB3.0のケーブルを介してFPGAに書き込みができるので、とても開発が簡単になります。
ツールの更新履歴と未解決の事項、今後の予定など
更新履歴
・平成25年7月22日 Version1.60として初公開
未解決の事項
- DeviceDNAがまだ正しく読めない
- SPI ROMに書き込むと、ボードの電源をON/OFFしないと新しいデータで起動しないように見える
今後の予定
- EZ-USB FX3のファームウェアも、このツールから書き込めるようにしたい。
- XADC(デバイスの温度や電圧)を読めるようにしたい。
- DeviceDNAを読めるようにしたい。
- CableServerを実装し、XILINXのツールからリモート接続できるようにしたい。













