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

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
0*↓↑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
00***D0D0
01**D1*D1
10*D2**D2
11D3***D3

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





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