ロード トップ 参照元 逆検索 検索 ヘルプ

[logo] 電子工作/CPUを設計してみよう


SuzTiki:電子工作

秋月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 を構成するやりかたのようだ。

じゃあ 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 というページをみつけた。

このページ見てもよくわからないのだが... 相対的な値段は なんとなく ...

なるほど... -7 なんて付くのは、-10 より何割も高いわけだ。

それはともかく スパルタン II .. というのは どれぐらい?

え? これぐらいの値段 なのか。そういえば、XC2S200 の コンフィグ用 ROM が やたら高く FPGA と同じぐらいするなんて既述を見たことがある。

XC2S200-6PQ208C がやたら欲しくなってきてしまった。 しかし これを手に入れたところで... どうにもならない。

このページで作ろうとしている CPU なんて、FPGA ならなんでもよさそうだし... とりあえずの目的もないぞ。

CPU は別として、いまのところ 妄想以外は思いつかない。

CPU だってまともなものは妄想だが... 妄想系としては


(最終更新 Thu Mar 30 19:01:37 2006)