トランジスタでCPUをつくろう!
トランジスタで8080をつくってしまおうというまさにびっくり仰天、狂気のプロジェクトです!
☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆
見事にできましたら、もちろんTK−80モニタを乗せて、それからBASIC、CP/Mを走らせましょう!
☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆
[第180回]
●INC/DEC REGISTER(3)回路図と試作基板
また何日か間が空いてしまいました。
実はINC/DEC REGISTER回路で想定外の問題が発生してしまい、あれこれ試行錯誤をしながらその問題の解決策を考えておりました。
やっとなんとかクリアできたように思いますが、その確認のためにはまた基板を作り直さなければなりません。
なかなかに難儀なことです。
何がおきたかと言いますと。
試作基板もできて、パーツの実装も終わり、早速の動作テストでもインクリメントもデクリメントも問題なくクリアできました。
INC/DEC REGISTER回路はそれまでのカウンタ回路の動作に全く逆の動作、デクリメント動作が加わります。
そこのところがちょいと難しいところだったのですが、それも前回書きましたようにうまい方法を思いついたおかげで難なくクリアできそう、ということで試作基板を作ったのでした。
実はINC/DEC REGISTER回路は普通のカウンタ回路にデクリメントが加わっただけではなくて、そのほかにもデータのリード、ライトの機能も必要です。
そのためカウンタ回路にデクリメント回路を加えて、さらにリード、ライトのための回路も加わっています。
当然、リード、ライトについてもテストをして動作の確認をしなければなりません。
そこのところもちょいと心配なところでした。
上に書きましたように、試作基板に部品を実装して動作テストに入り、インクリメント、デクリメントは正常に機能することが確認できました。
次にレジスタのデータを読み出すリードのテストもクリアできました。
残るはレジスタにデータを書き込むライトのテストだけです。
そのライトテストで問題が発生しました。
書き込んだ直後に値が化けてしまいます。
何がおきているのかわかりません。
かなり異常な状態です。
いささか弱りました。
そのためここ数日試行錯誤をしていて、ホームページの更新どころではありませんでした。
上に書きましたようにやっとなんとか解決できたように思います。
しかしそれについては、もう少し確認のためのテストをしなければなりません。
テストの結果、うまくクリアできましたら、その時点で何が問題だったのか、それをどう解決したのかについて書くことにいたします。
ということで、その問題はしばらく置くことにしまして、回路の説明を進めることにします。
下はINC/DEC REGISTER回路の回路図です。
上に書きましたようにライトの回路には問題があります。
ライト回路は右下にあります(I/DregWR信号が入力されています)。
そのほかカウンタ回路にインクリメント/デクリメントのためのパルス入力回路やデータを読み出すための出力バッファ回路が加わっています。
INC/DEC REGSTERは8ビットです。
回路図の下部のDEC/INC回路(D/U_信号が入力されている回路)やリード回路(I/DregRD信号が入力されている回路)は、1回路だけですが、カウンタ回路はビットごとに必要です。
上の回路図の上半分くらいを占めているのが1ビット分のINC/DECカウンタ回路です。
同じ回路が8個あることになります。
ちょっと時間がありませんので、回路の動作についての説明は省略します。
前回の説明を参考にして、回路の動作について考えてみてください。
下は試作したプリント基板です。
基板のサイズは100mm×100mmです。
上で書きましたようにINC/DECレジスタは8ビットですがその全部はとてもそのサイズには収まりません。
上の基板にはその半分の4ビットの回路があります。
INC/DEC REGSTER回路はこの基板2枚で構成することになります。
部品を実装しました。
本日はここまでにします。
次回に続きます。
トランジスタでCPUをつくろう![第180回]
2019.11.23upload
前へ
次へ
ホームページトップへ戻る