SUZAKUとTE7720

TE7720へのプログラミング (SUZAKUのコンフィギュレーション)

平成16年10月1日更新

 TE7720(東京エレクトロンデバイス製)は、汎用フラッシュメモリを使用してXilinx社FPGAのコンフィギュレーションを行うLSIで、アットマークテクノ社のSUZAKUなどに採用されています。このチュートリアルでは、MITOUJTAGのデバイスプログラミング機能を用いて、TE7720にFPGAコンフィギュレーションデータを書き込む方法を紹介します。

MITOUJTAGを使うことのメリット

MITOUJTAGを用いてTE7720をコンフィギュレーションすると、iMPACTを用いたBitファイル→MCSファイルへの変換や、XSVFファイルを生成する手間が必要がなく、ISE等で生成されたFPGA用のBitファイルを非常に簡単かつ、即座に書き込むことができます。

また、同一のJTAGチェーンに接続されているTE7720以外のデバイスの数や種類に制限はありません。

ハードウェアの準備

写真1はSUZAKUの外観で、LANのコネクタの横に実装されているデバイスがTE7720です。


写真1 SUZAKUの外観

?

SUZAKUにはTE7720用とFPGA用の2箇所のJTAGのコネクタがありますが、TE7720のJTAGコンフィギュレーションに用いるのは、CON2の1~6番ピンで、下の図2の赤で囲った部分にあります。

コネクタの場所とピン配置は図2を参照してください。

図2 TE7720用のJTAGコネクタ

?

写真3のようにホストPCとSUZAKUのCON2をJTAGで接続したら、準備は完了です。XILINX Parallel III(および互換)ケーブルで書き込む際には、3.3VOUTをVCCに接続してください。

写真3 SUZAKUにJTAGケーブルを接続

?

コンフィギュレーションの際の注意点

SUZAKUのTE7720をJTAGでコンフィギュレーションする際には、必ず、最初にSUZAKUの電源をオフにしてください。そして、ジャンパJP2をショートしてからSUZAKUの電源を投入します。JP2の位置は図2を参照してください。

デバイスの認識とTE7720の指定

MITOUJTAGを起動し、ケーブルを接続した後、デバイスの自動認識を行います。

TE7720は最初、XC18V04として認識されますので、灰色の四角の上にマウスカーソルを合わせて右クリックし、プルダウンメニューが表示されたら「Change Device」を実行します。

図4 自動認識直後の状態

図5 Change deviceを実行

 「Change device」を実行すると、図6のようなダイアログが開くので、「TE7720_vq80」を選択しOKボタンを押します。

図6 Change deviceでTE7720を選択

 すると、図7のようにTE7720の外観が表示されます。

図7 TE7720の外観を表示

プログラミング方法


図8 TAP Resetの実行

SUZAKUの電源をOFFにし、JP2をショートしてからSUZAKUの電源をONにします。

もし、以後の作業でエラーが発生する場合は、TE7720の絵の上にマウスカーソルを合わせ、右クリックし、プルダウンメニューが表示されたら「TAP Reset」を実行してください。

 (電源のON/OFFを行ったので、デバイスのJTAGの状態が不定になっているため、これをリセットする)

?

?

?

?

?

MITOUJTAGではチェーン接続された状況でのプログラミングをサポートしているため、デバイスの書き込みや読み出しや消去を行う前に、操作を行いたいデバイスを選択しておく必要があります。

デバイスを選択するためには、デバイスの絵の上にマウスカーソルを合わせ、左または右クリックを行います。選択されたデバイスは図9のようにパッケージ部分が灰色のが網掛けで表示されます。


図9 選択されているデバイス


図10 選択されていないデバイス

?

デバイスを選択したら、図11のツールバーに示した下向きの赤い矢印のアイコンを押します。

図11 デバイスプログラミングツールバー

図12のダイアログが開くので、「Operation type」がWriteになっていることを確認し、Design fileの部分に書込みを行いたいbitファイル名(またはMCSファイルでも可)を指定します。なお、[...]のボタンを押すとファイルを参照することができます。

図12 デバイス書込みダイアログ

 ここで、「Erase before Write」のチェックボックスがチェックされていると、書き込み前に消去を行います。また、「Verify after Write」のチェックボックスがチェックされていると、書込み後にベリファイを行います。

 OKボタンを押すと、「消去→書込み→ベリファイ」が開始されます。

図13 TE7720を消去

図13は消去時の画面です。消去はおよそ数秒から10程度を必要とします。フラッシュROMの寿命近くになると、さらに長くなると予想されます。1分を経過してもフラッシュROMが消去されない場合はエラーとなります。

 図14は書込み中の画面です。

図14 TE7720に書き込み中

 図15はベリファイ中の画面です。ベリファイが完了したら、SUZAKUの電源を一度OFFにし、JP2のジャンパを外してから再度電源をONにしてください。

図15 TE7720をベリファイ中

 これで、新しいデザインでSUZAKUが動作するようになります。

その他のISP動作

MITOUJTAGは、書込みだけではなく、消去、ベリファイ、ブランクチェック、読み出しの各操作を行うことができます。

ツールボタンの中から行いたい操作を選択して押してください。

表1 MITOUJTAGのISP用ツールボタン

アイコン

コマンド

実行される操作

Write

デバイスに書き込みを行います。

Readback

デバイスから読み出します。ただし、読み出したデータを保存するファイルはMCSファイルに限ります。(Bitファイルでの保存はできません)

Verify

デバイスの内容をベリファイします。

Blank check

デバイスがブランクかどうかチェックします。

Erase

デバイスを消去します。

デイジーチェイン

SUZAKU上にあるTE7720とSpartan3をデイジーチェインで接続し、1つのJTAGチェーンとして扱うことも可能です。

1つのJTAGチェイン上に2つのデバイスを扱うと、ケーブルの抜き差しをせずに、TE7720の書込みと、Spartan3のバウンダリスキャンの両方を行うことができます。

このようにチェーン接続を行うには、TE7720のTDO信号(CON2の5番ピン)を、Spartan3のTDI信号(CON7の4番ピン)に接続し、TE7720のTMSとTCKをSpartan3のTMSとTCKにそれぞれ接続します。(直結するとSpartan3の入出力の絶対最大定格を超えるので、3.3V→2.5Vへの電圧変換を行うなど、注意してください。)

例えば、図16はTE7720の後ろにSpartan3が認識されている状態で、TE7720にコンフィギュレーションデータを書き込んだ後、バウンダリスキャンを用いてXC3S400の各ピンの状態(H/L)を色分けで表示した例です。なお、TE7720はバウンダリスキャンスキャンには対応しておりません。

図16 TE7720とSpartan3をチェーン接続

?

逆に、FPGAのTDOをTE7720のTDIに接続すれば、図17のようにSpartan3の後ろにTE7720が認識されます。こちらの構成でも、MITOUJTAGのデバイスプログラミング機能はTE7720にデータを書き込むことができます。

 

図17 Spartan3の後ろにTE7720をチェーン接続

?

このようにMITOUJTAGのデバイス書込み機能は、TE7720と他のデバイスがチェーン構造で接続されていても正しく動作します。

?

MITOUJTAGは、デバイス書き込み機能だけではなく、デバイスの各ピンの状態をリアルタイムに可視化する強力な機能を備えています。

MITOUJTAGのデバイスプログラミング機能とバウンダリスキャン機能を上手に組み合わせて用いれば、貴社のFPGA開発がさらに一層効率よく行うことができるようになるでしょう。