4. 組み合わせ回路の構成法

36
論論論論論論 4. 論論論論論論論論論論論 五五 五五

Upload: cleary

Post on 06-Jan-2016

71 views

Category:

Documents


0 download

DESCRIPTION

4. 組み合わせ回路の構成法. 五島 正裕. 今日の内容. 導入問題 論理関数の標準形 カルノー図による簡単化 今日のまとめ. 導入問題. 例題. 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: 4.  組み合わせ回路の構成法

論理回路基礎

4. 組み合わせ回路の構成法

五島 正裕

Page 2: 4.  組み合わせ回路の構成法

論理回路基礎

今日の内容

1. 導入問題2. 論理関数の標準形3. カルノー図による簡単化4. 今日のまとめ

Page 3: 4.  組み合わせ回路の構成法

論理回路基礎

導入問題

Page 4: 4.  組み合わせ回路の構成法

論理回路基礎

例題

Q.

3 つの入力 x , y , z に対して,以下のいずれかの条件が成立したとき 1 ,それ以外は 0 となる論理関数 F を求めよ.

1. x と y がともに 1 .

2. x と z がともに 1 .

3. x と y が等しくなく,かつ, y と z が等しい.

A.

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

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

Page 5: 4.  組み合わせ回路の構成法

論理回路基礎

例題

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: 4.  組み合わせ回路の構成法

論理回路基礎

例題

z

F

x

y

xy

F

z

x

yF

z

Page 7: 4.  組み合わせ回路の構成法

論理回路基礎

組み合わせ回路の簡単化

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

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

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

Page 8: 4.  組み合わせ回路の構成法

論理回路基礎

論理関数の標準形

Page 9: 4.  組み合わせ回路の構成法

論理回路基礎

標準形

標準形 (canonical (normal) form)

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

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

Page 10: 4.  組み合わせ回路の構成法

論理回路基礎

用語の定義

リテラル (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: 4.  組み合わせ回路の構成法

論理回路基礎

用語の定義

加法標準形 加法標準形 (disjunctive canonical (normal) form) 積和標準形 (canonical sum-of-products form) 最小項表現 (minterm expression)

最小項の論理和

乗法標準形 乗法標準形 (conjunctive canonical (normal) form) 和積標準形 (canonical product-of-sums form) 最大項表現 (maxterm expression)

最大項の論理積

Page 12: 4.  組み合わせ回路の構成法

論理回路基礎

例題

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: 4.  組み合わせ回路の構成法

論理回路基礎

例題

z

F

x

y

xy

F

z

②加法標準形

x

yF

z

Page 14: 4.  組み合わせ回路の構成法

論理回路基礎

加法標準形

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

= m3 + m4 + m5 + m6 + m7

= (3, 4, 5, 6, 7)

乗法標準形

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

= M0 M1 M2

= (0, 1, 2)

標準形と真理値表

# 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: 4.  組み合わせ回路の構成法

論理回路基礎

加法標準形 と 乗法標準形

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

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

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

Page 16: 4.  組み合わせ回路の構成法

論理回路基礎

簡単化 (1)

~カルノー図~

Page 17: 4.  組み合わせ回路の構成法

論理回路基礎

簡単化のキーポイント

xy + xy’ = x

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

Page 18: 4.  組み合わせ回路の構成法

論理回路基礎

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

O

y

x

1

110

10

xy’

F = (2, 3) = m2 + m3 = 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: 4.  組み合わせ回路の構成法

論理回路基礎

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 20: 4.  組み合わせ回路の構成法

論理回路基礎

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

Page 21: 4.  組み合わせ回路の構成法

論理回路基礎

カルノー図

カルノー図( 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 22: 4.  組み合わせ回路の構成法

論理回路基礎

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 23: 4.  組み合わせ回路の構成法

論理回路基礎

00 01 11 10

00 ○ ○ ○ ○

01 ○ ○ ○ ○

11 ○ ○ ○ ○

10 ○ ○ ○ ○

BADC

多入力のカルノー図

00 01 11 10

00 ○ ○ ○ ○

01 ○ ○ ○ ○

11 ○ ○ ○ ○

10 ○ ○ ○ ○

BADC

00 01 11 10

00 ○ ○ ○ ○

01 ○ ○ ○ ○

11 ○ ○ ○ ○

10 ○ ○ ○ ○

BADC

4入力

E=0

E= 1

5入力

Page 24: 4.  組み合わせ回路の構成法

論理回路基礎

カルノー図の表現法

トーラス状に表した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: 4.  組み合わせ回路の構成法

論理回路基礎

カルノー図による簡単化

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

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

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

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

Page 26: 4.  組み合わせ回路の構成法

論理回路基礎

カルノー図による簡単化の例( 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: 4.  組み合わせ回路の構成法

論理回路基礎

カルノー図による簡単化の例( 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: 4.  組み合わせ回路の構成法

論理回路基礎

カルノー図による簡単化の例( 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: 4.  組み合わせ回路の構成法

論理回路基礎

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

00 01 11 10

00 1 1

01

11

10 1 1

BADC

C B

00 01 11 10

00 1

01 1 1

11 1 1

10 1

BADC

CA+BA†

cf. CBA+BA

† ループは重なっても良いから大きくとる

Page 30: 4.  組み合わせ回路の構成法

論理回路基礎

問題

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

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

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

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

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

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

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

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

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

Page 31: 4.  組み合わせ回路の構成法

論理回路基礎

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

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

メリット 直感的

ディメリット 入力が多いと描きにくい 直感的,発見的

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

Page 32: 4.  組み合わせ回路の構成法

論理回路基礎

簡単化 (2)

~クワイン・マクラスキー法~

Page 33: 4.  組み合わせ回路の構成法

論理回路基礎

クワイン・マクラスキー法

ポイントは,カルノー図と同じ xy + xy’ = x

そうできるところを網羅する方法

カルノー図より,システマティック 他入力にも対応可能 プログラムにしやすい

Page 34: 4.  組み合わせ回路の構成法

論理回路基礎

1. 最小項を抜き出す2. 「 1 」の数でソート

クワイン・マクラスキー法

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

x y z

m4 1 0 0

m3 0 1 1

m5 1 0 1

m6 1 1 0

m7 1 1 1

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

Page 35: 4.  組み合わせ回路の構成法

論理回路基礎

クワイン・マクラスキー法

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

x y z

m4 1 0 0 ☑

m3 0 1 1 ☑

m5 1 0 1 ☑

m6 1 1 0 ☑

m7 1 1 1 ☑

x y z

(4,

5)1 0 * ☑

(4, 6) 1 * 0 ☑

(3, 7) * 1 1

(5, 7) 1 * 1 ☑

(6, 7) 1 1 * ☑

x y z

(4, 5, 6, 7) 1 * *

(4, 5, 6, 7) 1 * *

⇒ ⇒

Page 36: 4.  組み合わせ回路の構成法

論理回路基礎

今日のまとめ