まずは作成していく回路から
Web上で電子回路をシミュレートすることができるサイトがありましたので、これを使って各回路の動作を確認していくところから始めました。
http://www.falstad.com/circuit/circuitjs.html
手動クロック回路
まずは手動でクロック信号を発生させる回路です。
スイッチのON/OFFに応じてクロックが出力されてますね。
コンデンサを間に入れることで、チャタリング(スイッチ操作時に発生する微細な振動によるON/OFFが繰り返される現象)を回避します。
発信回路(自動クロック回路)
次は自動でクロック信号を発生させる発信回路です。
本に書いてある回路を最初に見たときは、電源ないけどこれでなんで動くのか?という感じだったのですが、インバータが入っているICには5Vの入力がありますので、それで動くってことですね。
動かしてみるとはっきり分かりますが、こちらもコンデンサがポイントになっていて、充電⇒LowとHighが切り替わる⇒放電⇒LowとHighが切り替わる⇒充電⇒・・・ を繰り返す回路になるというのが面白いと思いました。
リセット回路
これは、ボタンを押したときにトリガーとなる信号が出るようにすればいいということなので、手動クロック回路とほぼ同じになります。
ですので、シミュレータの結果は省略しています。
手動クロック回路との違いは、出力が負論理になる(と設計している)ので、出力にインバータをさらに挟むだけです。
ROM回路
次はROMを構成する回路です。
TD4では、8bit × 16番地 = 128bit分の情報をDIPスイッチを使用して構築することになりますが、サンプルとして大きすぎるため、ここでは4bit分だけ再現したものです。
スイッチのON/OFFがそれぞれH/Lに対応し、それをbitの数分並べるだけのなんとも力業な回路だなーという印象です。
TD4ではこのスイッチを切り替える作業 = プログラミングになるわけです。
なんとなくパンチカードの時代を思わせる物理っぷりです。(なお、パンチカードを使ったことはないです。念のため。)
その他の回路
後はCPUのメイン部分の回路が残っていますが、ここら辺はICでブラックボックス化されている箇所が多く、シミュレータでの再現は難しそうです。
できるのは、命令デコーダの部分ぐらいですが、ここは真理値表通りにロジックICを並べるだけですし、面白みはないですね。)
というわけで、本記事は以上です。
次回は部品が届いてからの更新になると思います。