2019.12.3
前へ
次へ
ホームページトップへ戻る

トランジスタでCPUをつくろう!
トランジスタで8080をつくってしまおうというまさにびっくり仰天、狂気のプロジェクトです!
☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆
見事にできましたら、もちろんTK−80モニタを乗せて、それからBASIC、CP/Mを走らせましょう!
☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆


[第182回]



●INC/DEC REGISTER(5)WRITE回路

また一週間も間が空いてしまいました。
毎日書こう書こうとは思っているのですが、なかなか思うに任せません。
とうとう師走になってしまいました。
今年も残りあとわずかです。
がんばりましょう。

INC/DEC REGISTER回路のデータWRITEで問題が発生したことについては[第180回]で書きました。
その後に何がおきているのか、どこがいけないのかを追求した結果、トラブルの原因がわかったように思います。
原因は2つありました。
これからその原因について説明をしていきますが、原因がわかればそのための対策も立てられるはずで、ちょいと悩みましたけれど、今までの回路に変更を加えた結果、どうやら今のところうまく動作しているようです。
まずは変更を加えた回路図を見ていただきながら説明をしていくことにします。
変更前の回路図は[第180回]でお見せしましたが、回路図に手を加えた結果、もとのままではちょっとわかりにくくなりましたので、WRITE、READなどのコントロール信号部分の回路と、カウンタ本体の回路の2つに分けました。

コントロール信号回路です。

右下がWRITE信号回路です。
トランジスタのb整理してつけ直しました。
もとの回路にT15を追加してあります。
I/DregWR信号の入力時にアクティブになります。
その上がREAD信号回路です。
I/DregRD信号の入力時にアクティブになります。
その左にあるのがINC/DEC切換信号回路です。
D/U_信号の入力によってカウントアップかカウントダウンかのいずれかの状態を決定します。
いずれの信号回路もカウンタ本体回路に付加したゲート回路をアクティブ/非アクティブにするためにトランジスタのエミッタに加える電源ラインをON/OFFします。

そしてこちらがカウンタ回路です。

[第180回]でお見せしたプリント基板は4ビットのカウンタ回路でした。
上の回路図は1ビット分のカウンタ回路です。
破線で囲った@ABのグループは基板上での縦の列を示しています。
3列で1ビットのカウンタを構成しています。
[第180回]のプリント基板は上下に分割してそれぞれの4列で1ビットのカウンタを構成しています。
今回はもとの回路に手を加えたため、トランジスタが増えてしまいました。
そのため1ビットの回路を上下を通して縦3列にして、1枚の基板には少し変則的ですが3ビット分のカウンタを載せるようにしました。
もう何回目かの基板の作り直しです。
現在作り直した基板が出来てくるのを待っているところです。

さて。
簡単に回路の説明です。
もともとのデータラッチ回路(フリップフロップ回路)はBのT1、T2、T3、T4です。
一見するとふつうのフリップフロップ回路のようですが、T1、T2のベースにH、Lの信号を加えるとそのどちらにも反応してしまいます。
それではフリップフロップになりません。
実は一般的なトランジスタのフリップフロップ回路ではベースに幅の狭いパルスを与えることで状態を固定するようです。
しかしそれではそのパルス分の遅延が生じてしまうので面白くありません。
そこでこの回路では前段にゲート回路(AのT3、T4)を置いて、入力クロックがHの間データをベースに与え、Lになったらゲートを閉じることでフリップフロップの働きをさせています。
レジスタの場合にはそれだけでよかったのですが、カウンタの動作をさせるためには1クロック前のQ_を入力に与える必要があります。
そこで1クロック前のQ_をラッチするためにもう1段フリップフロップを追加しました。
BのT7、T8、T9、T10です。
こちらもそのままでは値の維持ができません。
そこで上側の回路と同様に前段にゲートを置いて(AのT5、T6)、こちらは上の回路とは逆にクロックがLの間は入力を開放し、クロックがHになったらゲートを閉じて、値をラッチするようにしました。
そこまでがインクリメントカウンタの回路です。
そこにさらにデクリメントの機能を付加するために、AのT3、T4、T5、T6のゲートの動作を決めるクロックのロジックを反転して与えることができるようにしました。
それが@の回路です。

説明が長くなってしまいました。
肝心のWRITEについての説明に入れませんでしたが、今回はここまでにします。
続きは次回にすることにします。

トランジスタでCPUをつくろう![第182回]
2019.12.3upload

前へ
次へ
ホームページトップへ戻る