いろいろな下調べから Altera の Cyclone II にすることにした。Quartus II をインストールして 1chip MSX のソースをコンパイルしたり、 opencores.org にあった 68000 コアをコンパイルしてみた。
ハードウェア記述言語のソースってこーなってるのかと感動した。そこでわかったことは下記。
- ターゲットのデバイスはスペックに応じて変更できる
- ソフトで言う関数の引数は、ハードウェアの端子になっており、その端子はトップモジュールから外部に出すことが出来る
- もちろんポインタなんてない
- VHDL/Verilog の2勢力があって、自分が書く言語を決めたとしても、両方読める必要がある
68000 のコアはいくつかあって、どれもアドレスバスが A0-A31 まででているみたい。本物の 68000 は A1-A23 なのでここからも拡張できるみたい(68EC000 には A0 はある) 。68K って書いてあるから 68020 対応なのかも?
使用する logic element 数は 3000 程度。Z80 が 2200 程度なので結構いけるんだなと思ったら、動かせる clock が 68000 は 18MHz で Z80 は 60MHz だった。この clock が CPU clock かどうかは置いておいて、そこで違うらしい。