0 0 1 0 1 0 1 1 電子回路学 講義#9:論理関数の標準形、関数⇄回路の対応 (設計) 1 0 0 1 0 1 0 1 1 n 論理式 幾つかの論理変数を掛け合わせてできる式を単項式と いい、幾つかの単項式の和として表される式を論理式 といいます 例: xy + yz + xw 2 1 0 0 1 0 1 0 1 1 n n 論理関数 論理式の値によって値の決められるものを論理関数と いいます 多数の値を提供する関数もあります 例: G = wx + yz 例: F [f1, f2] f1 = xy + xz + yz f2 = xw + yx + zw 3 0 0 1 0 1 0 1 1 n 真理値表 論理式の変数が取り得る値の全組み合わせを列挙して 関数の値を示す表を真理値表といいます F = x + xy xy 00 01 10 11 F 0 1 1 1 4 2 完全定義論理関数 0 0 1 0 1 0 1 1 n 真理値表の変数の全ての組み合わせに対して論理関数 の値を定義するものを完全定義論理関数といいます xy 00 01 10 11 F 0 1 1 1 5 0 0 1 0 1 0 1 1 n n 未完全定義論理関数 該当の真理値表に全ての値が定義されていない論理関 数を未完全定義論理関数といいます 未定義の値の表し方は多数で、下記のように*(0も1 も)可能、u (unknown:未知)、−(未定義)等の表記が ある xy 00 01 10 11 F 0 u 1 1 xy 00 01 10 11 F 0 * 1 1 xy 00 01 10 11 F 0 1 1 6 3 論理関数の標準形 0 0 1 0 1 0 1 1 n 論理関数の式の各項に全ての変数が出現すると、その 式を論理関数の標準形といいます F(x , y) = x + xy F(x , y) = xy + xy + xy × ◎ 標準形 7 加法標準形 0 0 1 0 1 0 1 1 n n 論理関数を論理積項の論理和で表現する形式を加法標 準形といいます 加法標準形の各項を最小項といいます x 0 0 1 1 y 0 1 0 1 F 0 1 1 0 F(x, y) = xy + xy 8 4 加法標準形の作成 0 0 1 0 1 0 1 1 n 真理値表を対象に n n 出力に対応する列(関数名F)の1の値を起こす入力の組み合 わせを式の右に出現する項で表されます 組み合わせの値は、1のとき変数名を、0のときは否定の変数 名をかけて一つの項を構成します x 0 0 1 1 y 0 1 0 1 F 0 1 1 0 F(x, y) = x ⋅ y 9 加法標準形の作成 0 0 1 0 1 0 1 1 n 上記のように構成して行く各々の項の論理和をとり、 加法形の論理式を書き出します x 0 0 1 1 y 0 1 0 1 F 0 1 1 0 F(x, y) = x ⋅ y + x ⋅ y 10 5 乗法標準形 0 0 1 0 1 0 1 1 n n 論理関数を論理和項の論理積で表現する形式を乗法標 準形といいます 乗法標準形の各項を最大項といいます x 0 0 1 1 y 0 1 0 1 G 1 0 0 1 G(x, y) = (x + y )(x + y) 11 乗法標準形の作成 0 0 1 0 1 0 1 1 n 加法形と対称的に、 n n 出力を0にする入力の組み合わせに着目します 組み合わせの値は0のときは変数名、1のときは否定の変数名 を用い、その論理和を括弧で囲んで、 x 0 0 1 1 y 0 1 0 1 G 1 0 0 1 G(x, y) = (x + y ) 12 6 乗法標準形の作成 0 0 1 0 1 0 1 1 n ...、その他の組み合わせも、同様に変数の論理和を括 弧で囲んで、論理積で乗法標準形の式を書き出します x 0 0 1 1 y 0 1 0 1 G 1 0 0 1 G(x, y) = (x + y )⋅ (x + y) 13 0 0 1 0 1 0 1 1 n n 加法標準形への変換:その一 関数の式を加法標準形で表すにはシャノンの展開定理 が用いられる 例:次の式の一つの項には、yは現れていないので、y を中心に関数の式を展開する F(x,y) = x + xy = y F(x,1) + y F(x,0) (Shannon展開) = y(x+x1) + y(x+x0) = yx + yx + yx (加法標準形) 14 7 0 0 1 0 1 0 1 1 n n 加法標準形への変換:その二 関数の式を加法標準形で表すには、否定に関する性質 が用いられる 例:変数を欠けている式の項には、その変数を対象に 否定に関する性質を利用して式を展開する F(x,y) = x + xy (y+y)=1であるため = x (y+y)+ xy 展開すると、 = xy + xy + xy (加法標準形) 15 0 0 1 0 1 0 1 1 n n 乗法標準形への変換:その一 この場合もシャノンの展開が使用できる 例:次の式の一つの項には、yは現れていないのでyを 中心に関数の式を展開する F(x,y) = (x) (x+y) = (y+F(x,0)) (y+F(x,1)) (Shannon展開) = (y+(x)(x+0))(y+(x)(x+1)) = (y+x)(y+x)(y+x) (乗法標準形) 16 8 乗法標準形への変換:その二 0 0 1 0 1 0 1 1 n n この場合も、否定に関する性質が用いられる 例:変数を欠けている式の項には、その変数を対象に 否定に関する性質を利用して式を展開する F(x,y) = (x)(x+y) yy=0であるため = (x+yy)(x+y) 展開すると、 = (x+y)(x+y)(x+y) (乗法標準形) 17 加法標準形の作成:簡易法 0 0 1 0 1 0 1 1 n 非標準形の加法系の関数の場合は n n 真理値表を作成して 真理値表から、再び論理関数を求める x y F 0 0 0 F(x,y) = x + xy 0 1 1 1 0 1 1* 01 1 1 1 F = xy + xy + xy 18 9 加法標準形の作成:簡易法 0 0 1 0 1 0 1 1 n 非標準形の乗法系の関数の場合は n n n 項を掛けて、カッコをなくし、 加法系に式を変えて、真理値表を作成する 真理値表から、再び論理関数を求める x y F F(x,y) = (x)(x+y) = xx + xy 0 0 0 = 0 + xy 0 1 0 = xy 1 0 0 1 1 1 11 F = xy 19 乗法標準形の作成:簡易法 0 0 1 0 1 0 1 1 n 非標準形の乗法系の関数の場合は n n n 項を掛けて、カッコをなくし、 加法系に式を変えて、真理値表を作成する 真理値表から、再び論理関数を求める n 0のとき、変数名;1のとき、変数名を否定する x y F F(x,y) = (x)(x+y) = xx + xy 0 0 0 = 0 + xy 0 1 0 = xy 1 0 0 1 1 1 11 F = (x+y)(x+y)(x+y) 20 10 乗法標準形の作成:簡易法 0 0 1 0 1 0 1 1 n 非標準形の加法形の関数の場合は n n 真理値表を作成する 真理値表から、乗法標準形の論理関数を求める n 0のとき、変数名;1のとき、変数名を否定する x y F 0 0 0 F(x,y) = x + xy 0 1 1 1 0 1 1* 01 1 1 1 F = (x+y) 21 0 0 1 0 1 0 1 1 n n ME試験問題【30-33】 次の論理式で誤っているのはどれか 解答例:可能な限り、両側を「加法標準形」にして、 比較する 1) A ⋅ (B + C) = A ⋅ B + A ⋅ C AB + AC = AB + AC 22 11 0 0 1 0 1 0 1 1 n ME試験問題【30-33】 ...両側を「加法標準形」、にして、比較する 2) A ⋅ (A + B) = A A⋅ A+ A⋅B = A A(B + B) + A ⋅ B = A(B + B) AB + AB + AB = AB + AB AB + AB = AB + AB 23 0 0 1 0 1 0 1 1 n ME試験問題【30-33】 ...両側を「加法標準形」にして、比較する 3) 公理であり、真 24 12 0 0 1 0 1 0 1 1 n ME試験問題【30-33】 ...両側を「加法標準形」にして、比較する 4) DeMorganの定理 真 25 0 0 1 0 1 0 1 1 n ME試験問題【30-33】 ...両側を「加法標準形」にして、比較する 5) A + B = A ⋅ B A(B + B) + (A + A)B = AB AB + AB + AB + AB = AB AB + AB + AB = AB 同じではない! 26 13 0 0 1 0 1 0 1 1 n n n ME試験問題【32-36】 次の論理式で誤っているのはどれか 解答例:一つずつの式を確かめる 左側を右側の形に変更していく 1) A ⋅ B + A ⋅ B = A A ⋅ B + A ⋅ B = A ⋅ (B + B) AB + AB = AB + AB 27 0 0 1 0 1 0 1 1 n n n ME試験問題【32-36】 次の論理式で誤っているのはどれか 解答例:一つずつの式を確かめる 左側を右側の形に変更していく 2) A ⋅ (A + B) = A A⋅ A+ A⋅B = A A(B + B) + A ⋅ B = A(B + B) AB + AB + AB = AB + AB AB + AB = AB + AB 28 14 ME試験問題【32-36】 0 0 1 0 1 0 1 1 n n n 次の論理式で誤っているのはどれか 解答例:一つずつの式を確かめる 左側を右側の形に変更していく 3) A+ A⋅B = A+B A(B + B) + A ⋅ B = A(B + B) + B(A + A) AB + AB + AB = AB + AB + BA + BA AB + AB + AB = AB + AB + AB + AB AB + AB + AB = AB + AB + AB ! 29 0 0 1 0 1 0 1 1 n n n ME試験問題【32-36】 次の論理式で誤っているのはどれか 解答例:一つずつの式を確かめる 個の場合は、DeMorganの定理で容易に確認できる 4) A + B = A ⋅ B A⋅B = A⋅B 30 15 ME試験問題【32-36】 0 0 1 0 1 0 1 1 n n n 次の論理式で誤っているのはどれか 解答例:一つずつの式を確かめる 左側を右側の形に変更していく 5) A ⋅ (B + C) = A ⋅ B + A ⋅ C AB + AC = AB + AC 上記から 3) は 違っている 31 ME試験問題【33-35】 0 0 1 0 1 0 1 1 n n 論理式として、A・(B+C) に等しいのはどれか 解答例:まず、与えられた論理式のカッコを無くす (分配則) n すると、AB+ACとなり、選択(正解)の 4)に等しい A ⋅ (B + C) = A⋅ B + A⋅C = AB + AC 32 16 34回ME第2種 0 0 1 0 1 0 1 1 n n n 【34A35】:次の論理式で、誤っているのはどれか。 1),2),3)は基本定理で◯、4)はド・モルガンの法則で◯ 正解は、5) である n 加法標準形で確認できる(下記を参照) 1) A +1 = 1 A+ A⋅B = B 2) A + A = 1 A(B + B) + A ⋅ B = (A + A)B 3) A ⋅ A = 0 AB + AB + AB = AB + AB 4) A + B = A ⋅ B AB + AB ≠ AB + AB 5) A + A ⋅ B = B 33 真理値表 0 0 1 0 1 0 1 1 n n 回路の動作を表すもの 回路の各入力の組み合わせに対応する出力を表す表 xy 00 01 10 11 z 0 1 1 1 OR x y z x y sum carry 00 0 0 01 1 0 10 1 0 11 0 1 x y sum HA carry 34 17 0 0 1 0 1 0 1 1 n n 真理値表の作成 入力の組み合わせは、通常すべてを記述する このため、最初の列に、0と1を交互に記入する y1 y0 Z 0 1 0 1 入力 出力 35 0 0 1 0 1 0 1 1 n 真理値表の作成 入力の次の列の0と1の数を倍にして同様に記述 y1 y0 0 0 0 1 1 0 1 1 入力 Z 出力 36 18 真理値表の作成 0 0 1 0 1 0 1 1 n 出力は回路によって異なる! y1 y0 Z 0 0 1 0 1 0 1 0 0 1 1 0 入力 出力 37 真理値表の作成例 0 0 1 0 1 0 1 1 n 0と1の1個ずつ交互に記入する(入力、左から) Y1 Y2 Y3 Z 0 1 0 1 0 1 0 1 入力 出力 38 19 真理値表の作成例 0 0 1 0 1 0 1 1 n 0と1の2個ずつ交互に記入する(入力、左から) Y1 Y2 Y3 0 0 0 1 1 0 1 1 0 0 0 1 1 0 1 1 入力 Z 出力 39 真理値表の作成例 0 0 1 0 1 0 1 1 n 0と1の4個ずつ交互に記入する(入力、左から) n 注意:出力は、回路によって異なります Y1 Y2 Y3 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 入力 Z 出力 40 20 真理値表から論理関数へ 0 0 1 0 1 0 1 1 n 真理値表から次のように論理関数を導く x 0 0 0 0 1 1 1 1 y 0 0 1 1 0 0 1 1 z 0 1 0 1 0 1 0 1 F 0 1 0 1 1 0 0 1 ① Fが1の行のxyzの項を出して、 001 と 011 と 100 と 111 ② 得た各0,1の並びをx,y,zの項に 書き換えて、 xyz と xyz と xyz と xyz ③ Fの1の項のため、論理和でつなぐ F = xyz + xyz + xyz + xyz 41 真理値表から乗法論理関数へ 0 0 1 0 1 0 1 1 n この場合は、Fが0のを用いる x 0 0 0 0 1 1 1 1 y 0 0 1 1 0 0 1 1 z 0 1 0 1 0 1 0 1 F 0 1 0 1 1 0 0 1 ① Fが0の行のxyzの項を出して、 000 と 010 と 101 と 110 ② 0を肯定の変数、1を否定の変数に対応 させながら得た各0,1の並びをx,y,zの和 項に書き換えて、 (x+y+z) と (x+y+z) と (x+y+z) と (x+y+z) ③ Fの0の項のため、論理積でつなぐ F = (x+y+z)(x+y+z)(x+y+z)(x+y+z) 42 21 0 0 1 0 1 0 1 1 n 論理関数から真理値表へ 式(論理関数)右辺から変数の個数を算出して、次の ように真理値表を作成する F = A⋅ B ⋅C + A⋅ B⋅C 101の項、かつ110の項 A 0 0 0 0 1 1 1 1 B 0 0 1 1 0 0 1 1 C 0 1 0 1 0 1 0 1 F 0 0 0 0 0 1 1 0 43 0 0 1 0 1 0 1 1 n 論理関数から真理値表へ 未完全な項の場合 F = A ⋅ B + B ⋅ C 10*の項、かつ*11の項 *:0でも1でもよい(don’t care) A 0 0 0 0 1 1 1 1 B 0 0 1 1 0 0 1 1 C 0 1 0 1 0 1 0 1 F 0 0 0 1 1 1 0 1 44 22 0 0 1 0 1 0 1 1 n 論理関数から真理値表へ 乗法論理関数の右辺から変数の個数を算出して、次の ように真理値表を作成する G = (x1 + x2 + x3 )(x1 + x2 + x3 ) 肯定変数→0,否定変数→1に 010の項、かつ001の項 得た組の行にFが0、その他に1 x1 x2 x3 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 G 1 0 0 1 1 1 1 1 45 0 0 1 0 1 0 1 1 n 論理関数から真理値表へ 未完全な項の場合 M = (A + B)(B + C) 01*の項、かつ*00の項 *:0でも1でもよい(don’t care) A 0 0 0 0 1 1 1 1 B 0 0 1 1 0 0 1 1 C 0 1 0 1 0 1 0 1 M 0 1 0 0 0 1 1 1 46 23 論理式から回路へ 0 0 1 0 1 0 1 1 n 変換例 F = A ⋅ B ⋅ C + B ⋅ C B C F B C A B C A 47 論理式から回路へ 0 0 1 0 1 0 1 1 n 変換例 G = (x + y)⋅ (x + y + z ) x y x y z G z x y 48 24
© Copyright 2024 ExpyDoc