39
DATE : 2. ブブブブブ ブ ブブブブブ ブブ ブブ ブブブブブブブ

2. ブール代数 と 論理ゲート

Embed Size (px)

DESCRIPTION

2. ブール代数 と 論理ゲート. 五島 正裕. 今日の内容. 本論 論理ゲート ブール 代数 論理 関数 論理関数 の完全性 「すべての論理回路は, AND , OR , NOT の組み合わせでできる」 今日のまとめ. 論理ゲート. 論理ゲート. NOT. AND. OR. (論理否定). (論理積). (論理和). MIL 記号 MIL symbol. a. a. z. z. a. z. b. b. 論理式 logic expression. z = a ∙ b. z = a’. - PowerPoint PPT Presentation

Citation preview

Page 1: 2.   ブール代数  と  論理ゲート

ディジタル回路

DATE :

2. ブール代数 と 論理ゲート

五島 正裕

Page 2: 2.   ブール代数  と  論理ゲート

ディジタル回路

2

今日の内容

1. 本論

1. 論理ゲート

2. ブール代数

3. 論理関数

4. 論理関数の完全性

「すべての論理回路は, AND , OR , NOT の組み合わせでできる」

2. 今日のまとめ

Page 3: 2.   ブール代数  と  論理ゲート

ディジタル回路

3

論理ゲート

Page 4: 2.   ブール代数  と  論理ゲート

ディジタル回路

論理ゲート

a b z

0 0 0

0 1 0

1 0 0

1 1 1

a z

0 1

1 0

a

bz

a

bz a z

z = a∙b z = a’

z = a

AND OR NOT

MIL 記号

MIL symbol

論理式

logic expression

真理値表

truth table

(論理積) (論理和) (論理否定)

z = ¬ aa b z

0 0 0

0 1 1

1 0 1

1 1 1

z = a + b

Page 5: 2.   ブール代数  と  論理ゲート

ディジタル回路

論理ゲート

a

bz

a

bz a z

z = (a∙b)’ z = (a + b)’ z = a

NAND NOR buffer?

MIL 記号

MIL symbol

論理式

logic expression

真理値表

truth table

a b z

0 0 1

0 1 1

1 0 1

1 1 0

a b z

0 0 1

0 1 0

1 0 0

1 1 0

a z

0 0

1 1

Page 6: 2.   ブール代数  と  論理ゲート

ディジタル回路

論理ゲート

a

bz

a

bz

z = a

XOR (EOR) XNOR (EQ)

MIL 記号

MIL symbol

論理式

logic expression

真理値表

truth table

(排他的論理和)

b z = a b

a b z

0 0 0

0 1 1

1 0 1

1 1 0

a b z

0 0 1

0 1 0

1 0 0

1 1 1

Page 7: 2.   ブール代数  と  論理ゲート

ディジタル回路

7

余談 1/2

MIL 記号

MIL : 米国軍用規格( Military Standard )

JIS の論理記号もある(が,誰も使わない)

Page 8: 2.   ブール代数  と  論理ゲート

ディジタル回路

8

余談 2/2

OR と XOR

OR : (包含的)論理和 (inclusive-OR)

XOR :  排他的 論理和 (exclusive-OR)

日常の「または」は,どっち?

1 年以下の懲役 または 100 万円以下の罰金

x = 0, 1

英語の A and/or B

Page 9: 2.   ブール代数  と  論理ゲート

ディジタル回路

9

組み合わせ回路 (Combinational Circuit)

a

b

c

d

z

z = a∙b + c∙d

Page 10: 2.   ブール代数  と  論理ゲート

ディジタル回路

10

ブール代数

Page 11: 2.   ブール代数  と  論理ゲート

ディジタル回路

11

ブール代数

ブール代数 (Boolean Algebra)

George Bool

論理計算のために考案

Claude Shannon

論理回路に応用

Page 12: 2.   ブール代数  と  論理ゲート

ディジタル回路

ブール代数の公理

交換則

x ∙ y = y ∙ x

x + y = y + x

結合則

(x ∙ y) ∙ z = x ∙ (y ∙ z)

(x + y) + z = x + (y + z)

分配則

x ∙ (y + z) = x ∙ y + x ∙ z

x + y ∙ z = (x + y) ∙ (x + z)

単位元 1 が存在する

∀x, x∙1 = x

零元 0 が存在する

∀x, x + 0 = x

補元 x’ が存在する

∀x, x∙x’ = 0

∀x, x + x’ = 1

Page 13: 2.   ブール代数  と  論理ゲート

ディジタル回路

14

ブール代数の例 ― 論理演算

論理演算

単位元 : 1

零 元 : 0

論理積 : 0 ・ 0 = 0, 0 ・ 1 = 0, 1 ・ 0 = 0, 1 ・ 1 = 1

論理和 : 0 + 0 = 0, 0 + 1 = 1, 1 + 0 = 1, 1 + 1 = 1

補 元 : 0’ = 1, 1’ = 0

Page 14: 2.   ブール代数  と  論理ゲート

ディジタル回路

ブール代数の定理

対合則

(x’)’ = x

べき等則

x ∙ x = x

x + x = x

吸収則1

x ∙ (x + y) = x

x + (x ∙ y) = x

吸収則2

x ∙ (x’ + y) = x ∙ y

x + (x’ ∙ y) = x + y

ド・モルガンの定理

(x∙y)’ = x’ + y’

(x + y)’ = (x’)∙(y’)

Page 15: 2.   ブール代数  と  論理ゲート

ディジタル回路

ド・モルガンの法則

(x∙y)’ = x’ + y’

(x + y)’ = (x’)∙(y’)

ベン図

Page 16: 2.   ブール代数  と  論理ゲート

ディジタル回路

17

双対性 (Duality)

ブール代数の公理は「ペア」

“∙” (AND) ⇔ “ +” (OR) , “ 0” ⇔ “1” を入れ替えると入れ替わる

分配則:“+” も分配する

x ∙ (y + z) = (x ∙ y) + (x ∙ z)

x + (y ∙ z) = (x + y) ∙ (x + z)

双対とは,いわば,「対等」

Page 17: 2.   ブール代数  と  論理ゲート

ディジタル回路

18

論理関数

Page 18: 2.   ブール代数  と  論理ゲート

ディジタル回路

19

論理関数

f : (i1, i2, …, in) → o (i1, i2, …, in, o : ブール変数)

2 入力論理関数:先ほどの AND , OR 等

1 入力論理関数: NOT , BUF 等

真理値表 (truth table)

関数の定義

i1 i2 … in o

0 0 … 0 0/1

0 0 … 1 0/1

… … … … …

1 1 … 1 0/1

Page 19: 2.   ブール代数  と  論理ゲート

ディジタル回路

20

表による定義

式 表

普通の関数 f(x) = x 定義 定義ではない

x f(x)

0 0

1 1

… …

論理関数 f(x) = x 定義 定義

x f(x)

0 0

1 1

Page 20: 2.   ブール代数  と  論理ゲート

ディジタル回路

21

n 入力論理関数の数

n 入力の論理関数は 22

n とおり

入力は 2n とおり

そのそれぞれに, 0 または 1 を指定できる

i1 i2 … in o

0 0 … 0 0/1

0 0 … 1 0/1

… … … … …

1 1 … 1 0/1

2n

Page 21: 2.   ブール代数  と  論理ゲート

ディジタル回路

すべての 1 , 2 入力論理関数

i1 o0 o1 o2 o3

0 0 0 1 1

1 0 1 0 1

i2 i1 o0 o1 o2 o3 o4 o5 o6 o7 o8 o9 o10 o11 o12 o13 o14 o15

00 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1

1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1

10 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1

1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1

21 = 2

22 = 4

221 = 4

222 = 16

すべての 1 入力論理関数

すべての 2 入力論理関数

Page 22: 2.   ブール代数  と  論理ゲート

ディジタル回路

すべての 1 , 2 入力論理関数

i1 o0 o1 o2 o3

0 0 0 1 1

1 0 1 0 1

i2 i1 o0 o1 o2 o3 o4 o5 o6 o7 o8 o9 o10 o11 o12 o13 o14 o15

00 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1

1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1

10 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1

1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1

21 = 2

22 = 4

221 = 4

すべての 1 入力論理関数

すべての 2 入力論理関数

AND

XOR

OR

NOR

XNOR NAND

Page 23: 2.   ブール代数  と  論理ゲート

ディジタル回路

24

完全性

Page 24: 2.   ブール代数  と  論理ゲート

ディジタル回路

25

完全性( Completeness ,完備性)

完全集合 (Complete Set)

論理関数の集合で,その要素の組み合わせによって,すべての論理関数を表現できる

完全集合の例

{AND, OR, NOT}

{AND, NOT}

{OR, NOT}

{NAND}

{NOR}

Page 25: 2.   ブール代数  と  論理ゲート

ディジタル回路

26

完全性の証明 {AND, OR, NOT}

数学的帰納法:

1. 1 入力の論理関数は {AND, OR, NOT} の組合せで表現できる

2. n 入力の関数を {AND, OR, NOT} の組合せで表現できたと仮定して,(n + 1) 入力の関数が表現できることをいう

Page 26: 2.   ブール代数  と  論理ゲート

ディジタル回路

27

完全性の証明 {AND, OR, NOT}

1.1 入力の論理関数はすべて, {AND, OR, NOT} の組合せで表現できる.

i1 o0 o1 o2 o3

0 0 0 1 1

1 0 1 0 1

o

0

= 0 o

1

= i

1

o

2

= i’

1

o

3

= 1

0 1

Page 27: 2.   ブール代数  と  論理ゲート

ディジタル回路

すべての 1 , 2 入力論理関数

i1 o0 o1 o2 o3

0 0 0 1 1

1 0 1 0 1

i2 i1 o0 o1 o2 o3 o4 o5 o6 o7 o8 o9 o10 o11 o12 o13 o14 o15

00 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1

1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1

10 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1

1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1

すべての 1 入力論理関数

すべての 2 入力論理関数

Page 28: 2.   ブール代数  と  論理ゲート

ディジタル回路

29

完全性の証明 {AND, OR, NOT}

1. 1 入力の関数が {AND, OR, NOT} の組合せで表現できたので,2 入力の関数が表現できることをいう

f

10

f

11

i

1

i

2

= 0

0

1

f = i’

2 ∙ f

10 + i

2 ∙ f

11

Page 29: 2.   ブール代数  と  論理ゲート

ディジタル回路

30

完全性の証明 {AND, OR, NOT}

1. 1 入力の関数が {AND, OR, NOT} の組合せで表現できたので,2 入力の関数が表現できることをいう

i

2

= 1

f = i’

2 ∙ f

10 + i

2 ∙ f

11

0

1

f

10

f

11

i

1

Page 30: 2.   ブール代数  と  論理ゲート

ディジタル回路

たとえば AND

i1 o0 o1 o2 o3

0 0 0 1 1

1 0 1 0 1

i2 i1 o0 o1 o2 o3 o4 o5 o6 o7 o8 o9 o10 o11 o12 o13 o14 o15

00 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1

1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1

10 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1

1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1

すべての 1 入力論理関数

すべての 2 入力論理関数

AND

Page 31: 2.   ブール代数  と  論理ゲート

ディジタル回路

32

たとえば AND

1. 1 入力の関数が {AND, OR, NOT} の組合せで表現できたので,2 入力の関数が表現できることをいう

i

2

= 0

f = i’

2 ∙ f

10 + i

2 ∙ f

11

f

10

f

11

i

1

1

0

Page 32: 2.   ブール代数  と  論理ゲート

ディジタル回路

33

たとえば AND

1. 1 入力の関数が {AND, OR, NOT} の組合せで表現できたので,2 入力の関数が表現できることをいう

i

2

= 1

f

10

f

11

f = i’

2 ∙ f

10 + i

2 ∙ f

11

1

0

i

1

Page 33: 2.   ブール代数  と  論理ゲート

ディジタル回路

34

完全性の証明 {AND, OR, NOT}

1. n 入力の関数を {AND, OR, NOT} の組合せで表現できたと仮定して,

(n + 1) 入力の関数が表現できることをいう

in+1 in … i2 i1 o

0

0 … 0 0

0 … 0 1

… … … … …

1 … 1 1

1

0 … 0 0

0 … 0 1

… … … … …

1 … 1 1

f = i’

n+1∙ f

n0 + i

n+1∙ f

n1

f

n0

f

n1

i

n+1

i

1i

2

i

n…

……

Page 34: 2.   ブール代数  と  論理ゲート

ディジタル回路

35

LUT による完全性の証明 1/3

LUT : Look-Up Table

ハードウェアで,真理値表そのものを作る方法

1-bit × 2n-word のメモリ

FPGA (Field-Programmable Gate Array) で多用される

Page 35: 2.   ブール代数  と  論理ゲート

ディジタル回路

LUT による完全性の証明 2/3

i2i1i0 : アドレス

i2 i1 i0 o

0 0 0

0 0 1

0 1 0

0 1 1

1 0 0

1 0 1

1 1 0

1 1 1

i

1

i

0

i

2

o

Page 36: 2.   ブール代数  と  論理ゲート

ディジタル回路

LUT による完全性の証明 3/3

in in−1… i0 o

0 0 … 0

0 0 … 1

… … … … …

1 1 … 0

1 1 … 1

1 0 … 0

1 0 … 1

… … … … …

1 1 … 0

1 1 … 1

i

n

i

1

i

n+1

…o

Page 37: 2.   ブール代数  と  論理ゲート

ディジタル回路

38

完全性の証明 一般の場合

{AND, OR, NOT} が作れることを言う

ex) {NAND}

AND OR NOT

Page 38: 2.   ブール代数  と  論理ゲート

ディジタル回路

42

今日のまとめ

Page 39: 2.   ブール代数  と  論理ゲート

ディジタル回路

43

ブール代数

完全集合:

すべての論理関数が作れる

完全集合の例:

{AND , OR , NOT}

{NAND}

完全集合をディジタル回路で作ればよい!

実際は, {NAND , NOR , NOT, XOR (XNOR)}