NORだけでZ80互換CPUをつくる 〜 基本回路 〜

カテゴリー: つくる
投稿日:
更新日:
書いた人: 山椒ねこまんま

回路設計する際に必要になりそうな基本回路をNORで構成してみました。

フリップフロップ

フリップフロップ回路

in1in2out/out
00out/out
0101
1010

データを保持するための回路です。 レジスタに使用します。

Dフリップフロップ

Dフリップフロップ回路

D/CLKQ/Q
0↓↑01
1↓↑10

フリップフロップだと発振してしまうため、CLOCK信号が落ちたときのDの値を取り入れるようにします。

Z80のクロック信号は負論理なので負論理で設計しています。

保持選択Dフリップフロップ

保持選択Dフリップフロップ回路

WD/CLKQ/Q
0X↓↑Q/Q
10↓↑01
11↓↑10

書き込みフラグがオフの時は値を保持し、オンの時のみD信号を取り入れます。

ハーフアダー

ハーフアダー回路

in1in2CS
0000
0101
1001
1110

加算回路に使用します。

フルアダー

フルアダー回路

in1in2CinCoutS
00000
00101
01001
01110
10001
10110
11010
11111

たくさん繋げると8bit加算回路が作れます。

デコーダ (2bit)

デコーダ回路

S1S0P3P2P1P0
000001
010010
100100
111000

命令の翻訳や基板間の接続で使用すると思います。

データセレクタ / マルチプレクサ (2bit)

データセレクタ回路

S1S0D3D2D1D0D
00XXXD0D0
01XXD1XD1
10XD2XXD2
11D3XXXD3

ALUとレジスタからの出力の選択に使用します。





アプリなどを作ったりしています! よかったらみていってください→ つくったもの
今のイチオシ↓