マツド・サイエンス研究所

FPGA 再入門

昨年から大量の半田付け作業が続いている。半田付け箇所が多いのは、ディスクリートで回路を組んでいるからだ。(ディスクリートとは、単機能の IC を組み合わせてデジタル回路を作ること)

パワー制御部やアナログ部分はともかく、デジタル部は FPGA にすれば良いのに・・と友人に指摘を受けた。

FPGA とか CPLD や PLD を知っているだろうか?

IC とか LSI と言った集積回路の中身を自由に作り替える事のできる部品だ。中に入れる回路を規模が小さいものを PLD、中規模のものを CPLD、大規模のものを FPGA だと思ってもらうとイメージしやすいだろう。

(正確には FPGA と CPLD と PLD の違いは回路規模では無く、内部構造の違いである。しかし、ユーザーから見るとコンパイラが対応してくれるので、回路規模しか違いが見えない。CPU の CISC と RISC みたいな違い)

現在、半田付け作業は一段落付いているが、また、再開するかもしれない。今の間に FPGA を使えるようにしておこうと思い、試してみた。

以前は、Windows 98SE 上に FPGA 開発環境を構築していたのだが、いまさら 98SE でもあるまい。私が個人的に良く使う FPGA デバイス・メーカーである XILINX のサイトを見ると最新版は Linux にも対応していると言う。

対応 Linux は RedHat だが、Debian でも使えるようだ。早速、試すと意外と簡単に Debian Linux etch にインストールできた。昔作った FPGA ライター用ケーブルを接続すると簡単に FPGA (正確には CPLD)に書き込めた。

FPGA や CPLD を使うのも 5〜6年ぶりなので、世間の情勢が判らなくなっているので、ちょっと調べてみた。以前なら入手が難しかった CPLD も秋葉原の秋月や千石で数百円程度から買えるようになっている。

「デバイスの値段が安くなったとは言え、品揃えは昔と、そう変わらないなあ・・」と思って居たら、とんでもない勘違いだと気付いた。なんと千石で20万ゲートの FPGA が数千円で売っている。こんなものが数千円で手に入るとは・・・

こう言うことに詳しい友人に聞いたところ、ここ2・3年では、当たり前の事なんだそうだ。

うかうかしていると時代に取り残されるなあ。

5〜6年前にも10万ゲートを越える FPGA はあるにはあった。だが、何十万円もして、とてもアマチュアの手の出せるものでは無かった。それが、今では数千円で買えるほど、なっている。

一番手軽に数十万ゲート級の FPGA を試すのは雑誌の付録になっているものを使う事らしい。早速、去年のデザインウエーブを入手して試した。

雑誌付録の25万ゲートの FPGA に書き込むには自作のケーブルでは駄目で、既製品のケーブルを使わざるを得なかった。しかし、全て LINUX 上で開発環境がそろうとは頼もしい。

試しにオープンソースとして公開されている Z80 互換の CPU コア t80 を入て、シリアルポートに「Hello World」を出力するプログラムを走らせたら、ちゃんと動いた。

やはり、十万ゲートを越える FPGA は世界が違う。ワンチップ上に CPU とシリアルインターフェース、メモリーまで付けて、まだ半分しか使っていない。30年前に自作したコンピュータの何倍もの規模の回路が、この FPGA の上に乗りそうだ。

それどころか、ちょっと外部に回路を追加すれば、昔のパソコン PC-8001 くらい作れそうだ。

と、妄想しながら、ネット上を探索すると居る居る。PC-8001 に限らず、MSX とか X6800 とか、昔のパソコンを FPGA を使って再現している人が既にいっぱい居る。

誰でも考えることは同じかあ。

既に実行した人が居るんじゃ、今更やっても面白くない。何か別の事をやってみよう。

注意

ブログのコンテンツの内、「告知」など時期よって情報価値が無くなるのは除いてある。また、コンテンツに付いたコメントは書き込み者に著作権があるものと判断し、ここに持ってきていないので、コメントを見るときは、元々のブログコンテンツを参照してもらいたい。

その他、ブログ発表後、コメントなどの内容を反映するなど、内容を変更しているものもあるので、注意してほしい。