石原 博の覚書

電子工作に関する日々の覚書を記載します

PDP-8をCPLDで作る

2020-11-08 10:58:03 | 日記
omoikone CPLDP-8 version 3(http://www.gc-net.jp/omiokone/cpldp8/index.htm)を参考(というかデッドコピー

昔からCPUを作るのが夢でCPLDやFPGAを調べていたが、CPLDではレジスタがほとんど作れないため無理と諦めていた。しかし上記サイトでCPLDで作成出来る、しかもPDP-8ということで興味を持った。

verilogを見てもよくわからない。しかしたまたま以前購入していた、アルテラMAX II EPM240 CPLD開発ボード(amazonで1300円程度)があったため、それを流用しドーターボード形式で作れそう。

・回路はそのまま流用(デッドコピーです)
・ハンダ付けは大変なので、kicadでプリント基板を作成 

プリント基板はseed(https://www.fusionpcb.jp/login.html)で作成。10x10cm 10枚で$4.9(送料約$17 送料の方が高い)であるが、はんだ付けの手間を考えれば納得できる金額。

もともと開発ボードのクロックは50MHz。 必要なのは8MHzのクロック。CPLDなので内部で分周すればと思ったが、すでにセル数が限界。それにverilogの内容がよく理解出来ない。そこで開発ボードの裏に、別の発振子を接続。 RAMはIS62WV25616BLL(256Kx16 2.5V〜3.6V TSOPタイプ2 0.8mmピッチ)を使用


大変だった点
1作目
 ・開発ボードが、正常ではなかった
  (開発ボード初期に入っているPGによりLEDの点滅は確認出来るが、どう見てもショートしているピンがある)
  ピンのアサインを変えて対応 ->とりあえず動作

2作目
 ・発振子をドーターボード上に載せるべく、レイアウトを変更したがミス。また開発ボードの裏に半田づけ。
 ・開発ボードを同一業者から買ったが、ピンの配置が違う(ドーターボードがつながらない)
 ・今回購入した開発ボードも別のピンがショートしているような感じ->はんだ付けし直して正常化


とりあえず動いた。OSが動き、付属のソフトが動いている。頑張ってLEDをつけたが、あまり動作チェックの役には立たない。(ハードデバッグ時には役にたったけど)
この規模程度のCPUで、FORTRANやPASCALが動くことが信じられない。(まだZ80の方が高機能?) ただWeb上のさまざまな資料を見てもOS-8は良くわからないなあ。