SuperSimpleController(その3) [OriginalCPU]
前回記事で構想中のオリジナルCPUのブロック図を書きましたが、回路などを検討すると何ヶ所が変更/修正が必要だったので再整理しています。
ALUの機能指定ビット数を3bitから4bitに増やして論理演算にも対応しました。その他、複数個所を変更しています。
M27C1024とGAL22V10のピンアサインは下図のように考えています(暫定版です)
ブレッドボードを3連結すれば組めそうな回路規模です。
GAL部分の設計はそれ程難しくはないのでサクッとできました。現時点でのPLDファイルは下記になります。
初めにリセット後の動作を検討しています。CPU内のコントロール部分は前々回記事で書いたSuperSimpleComtrollerの仕掛けを踏襲しているのでuCODEのROMの先頭に制御コード(制御信号の遷移データ)を書くことになります。
15個の制御信号の個々についてON/OFFを指定しながらROMに格納するデータを作成するにはどんな環境がいいだろうか? と考えた結果、マクロアセンブラのマクロ機能を使うことにしました。
uCODEと言っても言語的な要素があるわけではないので本来のマイクロコードとは違うのですがマシン語に近い生産性の悪さがありますw
下のリストは0000Hから始まるリセット処理(PCをゼロクリアし、0000H番地のコードをIRにフェッチする)とジャンプ命令(0C4H)に対応する作成中のコード例です。(マシン語の全体のコード体系はまだ考えていません^^;)
ジャンプ処理では、ジャンプ先の下位番地を一時的にR1レジスタに保存していますが、ALUのファンクション指定ができない・・という詰んだ状態になりましたw
リセット信号でGAL内のレジスタをクリアする方法も考えられますが、GALは既に全てのピンを使用済みなのでリセット入力できません^^;
ICを増やせば簡単なのですが、チップ数は最小限にしたいので、解決策としてIRW信号がアクティブな時はGALからALUへ渡す4bitの機能指定信号をフローティング状態にしてプルアップすることでALUからR1レジスタが出力されるようにしました。
ブレッドボードで仮組中ですが、まだまだ先は長そうです・・・・
[TOP] [ 前へ ] 連載記事 [ 次へ ]
ALUの機能指定ビット数を3bitから4bitに増やして論理演算にも対応しました。その他、複数個所を変更しています。
オリジナルCPU(Simple8Z)概要ブロック図 V0.02 |
★追記 2021/03/30 「回路図とパターン設計」の記事にアップデートしたブロック図を掲載しています。 |
M27C1024とGAL22V10のピンアサインは下図のように考えています(暫定版です)
ブレッドボードを3連結すれば組めそうな回路規模です。
ピンアサイン(暫定版) |
|
GAL部分の設計はそれ程難しくはないのでサクッとできました。現時点でのPLDファイルは下記になります。
Simple8Z GAL設計 |
|
初めにリセット後の動作を検討しています。CPU内のコントロール部分は前々回記事で書いたSuperSimpleComtrollerの仕掛けを踏襲しているのでuCODEのROMの先頭に制御コード(制御信号の遷移データ)を書くことになります。
15個の制御信号の個々についてON/OFFを指定しながらROMに格納するデータを作成するにはどんな環境がいいだろうか? と考えた結果、マクロアセンブラのマクロ機能を使うことにしました。
uCODEと言っても言語的な要素があるわけではないので本来のマイクロコードとは違うのですがマシン語に近い生産性の悪さがありますw
下のリストは0000Hから始まるリセット処理(PCをゼロクリアし、0000H番地のコードをIRにフェッチする)とジャンプ命令(0C4H)に対応する作成中のコード例です。(マシン語の全体のコード体系はまだ考えていません^^;)
ジャンプ処理では、ジャンプ先の下位番地を一時的にR1レジスタに保存していますが、ALUのファンクション指定ができない・・という詰んだ状態になりましたw
リセット信号でGAL内のレジスタをクリアする方法も考えられますが、GALは既に全てのピンを使用済みなのでリセット入力できません^^;
ICを増やせば簡単なのですが、チップ数は最小限にしたいので、解決策としてIRW信号がアクティブな時はGALからALUへ渡す4bitの機能指定信号をフローティング状態にしてプルアップすることでALUからR1レジスタが出力されるようにしました。
ブレッドボードで仮組中ですが、まだまだ先は長そうです・・・・
Simple8Z uCODE sample in development |
|
[TOP] [ 前へ ] 連載記事 [ 次へ ]