第12回(6月30日)

論理回路
第12回
http://www.fit.ac.jp/~matsuki/LCA.html
今日の内容
• 組み合わせ論理回路の設計1
• 組み合わせ論理回路の設計2
• 加算回路の設計
例題
• 以下の回路を解析せよ(論理関数fを求めよ)
A + B = AB
A
B
C
B + C = BC
2
1
f = AB + BC
= (AB)(BC)
= (A+B)(B+C)
= B + AC
論理回路の解析2(NAND/NOR)
• NAND/NORゲートで構成される回路は,レベ
ルが多くなると, 否定の回数が多くなるため,
AND/ORゲートと同様の解析方法は難しくなる
• NAND/NORゲート ⇒ AND/ORゲートに変換
A
B
A + B = AB
f = AB + BC
= B + AC
C
B + C = BC
論理回路の解析2(NAND/NOR)
• NAND/NORゲート ⇒ AND/ORゲートに変換
(1)奇数レベルのゲートにo(odd) 印を付与
(2)偶数レベルのゲートにe(even) 印を付与
(3)o印のゲートをド・モルガンの等価ゲートに変換
(4)二重否定を削除(相殺されるため)
(5)o印のNANDはORに,NORはANDに置き換わる
(6)e印のNANDはANDに,NORはORに置き換わる
論理回路の解析2(NAND/NOR)
A
B
e
o
f
e
C
2
A
B
C
1
ド・モルガン
等価ゲート
論理回路の解析2(NAND/NOR)
A
B
ド・モルガン
等価ゲート
C
A
B
C
f = (A+B) (B+C)
= AC + B
論理回路の解析2(NAND/NOR)
• もし,同じゲートの出力が奇数レベルと偶数
レベルにつながっている場合
そのゲートは特別扱いする必要がある
方法① ゲートを出力別に分割する
方法② 偶数レベルに繋がる線に
インバーターを挿入する
論理回路の設計1(AND/OR回路)
入力側から見た呼び名
• AND-ORゲート構成(積和形):
– レベル1:1個のORゲート
– レベル2:各項の論理積を作るANDゲート
• OR-ANDゲート構成(和積形):
– レベル1:1個のANDゲート
– レベル2:各項の論理和を作るORゲート
論理回路の設計1(AND/OR回路)
(1) f = AB + AD + BCD
積和形
和積形
(2)f = (A + B)(A + C)(A + D)(B + D)
論理回路の設計1(AND/OR回路)
(1) f = AB + AD + BCD
(2)f = AB + D(A + BC)
•ゲート数を少なくする⇒エラー率,コストの抑制
•ゲート・レベル数を小さくする⇒遅延時間の抑制
•ゲート入力数を小さくする⇒消費電力量の抑制
論理回路の設計2(NAND/NOR回路)
NAND/NORゲートは,論理の完全性を持ってい
る
部品の種類を減らすことが可能になる
二重否定法(double complement method)に
よって,ド・モルガンの定理を利用して
NAND/NORの形に式を変形
加算回路
2進数の加算を行う回路を設計する
• 半加算回路(Half Adder)
• 全加算回路(Full Adder)
半加算回路
2進数の1ビットの加算
0
+ 0
0
1
+ 0
1
0
+ 1
1
1
+ 1
10
桁上げ
キャリー
半加算回路
10
+ 10
100
1011
+ 0011
1110
1 0
0 1 1
桁上げ
キャリー
各桁は,各桁の加算結果に一つ下の桁
からのキャリーを加えなければならない
半加算回路
• 半加算回路(半加算器):
1桁の加算を行う論理回路で,その桁の加算
のみを行い,下位桁からのキャリーの加算を
行わない回路
A
B
S
半加算回路
C+
A,B:2進数の1ビット
S :部分和
C+ :上位桁へのキャリー
半加算回路
• 真理値表(部分和S,キャリーC+)
入力
出力
A
B
S
C+
0
0
0
0
0
1
1
0
1
1
0
1
1
0
1
0
半加算回路
• カルノー図(部分和S,キャリーC+)
B
0
1
0
0
1
1
1
0
A
B
0
1
0
0
0
1
0
1
A
(1) 部分和 S
(2) キャリー C+
S=AB+AB
C+ = A B
半加算回路
部分和SとキャリーCの論理式
S=AB+AB
C+ = A B
C+
A
B
S
AND-ORゲート構成
半加算回路
部分和SとキャリーCの論理式
S=AB+AB
C+ = A B
C+
A
B
S
AND-ORゲート構成
NANDゲート構成
半加算回路
部分和SとキャリーCの論理式
S=AB+AB
C+ = A B
A A = B B = 0より
S=AB+AB=BB+AB+AA+AB
= B( B + A ) + A( A + B )
= (A + B)(A + B)
= (A + B)(A B)
半加算回路
部分和SとキャリーCの論理式(簡単化)
S = (A + B)(A B)
C+ = A B
C+
A
B
S
最小ゲート構成
半加算回路
部分和SとキャリーCの論理式
排他的論理和
S=AB+AB=A+B
C+ = A B
A
B
C+
S
XOR(排他的論理和)ゲートによる構成
全加算回路
• 全加算回路(全加算器):
半加算回路による部分加算に加えて,下位
桁からのキャリーをも同時に加算する回路
A
B
C
S
全加算回路
C+
A,B:2進数の1ビット
C :下位桁からのキャリー
S :部分和
C+ :上位桁へのキャリー
全加算回路
• 真理値表(部分和S,キャリーC+)
入力
出力
A
B
C
S
C+
0
0
0
0
0
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
1
0
0
1
1
1
1
1
1
1
0
1
0
1
1
0
0
1
0
全加算回路
• カルノー図(部分和S,キャリーC+)
C
0
1
0 0
0
1
0 1
1
1 1
1 0
AB
C
0
1
0 0
0
0
0
0 1
0
1
0
1
1 1
1
1
1
0
1 0
0
1
AB
(1) 部分和 S
(2) キャリー C+
S = ABC + ABC + ABC + ABC
C+ = AB + BC + AC
全加算回路
部分和SとキャリーCの論理式
S = ABC + ABC + ABC + ABC
C+ = AB + BC + AC
= (ABC + ABC + ABC + ABC)
AND-ORゲート構成(p.94, 図4.23(a) )
NANDゲート構成(p.94, 図4.23(b) )
注意事項
• 講義に関する質問・課題提出など:
[email protected]
• メールについて
件名は,学籍番号+半角スペース+氏名
(例)S09F2099 松木裕二
本文にも短いカバーレター(説明)をつける
課題はWordなどで作り,添付ファイルとして送る