3. 組み合わせ 回路

35
デデデデデデデ 3. デデデデデデデ デデ デデ

Upload: kadeem-head

Post on 01-Jan-2016

53 views

Category:

Documents


6 download

DESCRIPTION

3. 組み合わせ 回路. 五島 正裕. 今日の内容. 導入問題 論理関数の標準形 カルノー図による簡単化 今日のまとめ. 導入問題. 例題. Q. 3 つの 入力 x , y , z に対して, 以下のいずれかの条件が成立したとき 1 , それ以外は 0 となる論理関数 F を求めよ. x と y がともに 1 . x と z がともに 1 . x と y が等しくなく,かつ, y と z が等しい. A. F = xy + xz + ( x != y ) · ( y == z ) - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 3.  組み合わせ 回路

ディジタル回路

3. 組み合わせ回路

五島 正裕

Page 2: 3.  組み合わせ 回路

ディジタル回路

今日の内容

1. 導入問題

2. 論理関数の標準形

3. カルノー図による簡単化

4. 今日のまとめ

Page 3: 3.  組み合わせ 回路

ディジタル回路

導入問題

Page 4: 3.  組み合わせ 回路

ディジタル回路

例題

Q.

3 つの入力 x , y , z に対して,

以下のいずれかの条件が成立したとき 1 ,

それ以外は 0 となる論理関数 F を求めよ.

x と y がともに 1 . x と z がともに 1 . x と y が等しくなく,かつ, y と z が等しい.

A.

F = xy + xz + (x != y) · (y == z)

ただし, · は省略, != は XOR , == は XNOR

Page 5: 3.  組み合わせ 回路

ディジタル回路

例題

A. (cont)

F = xy + xz + (x != y) · (y == z) …………①

= xy + xz + (xy’ + x’y) · (yz + y’z’)

= xy + xz + xy’yz + xy’z’ + x’yz + x’yy’z (展開)

= xy + xz + 0 + xy’z’ + x’yz + 0 ∵ x · x’ = 0

= xy + xz + xy’z’ + x’yz ∵ x + 0 = x

= xy (z + z’) + x (y + y’) z + xy’z’+ x’yz ∵ x (y + y’) = x · 1 = x

= xyz + xyz’ + xyz + xy’z + xy’z’ + x’yz ∵ x + x = x

= xyz + x’yz + xyz’ + xy’z’ + xy’z …………②

= xyz + x’yz + xyz’ + xy’z’ + xyz + xy’z ∵ x + x = x

= (x + x’) yz + x (y + y’) z’ + x (y + y’) z ∵ x (y + y’) = x · 1 = x

= yz + xz’ + xz ∵ x (y + y’) = x · 1 = x

= yz + x (z + z’) ∵ x (y + y’) = x · 1 = x

= x + yz ………… ③

Page 6: 3.  組み合わせ 回路

ディジタル回路

例題

z

F

x

y

x

y

F

z

x

yF

z

Page 7: 3.  組み合わせ 回路

ディジタル回路

組み合わせ回路の簡単化

物理的な最終目標: 回路の遅延時間を短くする. 回路の面積を小さくする.

組み合わせ回路の簡単化の目標: 論理ゲートの個数を少なくする. 論理ゲートへの入力の数を少なくする.

工学的目標: その系統だった方法を見つける.

Page 8: 3.  組み合わせ 回路

ディジタル回路

論理関数の標準形

Page 9: 3.  組み合わせ 回路

ディジタル回路

標準形

標準形 (canonical (normal) form)

論理関数 F を一意に表現する論理式

F1 と F2 の標準形が同じ ⇔ F1 と F2 は同じ

Page 10: 3.  組み合わせ 回路

ディジタル回路

用語の定義

リテラル (literal)

x に対して, x または x’

積項 (product term) /和項 (sum term) : リテラルの論理積/論理和

n 変数の論理関数の最小項 (minterm) /最大項 (maxterm) : n 種のリテラルからなる積項/和項

例: 3 変数 (x, y, z) の論理関数の場合: リテラル: x, x’, y, y’, z, z’

積 項 : xy, yz, zx, xyz, x’yz’, …

和 項 : x + y, y’ + z, x + y + z, x’ + y + z’, …

最小項 : x’y’z’, x’y’z, x’yz’, x’yz, xy’z’, xy’z, xyz’, xyz

最大項 : x + y + z, x’ + y + z’, …

Page 11: 3.  組み合わせ 回路

ディジタル回路

用語の定義

積和標準形 (canonical sum-of-products form)

加法標準形 (disjunctive canonical (normal) form)

最小項表現 (minterm expression)

最小項の論理和

和積標準形 (canonical product-of-sums form)

乗法標準形 (conjunctive canonical (normal) form)

最大項表現 (maxterm expression)

最大項の論理積

Page 12: 3.  組み合わせ 回路

ディジタル回路

例題

A. (cont)

F = xy + xz + (x != y) · (y == z) …………①

= xy + xz + (xy’ + x’y) · (yz + y’z’)

= xy + xz + xy’yz + xy’z’ + x’yz + x’yy’z (展開)

= xy + xz + 0 + xy’z’ + x’yz + 0 ∵ x · x’ = 0

= xy + xz + xy’z’ + x’yz ∵ x + 0 = x

= xy (z + z’) + x (y + y’) z + xy’z’+ x’yz ∵ x (y + y’) = x · 1 = x

= xyz + xyz’ + xyz + xy’z + xy’z’ + x’yz ∵ x + x = x

= xyz + x’yz + xyz’ + xy’z’ + xy’z ………… ② 積和標準形

= xyz + x’yz + xyz’ + xy’z’ + xyz + xy’z ∵ x + x = x

= (x + x’) yz + x (y + y’) z’ + x (y + y’) z ∵ x (y + y’) = x · 1 = x

= yz + xz’ + xz ∵ x (y + y’) = x · 1 = x

= yz + x (z + z’) ∵ x (y + y’) = x · 1 = x

= x + yz ………… ③

Page 13: 3.  組み合わせ 回路

ディジタル回路

例題

z

F

x

y

x

y

F

z

積和標準形

x

yF

z

Page 14: 3.  組み合わせ 回路

ディジタル回路

積和標準形

F = x’yz + xy’z’ + xy’z + xyz’ + xyz

= m3 + m4 + m5 + m6 + m7

= S (3, 4, 5, 6, 7) ON-set

和積標準形

F = (x + y + z) (x + y + z’) (x + y’+ z)

= M0 M1 M2

= P (0, 1, 2) OFF-set

標準形と真理値表

# x y z F

0 0 0 0 0

1 0 0 1 0

2 0 1 0 0

3 0 1 1 1

4 1 0 0 1

5 1 0 1 1

6 1 1 0 1

7 1 1 1 1xyz

xy’z’

x’yz

xyz’

x + y + z’

x + y + z

x + y’+ z

xy’z

Page 15: 3.  組み合わせ 回路

ディジタル回路

加法標準形 と 乗法標準形

加法標準形 と 乗法標準形 人間には,加法標準形の方が分かりやすい 数学的には「双対」 (dual)

説明は,加法標準形で 乗法標準形に変換することは容易

AND ⇔ OR , 0 ⇔ 1 に替えればよい

Page 16: 3.  組み合わせ 回路

ディジタル回路

簡単化

~カルノー図~

Page 17: 3.  組み合わせ 回路

ディジタル回路

簡単化のキーポイント

xy + xy’ = x

xy + xy’ = x (y + y’) = x · 1 = x

Page 18: 3.  組み合わせ 回路

ディジタル回路

2 次元超立方体による表現

O

y

x

1

1

10

10

xy’

F = S (2, 3) = m

2

+ m

3

= xy +xy’ = x (y + y’) = x ·1 = x

xy

# x y F

0 0 0 0

1 0 1 0

2 1 0 1

3 1 1 1

x

(0, 0) (1, 0)

(0, 1) (1, 1)

ハミング距離が 1 のノード間にエッジ

Page 19: 3.  組み合わせ 回路

ディジタル回路

2 次元超立方体による表現

O

y

x

1

1

# x y F

0 0 0 0

1 0 1 0

2 1 0 1

3 1 1 1

(0, 0) (1, 0)

(0, 1) (1, 1)y

x 0 1

0 0 0

1 1 1

1

10

0

F = S (2, 3) = m

2

+ m

3

= xy +xy’ = x (y + y’) = x ·1 = x

Page 20: 3.  組み合わせ 回路

ディジタル回路

3 次元超立方体による表現

主項 (prime implicant)

これ以上大きくはできない積項 x と yz

O

y

z

x

1

1

1

1 1

1

10

0

0

xyz

xy’z’

x’yz

xyz’

F = x’yz + xy’z’ + xy’z + xyz’ + xyz = x + yz

yz

xy

xz’

1

xy’z

xy’

xz

x

Page 21: 3.  組み合わせ 回路

ディジタル回路

4 次元超立方体による表現

Page 22: 3.  組み合わせ 回路

ディジタル回路

カルノー図

カルノー図( Karnaugh Map ) 真理値表の 1 種 ハミング距離が 1 のノード:図上で隣接している!

yx 0 1

0

1

2 入力

yzx 00 01 11 10

0

1

3 入力

zwxy 00 01 11 10

00

01

11

10

4 入力

Page 23: 3.  組み合わせ 回路

ディジタル回路

x y z F

M0 0 0 0 0

M1 0 0 1 0

M2 0 1 0 0

m3 0 1 1 1

m4 1 0 0 1

m5 1 0 1 1

m6 1 1 0 1

m7 1 1 1 1

カルノー図

yz

x00 01 11 10

0 1

1 1 1 1 1

F = x’yz + xy’z’ + xy’z + xyz’ + xyz = x + yz

Page 24: 3.  組み合わせ 回路

ディジタル回路

カルノー図の表現法

トーラス状に表した4入力のカルノー図

(0) (1)

(2) (3)

(4)(5)

(6) (7)

(8) (9)

(10)(11)(14) (15)

XY=00

XY=01

XY=10

XY=11

ZW=10

ZW=00 ZW=01

ZW=11

Page 25: 3.  組み合わせ 回路

ディジタル回路

カルノー図による簡単化

1. カルノー図の上で隣接した「 1 」を探し,主項を求める. 縦横ともに 2 のべき乗の大きさ. できる限り大きく.

2. 「 1 」をすべてカバーする,最小の主項の組み合わせを求める. 重なってもよい. はみ出してはいけない.

ループを大きくする: AND ゲートの入力数を減らす

ループを少なくする: AND ゲートの数を減らす OR ゲートの

Page 26: 3.  組み合わせ 回路

ディジタル回路

カルノー図による簡単化の例( 1 )

zwxy 00 01 11 10

00 1

01

11

10 1

zwxy 00 01 11 10

00 1 1

01

11

10

x’y’w y’zw’

Page 27: 3.  組み合わせ 回路

ディジタル回路

カルノー図による簡単化の例( 2 )

zwxy 00 01 11 10

00

01 1 1 1 1

11

10

zwxy 00 01 11 10

00 1

01 1

11 1

10 1

z’w x’y

Page 28: 3.  組み合わせ 回路

ディジタル回路

カルノー図による簡単化の例( 3 )

zwxy 00 01 11 10

00

01 1 1 1 1

11 1 1 1 1

10

zwxy 00 01 11 10

00

01 1 1

11 1 1

10

yw y

Page 29: 3.  組み合わせ 回路

ディジタル回路

カルノー図による簡単化の例( 4 )

zwxy 00 01 11 10

00 1

01 1 1

11 1 1

10 1

zwxy 00 01 11 10

00 1

01 1 1

11 1 1

10 1

z’w + yzw z’w + yw

Page 30: 3.  組み合わせ 回路

ディジタル回路

5 入力のカルノー図

zwxy 00 01 11 10

00

01

11 1

10

zwxy 00 01 11 10

00 1

01

11 1

10

v = 0 v = 1

v’x’y’z’w’ + xyzw

Page 31: 3.  組み合わせ 回路

ディジタル回路

問題

以下の問いに答えよ.答えは、ブール代数の式と MIL 記法の回路図の両方で記せ.1. 下記の3入力関数を簡単化せよ.

1. S (0, 1, 5, 6, 7)

2. S (0, 1, 2, 3, 5, 7)

3. S (0, 1, 2, 4, 7)

2. 下記の4入力関数を簡単化せよ.1. S (0, 1, 5, 7, 8, 10, 14, 15)

2. S (1, 5, 6, 7, 10, 12, 13, 15)

3. S (0, 2, 8, 10, 14)

3. 0 以上 15 以下の整数を 4 ビットの 2 進数として入力し,それが以下の条件を満たすならば 1 を,満たさないならば 0 を返す回路を書け.

1. 素数2. フィボナッチ数

4. 3. で,入力が 1 以上 9 以下ならどうか.

Page 32: 3.  組み合わせ 回路

ディジタル回路

カルノー図を用いた簡単化

カルノー図 真理値表 ハミング距離が 1 の積項は,図上でも隣接する.

メリット 直感的

ディメリット 入力が多いと描きにくい( 5 入力まで?) 直感的,発見的

クワイン・マクラスキー法 (Quine-McCluskey) アルゴリズムとして定式化したもの

Page 33: 3.  組み合わせ 回路

ディジタル回路

Don’t Care

Don’t Care 「気にしない」 出力は, 0 でも 1 でもよい “ f ” ,“ * ” などで表す

回路が簡単になるように 適当に決めてよい

組み合わせ回路

その入力は

こない

その出力は

使われない

Page 34: 3.  組み合わせ 回路

ディジタル回路

Don’t Care

zwxy 00 01 11 10

00 f 1

01 1 1

11 1 f

10 1

z’w + yw

zwxy 00 01 11 10

00 f 1

01 1 1

11 1 f

10 1

z’w + x’yw

Page 35: 3.  組み合わせ 回路

ディジタル回路

今日のまとめ