3. 組み合わせ 回路
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 PresentationTRANSCRIPT
ディジタル回路
3. 組み合わせ回路
五島 正裕
ディジタル回路
今日の内容
1. 導入問題
2. 論理関数の標準形
3. カルノー図による簡単化
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)
ただし, · は省略, != は XOR , == は XNOR
ディジタル回路
例題
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 ………… ③
ディジタル回路
例題
z
F
x
y
①
x
y
F
z
②
x
yF
z
③
ディジタル回路
組み合わせ回路の簡単化
物理的な最終目標: 回路の遅延時間を短くする. 回路の面積を小さくする.
組み合わせ回路の簡単化の目標: 論理ゲートの個数を少なくする. 論理ゲートへの入力の数を少なくする.
工学的目標: その系統だった方法を見つける.
ディジタル回路
論理関数の標準形
ディジタル回路
標準形
標準形 (canonical (normal) form)
論理関数 F を一意に表現する論理式
F1 と F2 の標準形が同じ ⇔ F1 と F2 は同じ
ディジタル回路
用語の定義
リテラル (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’, …
ディジタル回路
用語の定義
積和標準形 (canonical sum-of-products form)
加法標準形 (disjunctive canonical (normal) form)
最小項表現 (minterm expression)
最小項の論理和
和積標準形 (canonical product-of-sums form)
乗法標準形 (conjunctive canonical (normal) form)
最大項表現 (maxterm expression)
最大項の論理積
ディジタル回路
例題
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 ………… ③
ディジタル回路
例題
z
F
x
y
①
x
y
F
z
②
積和標準形
x
yF
z
③
ディジタル回路
積和標準形
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
ディジタル回路
加法標準形 と 乗法標準形
加法標準形 と 乗法標準形 人間には,加法標準形の方が分かりやすい 数学的には「双対」 (dual)
説明は,加法標準形で 乗法標準形に変換することは容易
AND ⇔ OR , 0 ⇔ 1 に替えればよい
ディジタル回路
簡単化
~カルノー図~
ディジタル回路
簡単化のキーポイント
xy + xy’ = x
xy + xy’ = x (y + y’) = x · 1 = x
ディジタル回路
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 のノード間にエッジ
ディジタル回路
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
ディジタル回路
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
ディジタル回路
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 入力
ディジタル回路
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
ディジタル回路
カルノー図の表現法
トーラス状に表した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
ディジタル回路
カルノー図による簡単化
1. カルノー図の上で隣接した「 1 」を探し,主項を求める. 縦横ともに 2 のべき乗の大きさ. できる限り大きく.
2. 「 1 」をすべてカバーする,最小の主項の組み合わせを求める. 重なってもよい. はみ出してはいけない.
ループを大きくする: AND ゲートの入力数を減らす
ループを少なくする: AND ゲートの数を減らす OR ゲートの
ディジタル回路
カルノー図による簡単化の例( 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’
ディジタル回路
カルノー図による簡単化の例( 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
ディジタル回路
カルノー図による簡単化の例( 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
ディジタル回路
カルノー図による簡単化の例( 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
ディジタル回路
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
ディジタル回路
問題
以下の問いに答えよ.答えは、ブール代数の式と 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 以下ならどうか.
ディジタル回路
カルノー図を用いた簡単化
カルノー図 真理値表 ハミング距離が 1 の積項は,図上でも隣接する.
メリット 直感的
ディメリット 入力が多いと描きにくい( 5 入力まで?) 直感的,発見的
クワイン・マクラスキー法 (Quine-McCluskey) アルゴリズムとして定式化したもの
ディジタル回路
Don’t Care
Don’t Care 「気にしない」 出力は, 0 でも 1 でもよい “ f ” ,“ * ” などで表す
回路が簡単になるように 適当に決めてよい
組み合わせ回路
その入力は
こない
その出力は
使われない
ディジタル回路
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
ディジタル回路
今日のまとめ