論理式の簡単化 - kb.ecei.tohoku.ac.jpkoba/class/keisanki-gaku/5-27.pdf ·...

52

Upload: others

Post on 17-Feb-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 論理式の簡単化 - kb.ecei.tohoku.ac.jpkoba/class/keisanki-gaku/5-27.pdf · 第2回レポート課題 •2つの2桁の2進数(x 2x 1とy 2y 1)の掛け算の演 算結果をz

論理式の簡単化

Page 2: 論理式の簡単化 - kb.ecei.tohoku.ac.jpkoba/class/keisanki-gaku/5-27.pdf · 第2回レポート課題 •2つの2桁の2進数(x 2x 1とy 2y 1)の掛け算の演 算結果をz

補足:論理式の標準形に関する用語

xy + yz + zx積和標準形

積和形

積和形積項の和の形

~xyz+x~yz+xy~z+xyz

最小項展開

主積和標準形

最小項展開

積和標準形

最小項の和の形

例(3変数関数の

場合)講義教科書

Page 3: 論理式の簡単化 - kb.ecei.tohoku.ac.jpkoba/class/keisanki-gaku/5-27.pdf · 第2回レポート課題 •2つの2桁の2進数(x 2x 1とy 2y 1)の掛け算の演 算結果をz

今日の講義内容

• 前回のレポート課題の解説

• 論理式の他の簡単化手法

– クワイン-マクラスキ法

– コンセンサス法

• ドントケア(don’t care)入力のあるもとで

の論理式の簡単化

Page 4: 論理式の簡単化 - kb.ecei.tohoku.ac.jpkoba/class/keisanki-gaku/5-27.pdf · 第2回レポート課題 •2つの2桁の2進数(x 2x 1とy 2y 1)の掛け算の演 算結果をz

第2回レポート課題

• 2つの2桁の2進数(x2x1とy2y1)の掛け算の演算結果をz4z3z2z1とする。

(1)z3を表すカルノー図を作れ

(2)(1)を用いてz3をなるべく簡単な積和標準形で

表せ。

Page 5: 論理式の簡単化 - kb.ecei.tohoku.ac.jpkoba/class/keisanki-gaku/5-27.pdf · 第2回レポート課題 •2つの2桁の2進数(x 2x 1とy 2y 1)の掛け算の演 算結果をz

今日の講義内容

• 前回のレポート課題の解説

• 論理式の他の簡単化手法

– クワイン-マクラスキ法

– コンセンサス法

• ドントケア(don’t care)入力のあるもとで

の論理式の簡単化

Page 6: 論理式の簡単化 - kb.ecei.tohoku.ac.jpkoba/class/keisanki-gaku/5-27.pdf · 第2回レポート課題 •2つの2桁の2進数(x 2x 1とy 2y 1)の掛け算の演 算結果をz

クワイン-マクラスキ法の概要

(1)主項の集合を求める

(2)(1)で求まった主項の中から最小被覆集合を求める

カルノー図が上の2つのステップを人間の視覚に頼っていたのに対し、表などを使って機械的に行う。

Page 7: 論理式の簡単化 - kb.ecei.tohoku.ac.jpkoba/class/keisanki-gaku/5-27.pdf · 第2回レポート課題 •2つの2桁の2進数(x 2x 1とy 2y 1)の掛け算の演 算結果をz

クワイン-マクラスキ法

主項の求め方の概要

1-1: 簡単化したい論理関数の最小項をすべて

求める

1-2: xEと~xEという形の部分積項があればそれらをEに置き換えるという作業を繰り返す

(xE + ~xE = (x+~x)E = 1・E = E)1-3: 1-2で置き換えられるものがなくなった時に

残っているものすべてが主項

Page 8: 論理式の簡単化 - kb.ecei.tohoku.ac.jpkoba/class/keisanki-gaku/5-27.pdf · 第2回レポート課題 •2つの2桁の2進数(x 2x 1とy 2y 1)の掛け算の演 算結果をz

クワイン-マクラスキ法

主項の求め方の概要

1-1: 簡単化したい論理関数の最小項をすべて

求める(最小項展開を求める)

x1x2x3 意味

~x1~x2x3~x1x2~x3x1~x2x3x1x2~x3x1x2x3

001010101110111

Page 9: 論理式の簡単化 - kb.ecei.tohoku.ac.jpkoba/class/keisanki-gaku/5-27.pdf · 第2回レポート課題 •2つの2桁の2進数(x 2x 1とy 2y 1)の掛け算の演 算結果をz

クワイン-マクラスキ法

主項の求め方の概要

1-2: xEと~xEという形の部分積項(= 一箇所だけ0,1が異なる列)があればそれらをEに置き

換えるという作業を繰り返す

x1x2x3(~x2x3)001

010101110111

-01✔

Page 10: 論理式の簡単化 - kb.ecei.tohoku.ac.jpkoba/class/keisanki-gaku/5-27.pdf · 第2回レポート課題 •2つの2桁の2進数(x 2x 1とy 2y 1)の掛け算の演 算結果をz

クワイン-マクラスキ法:

主項の求め方の概要

1-2: xEと~xEという形の部分積項(= 一箇所だけ0,1が異なる列)があればそれらをEに置き

換えるという作業を繰り返す

x1x2x3-01001

010101110111

-10✔

Page 11: 論理式の簡単化 - kb.ecei.tohoku.ac.jpkoba/class/keisanki-gaku/5-27.pdf · 第2回レポート課題 •2つの2桁の2進数(x 2x 1とy 2y 1)の掛け算の演 算結果をz

クワイン-マクラスキ法:

主項の求め方の概要

1-2: xEと~xEという形の部分積項(= 一箇所だけ0,1が異なる列)があればそれらをEに置き

換えるという作業を繰り返す

x1x2x3-01001

010101110111

-10✔

1-1✔

Page 12: 論理式の簡単化 - kb.ecei.tohoku.ac.jpkoba/class/keisanki-gaku/5-27.pdf · 第2回レポート課題 •2つの2桁の2進数(x 2x 1とy 2y 1)の掛け算の演 算結果をz

クワイン-マクラスキ法:

主項の求め方の概要

1-2: xEと~xEという形の部分積項(= 一箇所だけ0,1が異なる列)があればそれらをEに置き

換えるという作業を繰り返す

x1x2x3-01001

010101110111

-10✔

1-1✔

11-✔

Page 13: 論理式の簡単化 - kb.ecei.tohoku.ac.jpkoba/class/keisanki-gaku/5-27.pdf · 第2回レポート課題 •2つの2桁の2進数(x 2x 1とy 2y 1)の掛け算の演 算結果をz

クワイン-マクラスキ法:

主項の求め方の概要

1-3: 1-2で置き換えられるものがなくなった時に残っているものすべてが主項

x1x2x3-01-101-111-

001010101110111

✔ 主項✔

Page 14: 論理式の簡単化 - kb.ecei.tohoku.ac.jpkoba/class/keisanki-gaku/5-27.pdf · 第2回レポート課題 •2つの2桁の2進数(x 2x 1とy 2y 1)の掛け算の演 算結果をz

クワイン-マクラスキ法:

主項の求め方の概要

置き換えられるかどうかの見分け方のコツ:

表を1の数によって分割しておき、-の数が同じで1の数が一つだけ異なるもの同士だけを比べる

-01001010101110111

-10✔

1-1✔

11-✔

Page 15: 論理式の簡単化 - kb.ecei.tohoku.ac.jpkoba/class/keisanki-gaku/5-27.pdf · 第2回レポート課題 •2つの2桁の2進数(x 2x 1とy 2y 1)の掛け算の演 算結果をz

クワイン-マクラスキ法の概要

(1)主項の集合を求める

(2)(1)で求まった主項の中から最小被覆集合を求める

Page 16: 論理式の簡単化 - kb.ecei.tohoku.ac.jpkoba/class/keisanki-gaku/5-27.pdf · 第2回レポート課題 •2つの2桁の2進数(x 2x 1とy 2y 1)の掛け算の演 算結果をz

クワイン-マクラスキ法の概要:

最小被覆集合の求め方2-1: 主項と最小項との対応表を作る

✘✘11-

✘✘1-1

✘✘-10

✘✘-01

111110101010001

Page 17: 論理式の簡単化 - kb.ecei.tohoku.ac.jpkoba/class/keisanki-gaku/5-27.pdf · 第2回レポート課題 •2つの2桁の2進数(x 2x 1とy 2y 1)の掛け算の演 算結果をz

クワイン-マクラスキ法の概要:

最小被覆集合の求め方2-2: 必須主項(= ✘が一つしかついていない最小項を覆う主項)を求める

✘✘11-

✘✘1-1

✘✘-10

✘✘-01

111110101010001

Page 18: 論理式の簡単化 - kb.ecei.tohoku.ac.jpkoba/class/keisanki-gaku/5-27.pdf · 第2回レポート課題 •2つの2桁の2進数(x 2x 1とy 2y 1)の掛け算の演 算結果をz

クワイン-マクラスキ法の概要:

最小被覆集合の求め方2-2: 必須主項(= ✘が一つしかついていない最小項を覆う主項)を求める

✘✘11-

✘✘1-1

✘✘-10

✘✘-01

111110101010001

Page 19: 論理式の簡単化 - kb.ecei.tohoku.ac.jpkoba/class/keisanki-gaku/5-27.pdf · 第2回レポート課題 •2つの2桁の2進数(x 2x 1とy 2y 1)の掛け算の演 算結果をz

クワイン-マクラスキ法の概要:

最小被覆集合の求め方2-2: 必須主項(= ✘が一つしかついていない最小項を覆う主項)を求める

✘✘11-

✘✘1-1

✘✘-10

✘✘-01

111110101010001

Page 20: 論理式の簡単化 - kb.ecei.tohoku.ac.jpkoba/class/keisanki-gaku/5-27.pdf · 第2回レポート課題 •2つの2桁の2進数(x 2x 1とy 2y 1)の掛け算の演 算結果をz

クワイン-マクラスキ法の概要:

最小被覆集合の求め方2-2: 必須主項(= ✘が一つしかついていない最小項を覆う主項)を求める

✘✘11-

✘✘1-1

✘✘-10

✘✘-01

111110101010001

Page 21: 論理式の簡単化 - kb.ecei.tohoku.ac.jpkoba/class/keisanki-gaku/5-27.pdf · 第2回レポート課題 •2つの2桁の2進数(x 2x 1とy 2y 1)の掛け算の演 算結果をz

クワイン-マクラスキ法の概要:

最小被覆集合の求め方2-2: 必須主項(= ✘が一つしかついていない最小項を覆う主項)を求める

✘✘11-

✘✘1-1

✘✘-10

✘✘-01

111110101010001

Page 22: 論理式の簡単化 - kb.ecei.tohoku.ac.jpkoba/class/keisanki-gaku/5-27.pdf · 第2回レポート課題 •2つの2桁の2進数(x 2x 1とy 2y 1)の掛け算の演 算結果をz

クワイン-マクラスキ法の概要:

最小被覆集合の求め方2-3: 残っている最小項を覆う主項の集合を論理式

を使って求める

残っている最小項:1111-1, 11-を使うかどうかを表す論理変数: U1, U2111を覆うための条件式:U1+U2

{-01, -10, 1-1} および{-01, -10, 1-1}が最小被覆集合

✘✘11-✘✘1-1

✘✘-10✘✘-01

111110101010001

Page 23: 論理式の簡単化 - kb.ecei.tohoku.ac.jpkoba/class/keisanki-gaku/5-27.pdf · 第2回レポート課題 •2つの2桁の2進数(x 2x 1とy 2y 1)の掛け算の演 算結果をz

クワイン-マクラスキ法の概要:

最小被覆集合の求め方2-3: 残っている最小項を覆う主項の集合を論理式を使って求め

一般には…必須主項に覆われない最小項:p1,…, pnpiを覆う主項:qi1,…qik主項qijを用いるかどうかを表す論理変数: Uijとすれば、

すべての論理式が覆われるための条件式は

(U11+…+U1k)(U21+…+U2k)…(Un1+…+Unk)↓積和標準形に変換

U11…U1j1+ … + Ui1…Uiji変数Uiの数が一番少ない項を選べばよい

Page 24: 論理式の簡単化 - kb.ecei.tohoku.ac.jpkoba/class/keisanki-gaku/5-27.pdf · 第2回レポート課題 •2つの2桁の2進数(x 2x 1とy 2y 1)の掛け算の演 算結果をz

クワイン-マクラスキ法:適用例

x1x2x3x4

000000010100001111000111101111011111

Page 25: 論理式の簡単化 - kb.ecei.tohoku.ac.jpkoba/class/keisanki-gaku/5-27.pdf · 第2回レポート課題 •2つの2桁の2進数(x 2x 1とy 2y 1)の掛け算の演 算結果をz

クワイン-マクラスキ法の利点・欠点

• 利点

– (カルノー図による方法と異なり)計算機で実行可能

• 欠点

– 計算時間、メモリ使用量が変数の数の指数オーダー(∵n変数の積項の数は最悪3n)

Page 26: 論理式の簡単化 - kb.ecei.tohoku.ac.jpkoba/class/keisanki-gaku/5-27.pdf · 第2回レポート課題 •2つの2桁の2進数(x 2x 1とy 2y 1)の掛け算の演 算結果をz

今日の講義内容

• 前回のレポート課題の解説

• 論理式の他の簡単化手法

– クワイン-マクラスキ法

– コンセンサス法

• ドントケア(don’t care)入力のあるもとでの論理式(部分論理関数の論理式)の簡

単化

Page 27: 論理式の簡単化 - kb.ecei.tohoku.ac.jpkoba/class/keisanki-gaku/5-27.pdf · 第2回レポート課題 •2つの2桁の2進数(x 2x 1とy 2y 1)の掛け算の演 算結果をz

コンセンサス法の概要

ステップ1:

簡単化したい論理関数fを積和形(必ずしも最小項

展開ではない)から主項の集合を求める

ステップ2:

最小被覆集合の近似解を求める

ポイント:最小項展開をしなくてよいので計算量の爆発を抑えられる。常に最適解が求まるわけではない

Page 28: 論理式の簡単化 - kb.ecei.tohoku.ac.jpkoba/class/keisanki-gaku/5-27.pdf · 第2回レポート課題 •2つの2桁の2進数(x 2x 1とy 2y 1)の掛け算の演 算結果をz

コンセンサス法

ステップ1:主項集合の求め方

(1)簡単化したい論理関数fを積和形(必ずしも最小項

展開ではない)で表し、その積項を主項の候補とする。

(2)主項の候補集合Sを以下の繰り返しで変更する。

• Sの中にxE, ~xFの形の論理式(ただしE,Fが同じ変数を含むときは肯定同士または否定同士)があり、EFを覆う積項がSにない場合

(2-1) EFに覆われる積項をSから削除し

(2-2) EFをSに追加

(3)(2)で追加するものがなくなった時、Sは主項の集

Page 29: 論理式の簡単化 - kb.ecei.tohoku.ac.jpkoba/class/keisanki-gaku/5-27.pdf · 第2回レポート課題 •2つの2桁の2進数(x 2x 1とy 2y 1)の掛け算の演 算結果をz

ステップ1:主項集合の求め方例:g(x,y,z,w)=~xz+x~zw+~xy~zw+xyz+~xyz+~x~yw

コンセンサス法

(1)簡単化したい論理関数fを積和形(必ずしも最小項

展開ではない)で表し、その積項を主項の候補とする。

S0 ={0-1-, 1-01, 0101, 111-, 011-, 00-1}

Page 30: 論理式の簡単化 - kb.ecei.tohoku.ac.jpkoba/class/keisanki-gaku/5-27.pdf · 第2回レポート課題 •2つの2桁の2進数(x 2x 1とy 2y 1)の掛け算の演 算結果をz

ステップ1:主項集合の求め方例:g(x,y,z,w)=~xz+x~zw+~xy~zw+xyz+~xyz+~x~yw

コンセンサス法

(2)主項の候補集合Sを以下の繰り返しで変更する。

• Sの中にxE, ~xFの形の論理式(ただしE,Fが同じ変数を含むときは肯定同士または否定同士)があり、EFを覆う積項がSにない場合

EFに覆われる積項をSから削除し、EFをSに追加

S0 ={0-1-, 1-01, 0101, 111-, 011-, 00-1}

-11-S1 ={0-1-, 1-01, 0101, 00-1, -11-}

Page 31: 論理式の簡単化 - kb.ecei.tohoku.ac.jpkoba/class/keisanki-gaku/5-27.pdf · 第2回レポート課題 •2つの2桁の2進数(x 2x 1とy 2y 1)の掛け算の演 算結果をz

ステップ1:主項集合の求め方例:g(x,y,z,w)=~xz+x~zw+~xy~zw+xyz+~xyz+~x~yw

コンセンサス法

(2)主項の候補集合Sを以下の繰り返しで変更する。

• Sの中にxE, ~xFの形の論理式(ただしE,Fが同じ変数を含むときは肯定同士または否定同士)があり、EFを覆う積項がSにない場合

EFに覆われる積項をSから削除し、EFをSに追加

S1 ={0-1-, 1-01, 0101, 00-1, -11-}

01-1S2 ={0-1-, 1-01, 00-1, -11-, 01-1}

Page 32: 論理式の簡単化 - kb.ecei.tohoku.ac.jpkoba/class/keisanki-gaku/5-27.pdf · 第2回レポート課題 •2つの2桁の2進数(x 2x 1とy 2y 1)の掛け算の演 算結果をz

ステップ1:主項集合の求め方例:g(x,y,z,w)=~xz+x~zw+~xy~zw+xyz+~xyz+~x~yw

コンセンサス法

(2)主項の候補集合Sを以下の繰り返しで変更する。

• Sの中にxE, ~xFの形の論理式(ただしE,Fが同じ変数を含むときは肯定同士または否定同士)があり、EFを覆う積項がSにない場合

EFに覆われる積項をSから削除し、EFをSに追加

S2 ={0-1-, 1-01, 00-1, -11-, 01-1}

11-1S3 ={0-1-, 1-01, 00-1, -11-, 01-1, 11-1}

Page 33: 論理式の簡単化 - kb.ecei.tohoku.ac.jpkoba/class/keisanki-gaku/5-27.pdf · 第2回レポート課題 •2つの2桁の2進数(x 2x 1とy 2y 1)の掛け算の演 算結果をz

ステップ1:主項集合の求め方例:g(x,y,z,w)=~xz+x~zw+~xy~zw+xyz+~xyz+~x~yw

コンセンサス法

(2)主項の候補集合Sを以下の繰り返しで変更する。

• Sの中にxE, ~xFの形の論理式(ただしE,Fが同じ変数を含むときは肯定同士または否定同士)があり、EFを覆う積項がSにない場合

EFに覆われる積項をSから削除し、EFをSに追加

S3 ={0-1-, 1-01, 00-1, -11-, 01-1, 11-1}

-1-1S4 ={0-1-, 1-01, 00-1, -11-, -1-1}

Page 34: 論理式の簡単化 - kb.ecei.tohoku.ac.jpkoba/class/keisanki-gaku/5-27.pdf · 第2回レポート課題 •2つの2桁の2進数(x 2x 1とy 2y 1)の掛け算の演 算結果をz

ステップ1:主項集合の求め方例:g(x,y,z,w)=~xz+x~zw+~xy~zw+xyz+~xyz+~x~yw

コンセンサス法

(2)主項の候補集合Sを以下の繰り返しで変更する。

• Sの中にxE, ~xFの形の論理式(ただしE,Fが同じ変数を含むときは肯定同士または否定同士)があり、EFを覆う積項がSにない場合

EFに覆われる積項をSから削除し、EFをSに追加

S4 ={0-1-, 1-01, 00-1, -11-, -1-1}

0--1S5 ={0-1-, 1-01, -11-, -1-1, 0--1}

Page 35: 論理式の簡単化 - kb.ecei.tohoku.ac.jpkoba/class/keisanki-gaku/5-27.pdf · 第2回レポート課題 •2つの2桁の2進数(x 2x 1とy 2y 1)の掛け算の演 算結果をz

ステップ1:主項集合の求め方例:g(x,y,z,w)=~xz+x~zw+~xy~zw+xyz+~xyz+~x~yw

コンセンサス法

(2)主項の候補集合Sを以下の繰り返しで変更する。

• Sの中にxE, ~xFの形の論理式(ただしE,Fが同じ変数を含むときは肯定同士または否定同士)があり、EFを覆う積項がSにない場合

EFに覆われる積項をSから削除し、EFをSに追加

S5 ={0-1-, 1-01, -11-, -1-1, 0--1}

--01S6 ={0-1-, -11-, -1-1, 0--1, --01}主項の集合: {~xz, yz, yw, ~xw, ~zw}

Page 36: 論理式の簡単化 - kb.ecei.tohoku.ac.jpkoba/class/keisanki-gaku/5-27.pdf · 第2回レポート課題 •2つの2桁の2進数(x 2x 1とy 2y 1)の掛け算の演 算結果をz

ステップ1:主項集合の求め方例:g(x,y,z,w)=~xz+x~zw+~xy~zw+xyz+~xyz+~x~yw

コンセンサス法

(3)(2)で追加するものがなくなった時、Sは主項の集合

S6 ={0-1-, -11-, -1-1, 0--1, --01}

主項の集合: {~xz, yz, yw, ~xw, ~zw}

注:実際には(2)の操作を網羅的に行うため、表を用いる。

表を用いる方法の詳細は教科書を参照

Page 37: 論理式の簡単化 - kb.ecei.tohoku.ac.jpkoba/class/keisanki-gaku/5-27.pdf · 第2回レポート課題 •2つの2桁の2進数(x 2x 1とy 2y 1)の掛け算の演 算結果をz

コンセンサス法の適用例

g(x,y,z,w)=~xz+x~zw+~xy~zw+xyz+~xyz+~x~yw主項の候補:

S0 ={0-1-, 1-01, 0101, 111-, 011-, 00-1}

-11-

Page 38: 論理式の簡単化 - kb.ecei.tohoku.ac.jpkoba/class/keisanki-gaku/5-27.pdf · 第2回レポート課題 •2つの2桁の2進数(x 2x 1とy 2y 1)の掛け算の演 算結果をz

コンセンサス法の概要

ステップ1:

簡単化したい論理関数fを積和形(必ずしも最小項

展開ではない)から主項の集合を求める

ステップ2:

最小被覆集合の近似解を求める

ポイント:最小項展開をしなくてよいので計算量の爆発を抑えられる。常に最適解が求まるわけではない

Page 39: 論理式の簡単化 - kb.ecei.tohoku.ac.jpkoba/class/keisanki-gaku/5-27.pdf · 第2回レポート課題 •2つの2桁の2進数(x 2x 1とy 2y 1)の掛け算の演 算結果をz

コンセンサス法

ステップ2:被覆集合の求め方例:g(x,y,z,w)=~xz+x~zw+~xy~zw+xyz+~xyz+~x~yw

(1)各主項pi について、「piを被覆集合に入れるべきか否か」を表す論理変数Uiを用意

S6 ={0-1-, -11-, -1-1, 0--1, --01}

主項の集合: {~xz, yz, yw, ~xw, ~zw}

Page 40: 論理式の簡単化 - kb.ecei.tohoku.ac.jpkoba/class/keisanki-gaku/5-27.pdf · 第2回レポート課題 •2つの2桁の2進数(x 2x 1とy 2y 1)の掛け算の演 算結果をz

ステップ2:被覆集合の求め方例:g(x,y,z,w)=~xz+x~zw+~xy~zw+xyz+~xyz+~x~yw

主項:~xz, yz, yw, ~xw, ~zw(順にp1,p2,p3,p4,p5)

コンセンサス法

(2)各主項pi について、以下の論理式を構成(A) pi が他の主項pj=xE, pk=~xFによってEFと表せる場合

(=他の2つの主項によって覆われる場合): Ui + UjUk(B) その他の場合:Ui

例: p1: U1p2: U2p3: U3+U2U5p4: U4+U1U5p5: U5

Page 41: 論理式の簡単化 - kb.ecei.tohoku.ac.jpkoba/class/keisanki-gaku/5-27.pdf · 第2回レポート課題 •2つの2桁の2進数(x 2x 1とy 2y 1)の掛け算の演 算結果をz

ステップ2:被覆集合の求め方例:g(x,y,z,w)=~xz+x~zw+~xy~zw+xyz+~xyz+~x~yw

主項:~xz, yz, yw, ~xw, ~zw(順にp1,p2,p3,p4,p5)

コンセンサス法

(3)(2)の論理式の積を積和標準形に直し、変数の数が

最小の積項を探す。最小のものが複数あれば、各変数が表す主項の小さいものを選ぶ。

例: p1: U1p2: U2p3: U3+U2U5p4: U4+U1U5p5: U5

U1 U2 (U3+U2U5)(U4+U1U5)U5= U1U2U3U4U5 + U1U2U4U5

+ U1U2U3U5 + U1U2U5

gの被覆集合 = {~xz, yz, ~zw}

g(x,y,z,w) = ~xz + yz + ~zw

Page 42: 論理式の簡単化 - kb.ecei.tohoku.ac.jpkoba/class/keisanki-gaku/5-27.pdf · 第2回レポート課題 •2つの2桁の2進数(x 2x 1とy 2y 1)の掛け算の演 算結果をz

今日の講義内容

• 前回のレポート課題の解説

• 論理式の他の簡単化手法

– クワイン-マクラスキ法

– コンセンサス法

• ドントケア(don’t care)入力のあるもとでの論理式(部分論理関数の論理式)の簡単化(教科書3.7節)

Page 43: 論理式の簡単化 - kb.ecei.tohoku.ac.jpkoba/class/keisanki-gaku/5-27.pdf · 第2回レポート課題 •2つの2桁の2進数(x 2x 1とy 2y 1)の掛け算の演 算結果をz

部分論理関数一部の入力(ドントケア入力と呼ぶ)について値が定義されていない論理関数

入力101x, 11xx については値が未定義

Page 44: 論理式の簡単化 - kb.ecei.tohoku.ac.jpkoba/class/keisanki-gaku/5-27.pdf · 第2回レポート課題 •2つの2桁の2進数(x 2x 1とy 2y 1)の掛け算の演 算結果をz

部分論理関数の論理式の簡単化(カルノー図による方法)

• ドントケア入力に対応する部分に∗を追加

• 条件「1だけからなる長方形」を「1または∗のみからなる長方形」に変更

1110

11

11101

11100

10110100

Page 45: 論理式の簡単化 - kb.ecei.tohoku.ac.jpkoba/class/keisanki-gaku/5-27.pdf · 第2回レポート課題 •2つの2桁の2進数(x 2x 1とy 2y 1)の掛け算の演 算結果をz

部分論理関数fの論理式の簡単化

(一般的手法)• fの定義域に含まれない入力に対して1を出

力する関数fDを構成fD(x1,…,xn) = f(x1,…xn) if (x1,…,xn)∈dom(f)

1 その他の場合

• fDの主項の集合を求める

• 主項のうち、ドントケア入力だけを覆うものを削除

• 残った主項の中からfの最小被覆集合を求め、その要素の和を論理式とする

Page 46: 論理式の簡単化 - kb.ecei.tohoku.ac.jpkoba/class/keisanki-gaku/5-27.pdf · 第2回レポート課題 •2つの2桁の2進数(x 2x 1とy 2y 1)の掛け算の演 算結果をz

部分論理関数の論理式の簡単化(カルノー図による方法)

• ドントケア入力に対応する部分に∗を追加

• 条件「1だけからなる長方形」を「1または∗のみからなる長方形」に変更

∗∗1110

∗∗∗∗11

11101

11100

10110100

x3

x3x2x1x0

x1

x2x0~x2~x0

f1(x3,x2,x1,x0) =x1 + x3 + x2x0 + ~x2~x0

Page 47: 論理式の簡単化 - kb.ecei.tohoku.ac.jpkoba/class/keisanki-gaku/5-27.pdf · 第2回レポート課題 •2つの2桁の2進数(x 2x 1とy 2y 1)の掛け算の演 算結果をz

課題

• 教科書p.71表3.13のf2を最簡形の論理式で

表せ

Page 48: 論理式の簡単化 - kb.ecei.tohoku.ac.jpkoba/class/keisanki-gaku/5-27.pdf · 第2回レポート課題 •2つの2桁の2進数(x 2x 1とy 2y 1)の掛け算の演 算結果をz

論理回路の設計の実際• 他出力回路

f1,…,f7の間で回路を共有できるので、

全体として素子数が最小となるよう設計

Page 49: 論理式の簡単化 - kb.ecei.tohoku.ac.jpkoba/class/keisanki-gaku/5-27.pdf · 第2回レポート課題 •2つの2桁の2進数(x 2x 1とy 2y 1)の掛け算の演 算結果をz

論理回路の設計の実際

• 多段論理回路– 今までの簡単化は、AND-ORの2段で構成する

場合の最適な解

– 実際にはファンインの制限などで多段になるので必ずしも最適とは限らない

例:f = x3+x2~x1+~x2x1+x1~x0= x3+x2~x1+x1(~x2+~x0)

素子数3

素子数2

Page 50: 論理式の簡単化 - kb.ecei.tohoku.ac.jpkoba/class/keisanki-gaku/5-27.pdf · 第2回レポート課題 •2つの2桁の2進数(x 2x 1とy 2y 1)の掛け算の演 算結果をz

論理回路の設計の実際

• 可変論理回路目的:複数の論理関数f1(x1,…,xn),…,fm(x1,…,xn)

を切り替えて使用

問題:1つの論理関数g:

g(x1,…,xn,c1,…,ck) = f h(c1,…,ck) (x1,…,xn)で実現する場合に、識別関数h(c1,…,ck)をどう

定義するかによって必要素子数が異なる

(f1,…,fnのうち、似たもの同士に近いc1,…,ckを

割り当てるのがよい)

Page 51: 論理式の簡単化 - kb.ecei.tohoku.ac.jpkoba/class/keisanki-gaku/5-27.pdf · 第2回レポート課題 •2つの2桁の2進数(x 2x 1とy 2y 1)の掛け算の演 算結果をz

論理回路の設計の実際

• 多値入力二値出力関数複数の入力をまとめて入力変数の数を減らして論理式を最小化

• テクノロジーマッピング– 論理式を配置や使用素子などを考慮して実際の

電子回路に対応づける作業

• ハードウェア記述言語(HDL)– 論理回路の仕様を記述が与えられると論理式の

簡単化などを行って実際のLSIのマスクパターンを生成

Page 52: 論理式の簡単化 - kb.ecei.tohoku.ac.jpkoba/class/keisanki-gaku/5-27.pdf · 第2回レポート課題 •2つの2桁の2進数(x 2x 1とy 2y 1)の掛け算の演 算結果をz

論理回路の設計の実際

• テスト生成

作成された論理回路が設計通りに動作するかどうかをテストするための入力パターンの生成

• 耐故障回路

– 論理回路を冗長化し、一部の素子や配線に故障が生じてもそれを検出・修復できるようにした回路