ぱたへね

はてなダイアリーはrustの色分けができないのでこっちに来た

FPGAでLispマシーン

小黒さんによる「Lispマシンを作ってみた」を見ました。なかなか遠くのイベントに参加できないので、録画で後から見れるようになっていると助かります。関係者の皆さんありがとうございました。

動画を見てもらえれば分かりますが、FPGAの上でLispコンパイラで作られたマイクロコードを実行するCPUを動かしています。CPUだけでなく、ペリフェラルやコンパイラも自作です。発表もわかりやすく、動画でも楽しさが伝わって来ました。その場で発表を聞いていたら、もっとテンション上がったと思います。

FPGAボードはスパルタン3Aのスタータキットです。スタータキットにSDカード、USBキーボードのI/Fが追加されています。DDRコントローラでは、私が昔書いたネタが役に立ったようで良かったです。速度に関しては、DDRのアクセスがボトルネックになっていそうですね。普通のDDRコントローラを作って、内蔵メモリでキャッシュメモリを構築すればかなり速くなりそうです。

ソースも公開されているので早速覗いてみました。DDRコントローラの初期化シーケンスをソースの下の方に書くのは処理がわかりやすくて良いですね。今まで「初期化は上から」でVerilogを書いていたので、目から鱗でした。
http://hg.koguro.net/spica/src/5b687890e7dd/memory_controller.v

Lispマシーンや、自作CPUに興味がある人にお勧めの動画です。