秋月C基板でスパルタン2 のページ見ていたら、基板だけじゃなくて、部品も分けてくれるらしい。 気になる値段は、XC2S50 付きで 15000 円ぐらい。XCS30 付きで 12000 円ぐらい。
それぐらいなら、買えるかもしれない。
それはともかく、スパルタンII とは、そして開発キットはどのようなもので 私の手におえるのだろうか?
まずは、学生時代に設計した 簡単なCPU を再現してみて、考えてみよう。
WebPACK_ICEの使い方 という 紹介ページをみてみると、今は 開発用のソフト WebPACK ISE というのが あってただで手にはいるらしい。そして回路図エディタも使える。
VHDL なんて全然知らないからなぁ。
まずは、Arithmetic logic unit(ALU) の回路を入力してみる。
データシートの回路図そのままだから、時間はかかったものの 入力できた。
コンパイル?が通った。こいつから VHDL も生成されたっぽい。
これを2つつかって、アキュームレータを作らないといけない。 それも 回路図エディタで作りたいわけだが、どうするのか?
ファイルは、全部 Text ファイルみたい。いいねぇ。
8bit ALU を作ってみよう。
さて 74181 ができたので、2 つくっつけてみる。 それは簡単なのだが、問題がでた。他の部品は BUS を使っている。 bus を扱うのはどうしたらいいのか?
散々悩んだあげく、なんとかできた。
ROM はどうするの?
回路図エディタで ROM が 入力できるような気がしない。 VHDL でなんとかしないといけなさそう。
正弦波発信器というページで、 どうしたら良いかわかった。
でも このページの 6ビット用正弦波ジェネレータ のある、小容量の ROM でも 結構ロジックを使う。 どうも、ロジックで ROM を構成するやりかたのようだ。
Number of Slices: 225 out of 432 52%となってしまう。
じゃあ RAM で初期値付きにできると良いのかとか思って、 RAM の VHDL をさがしてみる...
似非VDP_バージョン履歴 というページの ram.vhd を拝借してテストしてみる。
RAM の初期値付きはダメだった。
とりあえず先に進むことにする。
CPU の回路のレイアウト
いちおう部品が揃ったので、レイアウトしてみる。
うーん。これベースに、CLOCK と 状態を入れていけばできてしまうのか? ほんとうかなぁ....
ちなみに、これができて動いたとしても、とてもまともな CPU とは言えない。 できるだけ簡単に作るという目的で作ったもので、ものすごくタコなのである。
とか...
-----
設計メモ
ほんとうに 実際に動かす必要があるんだろうか?
動作確認するのに、本物の RAM と ROM を付けるのはたいへんだから、 それも組み込んでしまう。... そうすると、シミュレータだけで 動作確認できて しまいそう。実際に デバイス買って動かすまでもないのか...
いやいや、動くところみたいし.... でもその先に 大規模 FPGA で なにかをしたいというものもないなぁ。
どうも 大規模 FPGA で 実現したいというものが思いつかない。
考えてみれば当然かもしれない。FPGA で作ることができる モノで有用なもの は、専用のチップになって世の中に出ている。世の中に出ていないもので 有用なものを設計できる能力があるなら ハードウェアのプロになっている。
だから、過去のものを再現するとか、実験してみる... そういった目的でしか 使えるような気がしない。
エレキットとか 電子ブロックの 21世紀版かつ大人用と割り切った方が よさそうだ。
そういう 大規模 FPGA にくらべて CPLD は便利なものみたい。 単価が安いし、 インターフェイスの部分に使うと配線が楽になったり、部品を減らせたりする。 そういう使いかただと、複雑な論理回路を扱うよりは、スイッチ的なもの が主体になるわけだ。
ただ、オリジナルななにかを作る場合
という技術は必要。私はどちらも 持ち合わせていない。
ハンダづけは、L-Router 復活のコンテキストで経験するよていだが、 いずれは、基板製作にも手を出してみたい。
基板製作は、EAGLE という CAD ソフト (Linux 版アリ、free の制限版もある) で作って ブルガリアの OLIMEX に発注するというのが、人気があるらしい。
このパターンで製作できるのが、100mm x 80mm の両面基板 (レジスト/シルク付き)。 2 週間ぐらいで届き 、コストは (送料込みで) $33 (US) ぐらいらしい。
参考:
EAGLE の練習をしてみた。題材は Flush ROM ボード。L-Router のソケットに あう大きさに分割できるようなモノを考えてみた。
簡単なアートワークぐらいはできるようになったが... これを 1 枚の 基板の 上にならべて配置して 切ってもらう .. ような指定をどうやってするんだろうか?
欲しいものとは、いまのところ。
かなぁ。
02/06/23
ちょっと、定規をつかって(= 精度が悪い) GBA , GBC の基板を計ってみる。
どんな感じになるか EAGLE で 書いてみた。
ちょっと部品をおいてみた。左は、48pin の Flush ROM 右は、64 pin の CPLD を想定。自作基板だけ入れ換えるという作戦だと Flush カセットを 作るのがせいいっぱいという感じ。
GBC のカセットは、GBA と同じように カセットに 切り欠きをいれれば、GBA 用のカセットになりそうだが、 この基板はどんな感じだろう。
おいてみた部品の 左上は、SD/MMC スロットのだいたいのサイズ。概ね 横 28mm x 縦 29mm 、(端子含まず)。
VQ64 のサイズの CPLD を想定して置いてみたが、GBA サイズでも 100 pin がはいる。
なんとなく、秋月 C 基板 と 208 pin の PQ208 パッケージを置いてみた。
うーん。でかいなぁ。208 pin の chip は、全結線なぞしなければ、 秋月 C 基板 に載るかも知れない。 ... 何をしたいかはっきりさせないと 載ったところで 意味なぞないが...
Xilinx の FPGA/CPLD の値段がどれぐらいのものか さっぱりわからなかった のだが http://www.plis.ru/price.html というページをみつけた。
このページ見てもよくわからないのだが... 相対的な値段は なんとなく ...
品名 price x200 他で手に入る値段の例 XC95144XL-10TQ144C 7.50 1500 1400円 XC9572XL-10PC44C 2.72 544 500円 XC9572XL-10TQ100C 3.44 688 700円 XC95144XL-5TQ100C 15.60 3120 --- XC95144XL-7TQ100C 10.40 2080 2000円 XC95144XL-10TQ100C 6.95 1390 --- XCR3064XL-10PC44C 3.60 720 770円
なるほど... -7 なんて付くのは、-10 より何割も高いわけだ。
それはともかく スパルタン II .. というのは どれぐらい?
品名 price x200 XC2S30-6VQ100C 11.55 2310 XC2S30-6TQ144C 13.30 2660 XC2S50-6TQ144C 14.75 2950 XC2S100-6TQ144C 20.25 4050 XC2S150-6PQ208C 24.85 4970 XC2S200-6PQ208C 30.20 6040
え? これぐらいの値段 なのか。そういえば、XC2S200 の コンフィグ用 ROM が やたら高く FPGA と同じぐらいするなんて既述を見たことがある。
XC2S200-6PQ208C がやたら欲しくなってきてしまった。 しかし これを手に入れたところで... どうにもならない。
このページで作ろうとしている CPU なんて、FPGA ならなんでもよさそうだし... とりあえずの目的もないぞ。
CPU は別として、いまのところ 妄想以外は思いつかない。
CPU だってまともなものは妄想だが... 妄想系としては