基本ゲート回路

情報工学実験 I
実験テーマ : 基本ゲート回路
035740F : 根保光秀
グループ名
実験日
提出日
共同実験者
035726A
035728G
035734B
:
:
:
:
:
:
:
D
2004/05/24
2004/05/31
諏訪園 勇太
平良 文紀 レンソー
仲西 徳洋
1
実験の目的
• 基本ゲート回路と論理演算の基礎を習得する。
• 汎用ロジック IC の基本的な使い方について学ぶ。
2
実験方法
NAND ゲートを用い基本的なゲート回路を設計し、設計した回路を実
際に組み立てて動作するか確認する。
以下に実験に使用した器具のシリアルを示す。
表 1: 実験で使用した器具
器具名
シリアル番号
3
電源
B-E 227
汎用ロジック IC
4011B
実験結果
(1) NAND ゲートのみで NOT,AND,OR,NOR,XOR ゲートを設計せよ.
• Not 回路
A
F
A·A=A
• AND 回路
A
F
A·B =A·B
B
• OR 回路
A
F
A·B =A+B
B
• NOR 回路
A
F
A·B =A+B
B
• XOR 回路
= A·B+A·B
= A·B+A·B+A·A+B·B
A
= A · (A + B) + B · (A + B)
F
B
= A · (A + B) + B · (A + B)
= A · (A · B) · B · (A · B)
1
(2) (1) で設計した回路を NAND ゲート IC を用い実現し, 動作を確認せよ.
• NOT と AND
A
F
A
B
13
12
11
10
9
8
2
3
4
5
6
7 GND
F
Vcc 14
Vcc 14
1
13
12
11
10
9
8
2
3
4
5
6
7 GND
1
図 1: NOT を実際に組み立てた図
図 2: AND を実際に組み立てた図
• OR と NOR
B
A
Vcc 14
1
B
A
Vcc 14
13
12
11
10
9
8
2
3
4
5
6
7 GND
1
13
12
11
10
9
8
2
3
4
5
6
7 GND
F
F
図 3: OR を実際に組み立てた図
図 4: NOR を実際に組み立てた図
• XOR
B
A
Vcc 14
1
13
12
11
10
9
8
2
3
4
5
6
7 GND
F
上記の回路を実際に組み立てて動作を確認した所、正常に動作していた。
2
4
考察
(1) 2 変数の論理関数 16 種類を全て列挙し論理回路で表現せよ。
2変数の入力パターンが、”00”, ”01”, ”10”, ”11” の 4 種類あり、出
力がそれぞれ 0,1 の2パターンあるので、24 = 16 となるので 16
種類ある。以下に出力に関する関数を示す。
表 2: 2 変数の論理関数一覧
出力
出力結果
論理関数
f0
0000
0
f1
0001
A·B
f2
0010
A·B
f3
0011
A
f4
0100
A·B
f5
0101
B
f6
0110
A·B+A·B
f7
0111
A+B
f8
1000
A+B
f9
1001
A·B+A·B
f10
1010
B
f11
1011
A+B
f12
1100
A
f13
1101
A·B
f14
1110
A·B
f15
1111
1
(2) NAND 回路以外のゲート回路で 1 種類 NOT,AND,OR,NAND,NOR,XOR
を設計せよ。
NAND 以外のゲート回路で他の回路を実現するには
• 2 入力回路である
• NOT を実現できる
• AND,OR を実現できる
上記の条件を満たさなければならないので、NOT,AND,OR,XOR
では設計できない。この条件を満たす回路は NOR だけなので NOR
を使って説明する。
表 3: 他の回路を表す条件
回路名
理由
NOT
1入力 1 出力なので表せない
AND
NOT を表現できない
OR
NOT を表現できない
XOR
AND , OR を表現できない
NOR
すべての条件を満たす
3
• NOT 回路
A
A+A=A
F
• AND 回路
A
F
A+B =A·B
B
• NAND 回路
A
F
A+B =A·B
B
• OR 回路
A
F
A+B =A+B
B
• XOR 回路
XOR
= A·B+A·B
= A·A+A·B+A·B+B·B
= A · (A + B) + B · (A + B)
= A · (A + B) + B · (A + B)
A
F
B
= A + (A + B) + B + (A + B)
= A + (A + B) + B + (A + B)
= A + (A + B) + B + (A + B)
(3) 2 種類のゲート回路で,NOT,AND,OR,NAND,NOR,XOR を 2 組以上示
せ。
• (not ,or)(and,not) を使った回路を示す。
• NOT 回路 (not 回路のみで表せる)
図 5: not 回路
• AND 回路
A
A
F
F
B
B
図 7: and
図 6: not + or
4
• NAND 回路
A
A
F
B
F
B
図 9: and + not
図 8: or + not
• OR 回路
A
A
F
F
B
B
図 11: and + not
図 10: or
• Nor 回路
A
A
F
F
B
B
図 13: and + not
図 12: or + not
• XOR 回路
A
A
F
F
B
B
図 14: or
図 15: and + not
(4) 半加算器および全加算器とはどのような回路か調査し説明せよ。
半加算器とは、1 ビットの 2 進数 A,B から加算結果 S と桁上げ C
を求める回路で下図のような組み合わせ回路である。
A
S
B
C
図 16: 半加算器
5
表 4: 半加算器の真理値表
A
B
S
C
0
0
0
0
0
1
1
0
1
0
1
0
1
1
0
1
全加算器とは下位ビットからの桁上げを考慮した加算器です。
S
A
B
HA
C
C
S
C
S
HA C
図 17: 全加算器
表 5: 全加算器の真理値表
A
B
C
S
C
0
0
0
0
0
0
0
1
1
0
0
1
0
1
0
0
1
1
0
1
1
0
0
1
0
1
0
1
0
1
1
1
0
0
1
1
1
1
1
1
このように、半加算器は下位からの桁上げを考えない加算器で、全加算
器は桁上げを考慮した加算器である事がわかる。実際に、n ビットの演
算を行う時は、最初に半加算器を置き、残りを全て全加算器にする事で
実現する事ができる。
6
(5) 本実験について考察せよ。
今回の課題のように、回路を設計する時に便利なのが、ブール代
数と呼ばれる論理演算である。
• ブール代数とは
”0” 、”1”の二値だけを使った論理演算の事で + を OR、· を
AND 、A を NOT に対応させて、回路を計算によって設計で
きる論理演算です。次の法則を使って回路を簡略化する事が
できる。
表 6: ブール代数の公式
例
公式
可換則
A·B =B·A
A+B =B+A
結合則
A · (B · A) = (A · B) · C
A + (B + C) = (A + B) + C
吸収則
A · (A + B) = A
A + (A · B) = A
分配則
A · (A + B) = A · B + A · C
A + (B · C) = (A + B) · (A + C)
相補則
A·A=0
A+A=1
二重否定則
A=A
A·A=A
A+A=A
べき等則
ド・モルガンの定理
A+B =A·B
A·B =A+B
上記の法則を組み合わせて、目的の回路を設計する事ができる。
• ブール代数を用いて実際の計算を以下に示す.
A · B + A · B を N AN D(A · B) のみで表す。
A·B+A·B
(1)
相補則を用い (1) 式に A · Aと B · B を加える。(0 は何回加えても 0)
A·A+A·B+A·B+A·B
(2)
(2) 式をそれぞれ A と B でくくる
A · (A + B) + B · (A + B)
(3)
(3) 式をド・モルガンの定理を用い + を · に変換するまた NAND の形にす
るために全体に NOT をかける
A · (A · B) + B · (A · B)
A · (A · B) · B · (A · B)
(4)
と (4) 式のように A · B + A · B を NAND のみで設計する事ができた。この
ようにブール代数を使うと回路の設計が楽になることが分かった。
参考文献
[1] 安藤 明之 : 一橋出版株式会社 : サクセスガイド ハードウェア
7