ズッキーニの味噌煮込みBlog版

コンピュータのこと、食べ物のこと、なんでもないこと、とんでもないこと。

広告

※このエリアは、60日間投稿が無い場合に表示されます。記事を投稿すると、表示されなくなります。

FPGAでFORTHマシンを楽しみながら作る(少し具体的な)方法

2016年05月04日 08時34分46秒 | FPGA

最終的な姿として描いているのは、1個のFPGAの中にコンパイラと実行時インタプリタとスタックマシンが収まったものだ。ソースコードは外部からシリアル通信などで持ち込む。

コンパイラを論理回路で構成するのは、どう考えても無理筋だ。不定長の文字列を処理するのでね。不可能とまでは言わないが、「登山道の入り口で頂上を見上げてそのまま帰ってくる」ことになるだろう。

そこで、Alteraが用意してくれているNiosⅡというCPUコアを使うつもりだ。これはFPGAの中に実装される汎用のCPUで、これを動かすソフトウェアはC言語で書ける。FORTHの特徴のひとつである実行時インタプリタも、こいつ(NiosⅡ + C言語)で書いてしまおう。少なくとも初期段階では。

そして実行時インタプリタを支えるデータスタック、パラメータスタック、それらを操作するプリミティブなワード群は論理回路で構築する。全体をひとつのCPUと見立てると、これがマイクロコードみたいなものかも知れない。ちょっと違うかも知れない。どっちだよ。

こんなふうに分けたのは、まだFPGAを自在に操ることができないし実力のほども把握していないからだ。だから無理をしない。現時点でできそうだと当たりを付けたことをまずやってみる。そのうちだんだんとFPGAというものがわかってくるだろうから(もともとそのために始めたんだぞ。忘れるなよ> アタシ)、この役割分担は変えていってもいい。

------- *

FORTHコンパイラは何度か書いたが、このところはとんとご無沙汰。感覚を取り戻すためにArduinoの上で動くTinyFORTHを書いている。ディクショナリの構造を試してみるのに役立ちそうだと思っている。FPGA側にスタックマシンだけでも実装できれば、このTinyFORTHからそれを呼び出してみることができると思う。

FORTHという言語を知らない人には、何が何だかさっぱりな話だと思う。もともと説明のために書いているのではなく、自分自身の備忘録のつもりなのでお許しを。わからなければさっさと諦めていただくのがお互いの身のためだ。なんなんだよと、我ながら笑ってしまう。^^;

FPGAの方はCQ出版のムックに付いていた基板に、取り寄せた部品を実装し終えたところ。一応の動作確認は済ませており、開発環境一式はインストールした。MacOSだといいのに、こういうものはとにかくWindowsだ。フォントが汚くて(一体どういう工夫をすればフォントをこんなに汚く描画できるのだ)目に良くない。

ブツブツ文句を言いながら、連休はあと残り5日ほど。本も読みたいので、時間配分を考えなくちゃ。充実した5月の連休だ。

コメント   この記事についてブログを書く
« FPGAでFORTHマシンを楽しみな... | トップ | FPGA三昧の連休が終わる(ち... »
最近の画像もっと見る

コメントを投稿

FPGA」カテゴリの最新記事