RETROF-2017(仮称)の全回路図

本回路図は2017年9月現在、筆者個人で製作中のコンピュータの回路図です。
また本機の正式名称は完成後に命名予定のため、RETROF-2017は現状「仮称」扱いです。

RETROF-2017の回路図は2枚組

RETROF-2017の回路図は2枚組です。フリーソフトであるKiCadで作図しました。
1枚目は機械語命令の解析部と、その結果から各素子への制御信号を発生させる回路です。
2枚目はメモリとレジスタ群、および液晶ディスプレイ(SXGA)への表示回路です。

 

【RETROF-2017の全回路図】 クリックで拡大します(PDFに対応したブラウザが必要です)。

SCM1  SCM2

RETROF-2017の全回路図の変更記録

REV 日付 概要
前史1 2016-03-01 旧作RETROF-16Mを凌ぐTTL式コンピュータの新作作成を決意
前史2   : この間、様々な設計原案を作成するがイマイチ納得できぬ物ばかり
前史3 2016-10-22 やっと基本コンセプトがまとまり全回路図を書き始める
01.00 2017-01-10 全回路図の初稿をKicadで書き上げる
01.01 2017-01-12 電源投入確認LEDの記載忘れを追加
01.02 2017-01-13 命令デコード用ダイオードマトリクスの配置を一部変更
01.03 2017-01-21 カラー画像出力用D/Aの抵抗を固定から半固定に変更
01.04 2017-01-24 基板設計用に「ジャンパー線記号」と「パスコン」を追加
01.05 2017-01-31 リモート制御(USB制御)方式を一部変更
01.06 2017-02-04 基板レイアウトを簡単にするためにFT245のピンの割当てを一部変更
02.01 2017-03-15 基板レイアウトを簡単にするために74LS10を74LS08に変更
02.02 2017-03-23 VRAMのCS端子を常時アクティブに変更(バグ修正)
02.03 2017-03-31 基板レイアウトを簡単にするためにVRAMのアドレス線割り当てを変更
03.01 2017-05-01 主メモリをAS6C1008からHM628128に変更
03.02 2017-05-05 分岐条件判定ビットを前作RETROF-16Mと同じになる様変更
03.03 2017-05-11 手動クロック(ステップ実行用)信号の論理が逆であったのを修正
03.04 2017-05-14 プログラム実行時のプログラムカウンタのゼロクリア方法を変更
03.05 2017-05-18 プログラム停止時の停止アドレスの表示方法を変更
1.01A 2017-05-22 基板アートワークの初版に対応した回路図
1.02A 2017-05-25 実行中(RUN)と停止(HALT)を区別するLEDの配線ミスを修正
1.03A 2017-05-26 U45の入力線の一部を入替。【これで基板を露光・エッチングした】
ここから先の回路変更は、作成した基板の銅箔部分のカット等の修正作業が生じる
2.01A 2017-07-20 U35の出力の誤配線を修正、R22,R23,R24を追加
2.02A 2017-07-28 U49Bがinverterを形成していなかった結線ミスを修正
2.03A 2017-07-30 D64を追加、プルアップ抵抗を2.0kに変更、そのたコメント等の修正
2.03B 2017-08-09 DMA期間中はメインクロックを停止し、U38の全出力も無効にした
2.04A 2017-08-16 RUNボタンを押しながらステップ動作可能に変更。R20を1KΩに変更
2.05A 2017-08-25 LD命令の直後にAND命令を実行するとHALTが発生するバグ
U29、U30を74LS541から74LS623に変更し、U36Aを不要にする
このU36Aを用いて演算コードデコーダ(U46)のゲート制御を変更
2.05B 2017-08-31 回路図上にブロックダイアグラムの略図を記載
2.06A 2017-09-18 リモートで主メモリが読めないバグ
FT245RLの出力ピンの割当てをWCKとPCKを共通にし、余った1bitをMOEに割り当てる
2.07A 2017-09-26 リモートでステップ実行ができないバグ
RUN信号(STEP信号を兼ねる)をU47を介さずにFT245から直接接続
2.07B 2017-09-28 1枚目右側の命令一覧表の記述ミスを修正
     

以下は回路設計以外の作業記録の仮置、後日別ページに移動予定

日付 概要
2017-06-01 アートワークの最終調整(200mm×150mm、KiCadにて作成)
2017-06-11 紫外線露光機を入手、テストパターンで最適露光時間を算出
2017-06-18 初回の露光とエッチング→周辺部に露光不足があり、一部パターンが短絡
2017-06-27 2回目の露光とエッチング→周辺部のみ露光時間を20秒延長し良好に仕上がる
2017-06-28 基板の穴あけを開始(部品用の穴が1674箇所、ジャンパー線用の穴が454箇所)
2017-07-09 穴あけ完了。nachiのドリルビット(0.7mmφ)を6本消費
2017-07-20 画像表示回路のハンダ付け完了
2017-07-24 入出力ポート、およびそこにつながるLEDトグルスイッチの実装を完了
2017-07-30 多目的レジスタの実装と、ステップ実行を除く制御SWの実装・試験を完了
2017-08-01 主メモリの実装・手動による書込試験を完了
2017-08-04 プログラムカウンタの実装・試験を完了
2017-08-12 命令レジスタの実装とNOP命令の正常動作を確認
2017-08-18 ALUとアキュムレータの実装を完了、100+200=300の計算に成功。
2017-08-25 加算以外の演算(ロード命令を含む)の正常動作を確認
特殊命令用の命令デコーダ(U41、U42)を実装、ストア命令の実行に成功
2017-08-31 各種演算、無条件分岐命令、条件付き分岐命令の動作試験を完了
2017-09-02 統合開発環境のコーディング(RETROF-16M用の旧作をC#に移植)を開始
2017-09-08 BAC+コンパイラに、アセンブラ言語の記述を可能にする機能の追加を開始
2017-09-28 リモート制御で、1から100までの和の計算をするアセンブラ記述の実行に成功

本回路図特有の特殊な表現

本回路図には本機特有の記号が多々存在します。以下はそれらの解説です。

ジャンパー端子記号

ジャンクション

左図の様にX**、Y**と書かれた丸印です。同じ番号のXとYが対となります。RETROF-2017は片面基板での実装のため、多数のジャンパー線を使います。どの結線がジャンパーに依存しているのかを明確にするために置く記号です。
回路図上では対となる丸印は結線されていませんが、実際にはジャンパー線で結線されることを意味します。また、主メモリのアドレス線はX,Y,Zで示す3点をジャンパー接続している箇所もあります。


ダイオードマトリクスのアノード結線

アノード接続点の省略

本回路図上での名称がDで始まるダイオードはアノード側の接続点(ジャンクションを示す小さな黒丸)を置いていません。
これらのダイオードのアノード側の接続は全て「空中配線」で行っており、この空中配線をCAD上で表現する良い方法が無かったためです。
これらのダイオードのアノードは回路図上も基板のレイアウト上も接続はされませんが、実際には以下の写真で示す様に空中で配線されます。


基板上のマトリクス空中配線の実例

この写真は姉妹機RETROF-16Hのもの。
青色の部品がダイオード(BAT43)でアノードが空中配線になっている。

RETRIF-2017も同様の実装方法となる予定。完成次第、本写真はRETRIF-2017のものと差し替えを予定。


ネジ穴

ネジあな

本機は基板上のネジ穴を「部品」として扱っているため、回路図上にそれに相当する記号が存在します。回路図的には意味のない記号ですので無視してOKです。基板上にネジ穴を置く正しい方法とは言えませんが、この方法のほうが簡単にネジ穴を置けるのでこうしてしまいました。


予備ランド

 予備ランド

これもネジ穴と同様、回路図的には意味のない記号です。
但しこちらはネジ穴ではなく、設計ミスなどで部品やジャンパー線を追加する必要が生じた場合の予備ランドです。
基板上の実際のパターンは下記を参照してください。


 (参考)ネジ穴と予備ランドの基板上の形状

ネジあなと予備ランド 左図はRETROF-2017の実際の基板パターンの一部です。
赤色の赤色の四角で囲んだ部分がネジ穴、青色の四角で囲んだ部分が予備ランドです。

ネジ穴はGNDラインに繋がる銅箔と接しますが、実際の実装はプラスチックネジを使用するので、ネジとの電気的接触はありません。