« 秋葉原に事務所をオープン | トップページ | トラ技掲載 »

2006.04.08

Spartan3E Starter Kitを使ってみた

Spartan3E Starter Kitが届いたので、さっそく使ってみました。

まず、送られてきたCD-ROMの内容が、Spartan3Eではなく、Spartan3 Starter Kitのものになっていました。
序の口。こんなことでひるんではいけません。

パンフレット「ここから開始」
「ここから開始」と書かれたパンフレットには、電源スイッチを入れると自動診断が実行されて「PASS」とか「FAIL」と表示されるとありますが、実行されません。
キットのLCDには

Spartan-3E offer
SPI & BPI config
と表示されたまま、止まっています。Helloとも言ってくれません。
ま、こういうものなのでしょう。

デフォルトでは、BPIのモードでコンフィグ、つまりIntelのフラッシュメモリからコンフィグをしていると思われます。これをPlatform Flash Rom(XCF04S)の中身からコンフィグを開始するように設定するには、M1のピンをジャンパしなければなりませんが、製品の中に予備のジャンパピンが入っていないので自分で用意しなければなりません。

さて、このキットで最も気になっていたUSB-JTAGを評価しました。
Spartan3E Starter Kitは、USBからJTAGを使ってコンフィギュレーションできます。どういうしくみかというと、XILINXのPlatform USB Cableが基板上に構成されているようです。このUSBコネクタはJTAGコンフィグ専用についているもので、FPGAとの間でユーザ用の通信には使えないようです。
Spartan-3E Starter KitとPCを接続すると「不明なデバイス」が認識されました。そのPCでは、以前Platform USBは使ったことがあったのですが、VIDとかPIDが違うのでしょうか。製品に付録のDVDに入っているWebPACK8.1をインストールすることで、このUSB-JTAGを認識するようになりました。
やはり、iMPACTからは、この基板自体がPlatform USB Cableとして認識されるようです。

Spartan 3E Starter Kitの回路図には、やはり、このUSB-JTAG部分の回路図が描かれていません。以前、このブログでUSB-JTAGの回路図のページが空白になっていると書きましたが、最新の回路図ではその空白のページごとごっそり削除されています。
ものすごいインパクトの使い勝手
さて、肝心の、8.1のiMPACTは、すごく使いにくくバージョンアップされています。6.2のころのはまだ何とか使えたのですが、7ごろからいちいちプロジェクトファイルを作らなければならなくなったし、8では書き込むbitファイルのファイル名に"デスクトップ"とか、日本語が入っていると落ちてしまうという、致命的な面倒くささです。バージョンアップするたびに使いにくくなります。
これでは、入手したBitファイルを気軽に書き込みして、試してみることができません。


MITOUJTAGを使おうと、外部のJTAGケーブルを接続しようと思ったのですが、以前からWebで公開されていた写真のJTAGコネクタがありません。つまり、Parallel Cable IVのHigh Performance JTAG Cableが使えないようです。
JTAGコネクタの変遷

どうやら外部のJTAGケーブルを使う場合は、基板の右上にあるJ28につなぐようです。基板上にはあらかじめEmbedded Platform USB Cableが組み込まれているので、衝突してしまいそうですが、USBコネクタを挿さずに電源を入れると、基板上のEmbedded Platform USB Cableは不活性化するようで、このJ28に自分のJTAGケーブルをつなぐことができるようになるようです。とくにジャンパなどの設定は見当たりませんでした。

ナヒテック製USB2.0-JTAG(開発中のもの)をつなぐ
J28に、開発中の新しいJTAGケーブルをつないでみました。TCKを16MHzにしてみると動きません。変だなと思ってTCKを8MHzや10MHzに下げるとOKです。12MHzでNGでした。ちゃんと作られた基板なら、JTAGでTCK=16MHzくらいは通るのに・・
ちなみに、基板上に作りこまれたPlatform USB JTAG Cableは6MHzで動作しているようです。

Spartan3E Starter Kit上のTCKの配線パターンを追ってみると、その配線は長く、パターンの引き回しもJTAGのデリケートさを全く考慮していません。これじゃ10MHz以上は厳しいでしょうが、CoolRunnerIIAのJTAGが10MHzまでしか対応していないのがTCK速度を上げられない最大の理由でしょう。

8MHzくらいに設定してMITOUJTAGでバウンダリスキャンをしてみると、ちゃんとピンの状態が見えました。
ちょっと驚いたのは、CoolRunnerIIじゃなくてCoolRunnerIIAなんですね。
Spartan3E Starter Kit JTAG Boundary scan

ここにあるサンプル回路の各種Bitファイルも書き込んでみました。LEDチカチカやLCDチカチカなど、派手に動くものはないようです。

MITOUJTAGのJTAGロジックアナライザを使うと、波形が見えます。Chip●copeは使うためにコンパイルをしなければなりませんが、MITOUJTAGはコンパイル不要。CPLDにだって使えます。
JTAGロジックアナライザ
上の波形は、ロータリーエンコーダのサンプルを動作させたときの波形です。


Starter KitのIntel Flash ROMは、XC3S500EをJTAGバウンダリスキャンで操作することで、JTAGを通じて読み書きすることができます。
MITOUJTAGから行うには、フラッシュROMライタを起動して、ピン定義ファイル「s3ekit.jfc」を読み込んでください。
「s3ekit.jfc」をダウンロード

下の図のように、フラッシュROMに書き込まれたFPGA起動用のデータを読み出すことができます。
Sp3ekit5

また、フラッシュROMのCFIコードを読み込んで、セクタ構成もみえます。
フラッシュROMの書き換えは、明日、試してみることにします。


|

« 秋葉原に事務所をオープン | トップページ | トラ技掲載 »

コメント

コメントを書く



(ウェブ上には掲載しません)




« 秋葉原に事務所をオープン | トップページ | トラ技掲載 »