言語ゲーム

とあるエンジニアが嘘ばかり書く日記

Twitter: @propella

rekonstrukt: Spartan-3A + forth で遊ぶ

rekonstrukt というのは FPGA のシリアル端子を使って forth を走らせようと言うプロジェクトです。派手な物では無いですが、私のような初心者にはツールの使い方に慣れるのにちょうど良いプロジェクトなので挑戦してみました。

必要な物

ビルドの仕方

私は Mac から VMWareWindows を使って作業しています。Windows には FPGA に必要な物だけがあって、subversion などのツールは Mac からファイル共有で繋いで使っています。

forth の面白いのは、メタサーキュラーと言って、forth 言語のコンパイラが forth 言語自身で書かれている事です。という事で最初は鶏卵問題が発生するので、ここでは既に出来上がった gforth を使います。あと完成したバイナリから vhd ファイルを作るのに perl がいります。

$ svn checkout http://rekonstrukt.googlecode.com/svn/trunk/ rekonstrukt
$ cd rekonstrukt/maisforth
$ make an601.vhd

あとは rekonstrukt/ise-s3a/rekonstrukt.ise を開いてビルドするだけです。
an601.vhd の場所を聞かれたら先ほど作った場所を指定します。

接続

シリアル端子を使って Spartan-3A にアクセスします。私は minicom を使い、57600 bps 8N1 という設定で接続しました。Spartan-3E でやるときは 19200 bps, 8n1 で繋ぐみたいです。