Document

第4回
カルノー図による組合せ回路の簡単化
目標
・AND-OR二段回路の実現コスト(面積、遅延)が出せる
・カルノー図を使い,組合せ回路を簡単化できる
瀬戸
本講義のホームページ:
http://www.ee.tcu.ac.jp/lectures/digital/index.html
ユーザ名: tcu
パスワード: seto
1
ブール代数による論理式の変形 (復習)
次の論理式を出来るだけ簡単化せよ
yx  yz  xxy  xz  yxy  yz
 yx  yz  xy  xz  0  yz
 yx  yz  xy  xz  yz
 yx  yz  xy  xz
 x( y  y )  xz  yz
 x 1  xz  yz
 x  xz  yz
 x(1  z )  yz
 x 1  yz
 x  yz
∵ x・x=x, y・y=0
∵ yz+yz=yz
∵ y+y=1
∵ 1+z=1
このような論理式の簡単化を,簡単に行う方法 ⇒ カルノー図
2
積和形= 組合せ回路 (復習)
w=x・y・z+x・y・z+x・y・z+x・y・z
x
y
z
w
2段目 (OR)
“AND-OR 二段回路”
1段目 (AND)
3
AND-OR 二段回路の実現コスト
x
ゲート の個数が少ないほうがよい y
z
回路の面積、消費電力を削減
w
個々のゲートで考えると、 入力 数が少ないほうがよ
い
面積や遅延時間を削減
面積小
遅延小
面積大
遅延大
4
AND-OR 二段回路の簡単化とは?
w=xyz+xyz+xyz+xyz
機能を同じままで、以下を削減
x
y
z
ANDゲート
ORゲート
ANDゲート
の個数
の入力数
の入力数
w
積和形に対しては、以下に相当
積項
リテラル
数 の削減
数 の削減
5
積項数とリテラル数
以下の式(1)-(3)の積項数とリテラル数を答えよ
実は、a(b+c)d + ab(c+d) + ab(cd+cd)とすべて等価
積項数
リテラル数
(1) bcd + abd + abd + abd
4
12
(2) bcd + bd + abd
3
8
(3) bc + bd + ad
3
6
6
AND-OR 二段回路の簡単化
次の公式を繰り返し適用し、論理式を簡単化
xy + xy = x
(∵ xy + xy = x(y+y)=x・1=x)
つまり、1変数だけ反転している積項同士をまとめる
例: xyz + xyz = x(y+y)z = xz
カルノー図 を使うと、図を使ってこの簡単化を行える
ただし、せいぜい5,6変数の論理式まで
実際の設計ではパソコン(CADプログラム)で簡単化
例: Quartus II (クオータス)
7
カルノー図 (カルノーマップ)とは何か?
入力の配置を工夫した真理値表
「不規則」な箇所があるので注意
zw 00 01 11 10
xy
00
x
0
y 0
1
1
yz 00 01 11 10
x
0
11
10
1
2入力
01
3入力
4入力
8
カルノー図の重要な特徴
となり合う「マス」は、入力変数が 1ビット だけ異なる
y 0 1
zw 00 01 11 10
x
xy
0 00 01
00
0001
1 10
2入力
x
0
1
yz 00
01
11
01 0100
0101
11
1101
10
001
100
101
111
3入力
0111
10 1000
1010
4入力
9
カルノー図のいくつかの描き方(全部同じ意味)
yz 00 01 11 10
x
0
1
y
y
y
x
x
x
z
z
z
z
10
カルノー図と最小項の関係 (イメージ)
カルノー図の1マスは、 最小項 に対応する
最小項は,積項の特殊なもの
すべての変数を使用した積項 zw
00 01 11 10
xy
00 xyzw xyzw xyzw xyzw
x
0
1
01
xyzw
xyzw
xyzw
xyzw
xy xy
yz 00 01 11 10
x
0 xyz xyz xyz xyz
11
xyzw
xyzw
xyzw
xyzw
xy xy
1 xyz xyz xyz xyz
10
xyzw
xyzw
xyzw
xyzw
y 0
1
2入力
3入力
4入力
11
積和形から、カルノー図への変換
カルノー図では通常、 0 を省略 (見やすさのため)
例:
xyz + xyz + xyz + xyz
最小項
yz 00 01 11 10
x
0
1
1
1
1
1
12
カルノー図と積項との関係
カルノー図中の“囲み”は、1つの 積項 に対応
ただし、2のべき乗 ( 1, 2, 4, … )の大きさ
3, 6, などはありえない
yz 00 01 11 10
x
yz 00 01 11 10
x
0
1
0
1
1
1
xyz + xyz
= yz
1
1
xyz + xyz
= xz
13
カルノー図と積項との関係
カルノー図中の“囲み”が、1つの 積項 に対応
ただし、2のべき乗(1, 2, 4, …)の大きさ
yz 00 01 11 10
x
yz 00 01 11 10
x
0
1
1
0
1
1
1
1
y
1
1
1
1
x
14
カルノー図と積項の関係(4入力)
論理関数: xw + xz + xw + xyzw
z
x
x
z
zw 00 01 11 10
xy
00 1 1 1 1
01
1
11
1
1
10
1
1
w
1
1
w
y
y
y
w
15
カルノー図による簡単化のポイント
積和形(真理値表)から、カルノー図を描き,1を埋める
「囲み」で、すべての1をおおう
「囲み」は,重なってもよい
1が無い箇所へ、はみ出したらダメ
囲みの数 を少なくする
zw 00 01 11 10
xy
積項、つまり
1 1
ANDゲートの 個 数が減る 00
囲み を大きく する
01
1 1
リテラル数、つまり
11
1
ANDゲートの入力 数が減る
10
16
カルノー図による簡単化の例
簡単化前の積和形
簡単化後の積和形
xz + yz + xyz
xz + xy
積項
yz 00 01 11 10
x
yz 00 01 11 10
x
0
0
1
1
1
1
1
1
1
1
1
1
囲みをできるだけ拡張し、
無駄な囲みを削除
17
カルノー図による簡単化 (例)
xzw+xyzw+xyzw+xyzw = xw+yzw
zw 00 01 11 10
xy
00
1 1 xyzw
01 xzw 1
11
10
1
xyzw
1 xyzw
zw 00 01 11 10
xy
00
1 1
01 xw
1
11
1
10
yzw
1
18
カルノー図の例題
D, C, B, Aを,4ビットの2進数とする(0~15, Dが最上
位ビット)。このとき,DCBAが,0を除く偶数のときに,出
力がアクティブになる回路を設計せよ。
BA 00
DC
D
C
B
A
01 11 10
00
Y
BA 00
DC
1
00
01 11 10
1
01
1
1
01
1
1
11
1
1
11
1
1
10
1
1
10
1
1
積項数 7
積項数 3
19
ドントケア(記号:-)の利用による,更なる簡単化
D, C, B, Aを,4ビットの2進数とする(0~15, Dが最上
位ビット)。このとき,DCBAが,0を除く偶数のときに,出
力がアクティブになる回路を設計せよ。ただし,8以上の
数は入力されないものとする。
BA 00
DC
D
C
B
A
01 11 10
00
Y
BA 00
DC
1
00
01 11 10
1
01
1
1
01
1
11
1
1
11
-
-
-
-
10
1
1
10
-
-
-
-
積項数 3
1
積項数 2
20
まとめ
積和形で、積項数 を削減すれば回路が簡単になる
カルノー図を使えば、積項数を削減できる
宿題 (6/1(水) 中間試験開始前に回収)
第6回 「よく使われる組合せ回路」までの,小テストの
問題を,再度レポート用紙に解き,提出
連絡事項
5/18(水) は休講
5/21(土) に補講 (22C) ... 2進数について
21