« 雑誌付録のFPGA基板入手 | トップページ | Mega128のSDカード付き基板 »

2008年9月 9日 (火)

FPGAでLEDピコピコ

FPGAの部品は揃った(7/14/08)
 仕事の帰り、例によって秋葉原に寄る。今日はPCのメモリ増設を頼まれたと言う知人と一緒だ。メモリはウェブで確かめて一番安い店に行った筈なのだが、¥1000ほど高かった。連れが店をはしごすることの嫌いな人なので即決で買ってしまう。このあと千石電商にまわり、¥1000余りのFPGAのROMを手に入れ、秋月で山勘でサイズの一致する表面実装のクリスタルを買う。雑誌の推奨品ではないが、まあ4個で¥300なのでだめもとである。その他JTAGライター用のICとかコンデンサーとか細々買い込む。連れの人はこういうところ初めてということで興味津々な様子だったので、結構長居をした。

 メモリ交換を手伝って欲しいといわれPCのある知人の友人の事務所にタクシーで向かう。メモリ交換は造作もなかったが動作確認で電源を入れたら最初、全く画面が出ずちょっと青ざめる。専門家という触れ込みなので余り慌てるわけにはいかない。落ち着いて周りを調べ始めるとディスプレイの分岐装置が見つかった。キーボードか何かの信号で画面を切り替えている。

 これが原因に違いないと、分岐装置からケーブルをはずし、直接PCにディスプレイに接続したら、無事BIOS画面が出た。BIOS画面ではディスプレイの切り替えはやってくれない。メモリを換えたくらいで先に行かないというのも気の利かない設計だが、文句を言う相手はいない。ついでにアンチウィルスソフトのバージョンアップも頼まれた。Windowsのソフトのメンテは出来るならパスしたいのだけれど行きかがり上いやとは言えない。

 こいつも少してこずった。新バージョンのインストールは、旧バージョンの管理下でないと出来ない仕組みで、インストールの準備が終わり、新バージョンを立ち上げようとすると、「旧バージョンをアンインストールしないと駄目」というので旧バージョンを消すと新バージョンを立ち上げる手順が見つからないという矛盾した手順で頭を抱える。

 マニュアルはない。オンラインマニュアルは旧バージョンが動いている時でないと見えない。仕方がないので、PCの中のこの会社の製品のフォルダを調べてみたら何か数字だけの名前のフォルダが見つかり中にsetup.exeがある。何だこれを動かせば良いのか。だめもとで動かしたら正しくこれがインストーラーで新しいバージョンがインストールされた。それならそれでオンラインマニュアルに手順を書いておかないと混乱するばかりである。

 いや気分が良い。とりあえず2つが一気に解決した。知人も大喜びで近くのそばやで是非ご馳走させてくれと言うのでジョッキで乾杯した。ほろ酔い気分で帰宅し、早速買ってきた部品を確認する。今日で作業が開始できる程度に部品はみな揃った。山勘で買ったクリスタルは正しく推奨品とサイズも機能もぴったりの同等品だった。ウェブの通信販売では¥300以上していたやつである。それにしても秋月は安い。1個¥75。もちろん動かしてみないと安心は出来ないが、今日は快調、快調の一日であった。実装はさすがに酔っているので今日はやめる。0.65ミリピッチの半田付けは無理だ。

FPGAの基板が動いた(7/18/08)
 雑誌の付録のFPGA基板に取り組んでほぼ1週間、実装とテスト3日間、やっとのことでFPGAが動作することが確認された。いや動いたというだけでまだFPGAらしいことは何もない。ただLEDが点滅するだけだが、千里の道も一歩からという。動いたと言うだけで感激である。基板付録を手に入れてから10日、他にやることが多いのだが、情報を収集し、部品を買い揃えて準備を進めてきた。

 同じハードの世界でも、AVRとは全く違う世界である。ちょうど去年の秋、AVRを始めたときと全く同じ状況で右も左もわからない。使われている言葉自体が理解できない、まるきり手探りの世界である。 それでもこのあいだWebで見つけた情報でいつも行く千石で純正ROM(XCF02SVO020C)を入手してある。付録基板にパターンが用意されているし、FPGAはCPLDなどと違ってROMがないと独立して動かない。必須の部品である。

 これが純正にしては破格の安さ、2メガビットで\1120である。フラッシュメモリは安くなっているとは言え、純正とつけば普通、汎用品の10倍や20倍、1万円くらいしてもおかしくない。これを基板に半田付けする作業と、パラレルのコンフィギュレーションケーブルを自作する工程が残っている。ケーブルインターフェースは雑誌が薦めるように基板に作らず、汎用性を考えて、5×3×3センチの小さなボックスに組み込む。以前、USB-SPIブリッジを作ったときに途中まで作って小さすぎて使わなかったケースが都合よく役に立った。Xlinx

 純正のUSBインタフェースケーブルは3 万円もするが、我が家のPCには幸いパラレルインタフェースが出ているので、このインタフェースに新たにかかった費用は、面実装のIC(74LCX244)が\140、変換基板が\130あわせて\270である。パラレルケーブルは倉庫の棚に山のように眠っていたSCSIやシリアルケーブルの活用で実に地球に優しい。今は殆ど使わないインクジェットプリンターのパラレルケーブルをはずして中継ケーブルをはさみ、電子工作の机のスペースで切り替えられるようにする。

 何回目かの0.65ミリピッチの半田付けも順調に進み、ケースの工作もドリルスタンドのおかげで正確にしかも素早く済んだ。いややっぱり道具には金をかけるものだ。仕上がりが違う。ハードの工作と半田付けはレベルシフターのICだけなので半日作業で終わった。

 これでいよいよFPGAにプログラム(というのか)をPCから送り込む作業にとりかかれる。FPGAのメーカー(Xilinx)から無料の開発環境をダウンロードする。CDにもあるが折角だから最新版を手に入れた。こいつは量としては大きくないのにインストールにえらい時間がかかり、出来上がったソフトもやたらに大きい。最初、Cディスクに入れたら、容量不足で止まってしまった。10G以上空いていたはずなのだが。Fpga

 今回は動作確認が目的なので、中身のソースは雑誌の付録をそのまま借用する。ソフトの世界なら"Hello World"、ハードではLEDピコピコというやつ、LEDが点滅するだけの簡単なロジックだ。わけのわからない単語が飛びかうなか、記事の言われるままいくつかのステップを経由してマイコンで言うバイナリファイルが出来た。ここからが正念場である。インタフェースケーブルがうまく動くかどうかは、ここまででまだ確認できない。雑誌のガイドはコンフィギュレーションROMのない基板での想定なので一抹の不安がよぎるが、指示通りファーム(バイナリの)の書き込みのボタンを押す。

 懸念通り、「書き込めない}という真っ赤なエラーメッセージが出て先に進まない。さて、これからが問題である。自作のときはハードの問題が大部分だが、これだけ手順が複雑だけに手順そのものの問題もある。何度目かの導通チェックと配線をチェックする。ハードはもうこれ以上調べるところがない。手順の可能性が強いと見て、沢山あるウィンドウのあちこちをいじるが知らない単語ばかりで何をやっているのか見当がつかない。Webの情報どおり、このiMPACTというローダーは難解で一筋縄では行かない。特に雑誌の説明ではROMがない状態で直接JTAGインタフェースで書き込んでいるが、こちらの基板にはROMがついている。不安がよぎるが何処にもそのへんのところは書いていない。

 メッセージログを見る限りでは、ケーブルの認識はどうもやっているようだ。しかし確証はない。念のため、レベルシフタICの電源を指定どおり3.3Vにしてみるが(この基板のJTAGのVccは何故か2.5Vなのに配線図では3.3Vを要求している)、変化はない。もう午前2時を過ぎている。困ったときのWeb頼み、これでわからなければ寝ようと、「FPGA」「コンフィギュレーションROM」「動かない」などのキーワードで調べると、私と全く同じ状況の人がいたのである。この人は、わからなくて1年以上放ってあったそうで、人から聞いて書き込みに成功したとある。いやWebは本当にありがたい。この記事を読んで目から鱗が落ちる。

 最初は、直接FPGAに書くのだから、ROMがあってもなくても同じだと思っていたが、思ったとおりそうではないことがわかる。やっぱりね。ROMがついていたら別のやりかたでないと書き込みのときに邪魔をするようだ。言われるとおりにROMにbypassの指示を与え、プログラム(書き込み)する。やった、今までの赤から進捗を示す画面に変わり、緑の成功メッセージが出る。やった、やった。基板のLEDが点滅を始める。

 今動いているロジックは単にクロックを分周してLEDを点滅させているだけだからFPGAにとってはゴミみたいな使い方だが、こうしてソースコードから書き込みまでの一通りのパスが出来たことは実に大きい。これで、がた老研究所もFPGA開発の仲間入りである。夢がふくらむ。さしあたってはCRTC(ディスプレイインタフェース)か。

|

« 雑誌付録のFPGA基板入手 | トップページ | Mega128のSDカード付き基板 »

電子工作」カテゴリの記事

FPGA」カテゴリの記事

コメント

コメントを書く



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


コメントは記事投稿者が公開するまで表示されません。



トラックバック


この記事へのトラックバック一覧です: FPGAでLEDピコピコ:

« 雑誌付録のFPGA基板入手 | トップページ | Mega128のSDカード付き基板 »