posted by rerofumi
2009/5/18 月曜日 23:28:43
先日買ったマルツのFPGA学習ベースボードについているパラレルプログラマでうはうはのFPGA生活が送れているかというとさにあらず。この五日間コンフィギュレーションができなくて悪戦苦闘していた。
■ 第一の難関、増設パラレルポートの罠
Lattice の ispVM を起動してダウンロードケーブルを設定することから始まるのだけれども、自動認識に失敗しケーブルを発見することができない。
でまあ、パラレルポート設定の所に 0x0378 とか書いてあるのを見て気がつく。これは、マザーボードというかチップセット内蔵のパラレルポート時のI/Oアドレスだ。うちのは増設カードによるパラレルポートなのでI/Oアドレスが違うはず。
で、見てみたら 0xb400 だったのでこれを手動設定。
これでダウンロードケーブルが認識されて使える様になった。
■ 第二の難関、バウンダリスキャンできない
ところが次の段階であるバウンダリスキャンによるデバイス検出ができずエラーのみが帰ってくる状態に。さっぱりわからないので、超簡易プローブテスタを作成して、マルツボード上を信号が流れているか確認する。
大活躍の超簡易プローブテスタ。
みっちりと調査し、結構な時間をかけてわかったことは、JTAGの信号はちゃんとFPGAに届いていること。たぶん、TDOが受け取れずに 1 オンリーを検出している状態であること。
おまけに、調査しているときなんかの切っ掛けですぐ信号が出てこなくなる現象に遭遇。これに出会うとアプリを起動し直しなのだけれども、4回に1回とかの頻度で起こるのでちときつい。
ちなみに Xilinx モードにしたら Impact で普通にバウンダリスキャンできた(デバイスは不明な奴と表示される)。なのでマルツボードのせいでも、FPGA基板のせいでもなさそうである。
パラレルポートドライバと増設パラレルポートの関係な気がしてきて、やる気はがっつり減退。なにかに頼りたくなってくる。
頼りになる女神降臨(ひだりのほうね)。USBなかわいいアイツ。
まあ、Windows7 のときに「パラレルポート撤廃しようかなー」とかいっていた時はまだ迷いがありながらも検討していたと言うことで。
しかし……。
■ 第三の難関、USBケーブルでもバウンダリスキャンできない
流石にUSBケーブルでもコンフィグできなかった時は目の前まっくらになりましたよ。
今回のLattice基板(&雑誌)3つ買ってあったのだけれども、3つとも駄目ってどういうことよ。いったい何がどうなっているのよさ。
具体的にはパラレルポートの時とは違って、スキャンはできる。できるんだけれども、NO-JTAG という「不明なデバイス」扱いになってしまうという現象。
~~ 2日間の格闘を挟んで ~~
5日を費やしてようやく思い出した。そういや以前にもコンフィグできない問題ってあったよなと。
あれは2007年の Spaltan3E 基板の時。コンフィグできないという問題で一堂騒然。結局波形を揃える必要があるということで、うまくコンフィグできない人は244でバッファを作ってかますか、コンデンサを調整して波形を調整するということになっていたと思う。
その時につくった 74VHC244 なアダプタ。
これを基板とケーブルの間にかますと……。
ばっちりというかあっさりスキャンできるようになりましたよ。こんちくしょうめ。
もちろん、コンフィグもバッチリ。
これで Lattice FPGA基板で開発して遊ぶことができますよ。(目の端にキラリと光ものが)
たぶん、増設パラレルポートで上手くいかないみたいと言う問題と、バッファを噛ました方が良いという問題はそれぞれ別の事象。
私の場合はこうだったという情報までに。
6月 2nd, 2009 at 21:20:11
本来だったらISPアダプタから何もかまさずにターゲットへいくのが
普通と考えてしまうので、電気的特性の罠にかかると原因が解るまで
「なんてこった!」ってなりますよね。私だったら原因をググるまえに
「えらいこっちゃ~!」となってしまいそうです。
ところで話は変わりますが、LatticeのUSB接続ISPアダプタ(現行型)の
フライリードがアダプタ本体から取り外し出来そうに見えないのですが
コネクタが磨耗した(又はコネクタのばねが馬鹿になった)場合は
どうするのでしょうか。
それとも、そう見えるだけで取り替えられる構造なのでしょうか?
Latticeのプログラマブルロジックがチラチラと私の視界に入っているので
ちと気になります。
6月 6th, 2009 at 16:13:37
失敗談やノウハウはたくさん残していかないとね。
フライリードが固定というのはその通りです。疲労破損が怖いので箱の根本は丁寧に扱う必要がありそうです。
ターゲットに刺すコネクタ側はもう一段ソケットや今回の様なバッファアダプタを介して、そっちの方を抜き差しする usage になるんではないかと。ピンソケットの摩耗こわいです。
1月 19th, 2010 at 9:47:57
おお~ しっかり参考にさせていただいております。
役立つ情報、ノウハウ、すばらしいです!ありがとうございます。
1月 21st, 2010 at 1:07:17
そういえばバッファの作り方を詳しく教えてくれという人もおりました。
皆この基板で悪戦苦闘したんだねえ……。
1月 23rd, 2010 at 23:08:58
こちらの記事のおかげで、LatticeのFPGAボード+マルツパーツ館の拡張ボードの構成で動作させることができました。
自分もPCにプリンタポートがなく、拡張ボードつけて”増設パラレルポートの罠”にはまりましたが、どうにかボード上のLEDを点滅させるところまで行きました。ありがとうございました。