2014年9月3日水曜日

FPGAトレーニングキットを購入

突然ですが FPGA トレーニングキットを買ってみました。

大学生時代は「ミドルウェアより下のレイヤには絶対手を出さないぞ」と思っていたのに、気付けば OS やら VMM のレイヤに取り憑かれ、就職して暫くまでは「ソフトウェアより下のレイヤには絶対に手を出さないぞ」と思っていたのに、気付けばドライバやらマイコンをいじりはじめ、と興味の対象が順番に低レイヤにおち続けている hasegaw です。今回はどうして FPGA 買っちゃったのかについてでもポロっと書いておこうかなと。

■ きっかけはまさかの Minecraft


ある日偶然ネット上でみかけたのが Minecraft 上でぷよぷよを実装しちゃったという動画でした。 Minecraft って全部正方形で構成されてる雑ゲーだと思ってたんですが、ここで Minecraft に対する認識を改め、 20 ドルほど出して Win/Mac の製品版ライセンスやら iOS 版のアプリやらを買い始めます。

解説動画もあったので見てみると、レッドストーン回路なるものがゲーム上に存在して、そこで論理回路が自在に組める仕組みになっているそうで(さすがに先の動画は素の Minecraft では厳しいようですが)。もちろん複雑なものを作るのは大変みたいですが、下手な”高レベルなブロック”を組み込むよりも、ゲーム上で論理回路を組めるようしておこうって発想はおもしろいですね。

■ 回路シミュレータで遊びはじめる


Minecraft で遊んでいたりもしたのですが、 iPad で使える数百円の回路シミュレータで遊んでいるうちにもっと大きな回路が書きたくなってきたりして、最初はブレッドボード上にでも組もうかと思ったのですが、回路が複雑になってくると配線引き回すのも大変なので結局 FPGA に移ることにしました。

■ FPGA トレーニングキットを購入

ハードウェアもロジックもまったくの素人ですが、今回買ってみたのは Digilent 社の Nexys 4 です。 ALTERA ベースだと DE0 などのボードが1万円前後で手にはいる?ようですが個人的には Xilinx ベースが良かったので、適当なボードを探していたら Digilent 社の Nexys 2/3 が入門向けとして良さそうでした。 Nexys 3 だと Spartan-6 が載っているということですが、これだと一世代古いチップになります。今は Nexys 4 という、 ARTIX-7 搭載モデルが出ていたのでコレにすることにしました。





まだド素人がボードを買っただけの状態ですけど、 Nexys 4 は前世代と比べると 7 セグやスイッチの数が倍増しています。また、購入前にいろいろ調べていると、 Nexys 3 だと 1080p のビデオ信号を出そうとすると性能が足りないっぽいので、どうせなら新しいモデルを買っておくことにしました。 Nexys 4 は Nexys 3 と比べて 4000〜5000 円ほどUPですが、 I/O が増えて FPGA クロックも高くなっていれば十分にその価値はあるんじゃないかと思います。

ついでに Nexys 4 だと別売の JTAG ケーブルを買ったり工作したりせずとも、 JTAG として使える Micro USB ポートがあります。つまりは手許の PC におもむろに USB 接続すると JTAG 接続状態になるわけです。 4000~5000 円の追加投資でここまで性能アップ&お手軽になるのなら全然アリですね。



Nexys 4 ピンポイントの情報源があまりなくて不安ですが、 Digilent のサイトからダウンロードできるマニュアルは丁寧(?)に書かれているので、ピンポイントな解説や書籍がなくてもいじれそうで安心しています。一点ひっかかるとしたら ARTIX-7 になると BGA パッケージしかないので、今後何か基板を製作しようと思ってもたぶん自分でパーツ実装できないという問題はありそうです。 FPGA パッケージひとつで1万円ぐらいするみたいだし。まあ、何か基板を製作するような事になったら、そのときは Spartan ベースでやるなりすればいいでしょう。



国内でも取り扱いがある代理店はいくつかあるようですが、結局 Digi-Key から買いました(本体価格 約31000円+諸経費にて合計38000円弱)。日本時間で金曜日の日中に注文したら、その夜にはミネソタから発送され、月曜日の日中にはヤマトが自宅まで配送してきてくれました。アメリカから通販したのって今回が初めてですが、72時間ぐらいで届いちゃうってすごいですね。

いままで経験がない分野なのでワクワクしてますが、果たしてどこまで遊べるか。。。。何かできたらまた書きたいと思います。

0 件のコメント:

コメントを投稿