ディジタル回路 3. 組み合わせ回路 五島 正裕 2018/11/28.

Slides:



Advertisements
Similar presentations
1 線形代数学. 2 履修にあたって 電子情報システム学科 必修 2005 年度1セメスタ開講 担当 草苅良至 (電子情報システム学科) 教官室: G I 511 内線: 2095 質問等は上記のいずれかに行なうこと。 注意計算用のノートを準備すること。
Advertisements

2016 年度 計量経済学 講義内容 担当者: 河田 正樹
論理回路 第3回 今日の内容 前回の課題の解説 論理関数の基礎 – 論理関数とは? – 真理値表と論理式 – 基本的な論理関数.
論理回路 第 11 回
0章 数学基礎.
第3回 論理式と論理代数 本講義のホームページ:
全加算回路 A, Bはそれぞれ0または1をとるとする。 下位桁からの繰り上がりをC1とする。(0または1)
電子回路設計 電子制御設計製図Ⅰ  2009年11月17日 Ⅳ限目.
第2回 真理値表,基本ゲート, 組合せ回路の設計
計算の理論 II NP完全 月曜4校時 大月美佳.
4. 順序回路 五島 正裕.
本時の目標 負の数をふくむ3つ以上の数の乗法や除法の効率のいい計算のしかたに気づき、効率よく計算することができる。
論理式の表現を数学的に取り扱いやすくするために代数学の助けを借りる.
人工知能特論2011 資料No.6 東京工科大学大学院 担当教員 亀田弘之.
香川大学工学部 富永浩之 情報数学1 第5-2章 命題論理式の 同値変形とカルノー表 香川大学工学部 富永浩之
情報教育論 第9回 仮定文の仕組み 政策・メディア研究科 岡田 健.
最尤推定によるロジスティック回帰 対数尤度関数の最大化.
第4回 カルノー図による組合せ回路の簡単化 瀬戸 目標 ・AND-OR二段回路の実現コスト(面積、遅延)が出せる
補数 n:桁数、b:基数 bの補数 bn-x 253(10進数)の10の補数は、 =747
プログラミング演習Ⅰ 課題2 10進数と2進数 2回目.
10.通信路符号化手法2 (誤り検出と誤り訂正符号)
基本情報技術概論(第3回) 埼玉大学 理工学研究科 堀山 貴史
ディジタル回路 1. アナログ と ディジタル 五島 正裕.
7. 順序回路 五島 正裕.
8. 順序回路の簡単化,機能的な順序回路 五島 正裕.
5. 機能的な組み合わせ回路 五島 正裕.
論理回路 第7回
論理回路 第8回
4. 組み合わせ回路の構成法 五島 正裕.
6. 順序回路の基礎 五島 正裕.
第6回 よく使われる組合せ回路 瀬戸 重要な組合せ回路を理解し、設計できるようにする 7セグディスプレイ用デコーダ 加算回路・減算回路
アルゴリズムとチューリングマシン 「もの」(商品)としてのコンピュータ 「こと」(思想)としてのコンピュータ アルゴリズム
電子回路設計 電子制御設計製図Ⅰ  2010年11月30日 Ⅲ限目.
第4章 組合せ論理回路 (4) Quine McCluskeyの方法.
2. 論理ゲート と ブール代数 五島 正裕.
第10回関数 Ⅱ (ローカル変数とスコープ).
ディジタル回路 2. ブール代数 と 論理ゲート 五島 正裕.
第5回 今日の目標 §1.6 論理演算と論理回路 ブール代数の形式が使える 命題と論理関数の関係を示せる
ディジタル回路 6. 順序回路の実現 五島 正裕.
アルゴリズムとプログラミング (Algorithms and Programming)
数理論理学 第3回 茨城大学工学部情報工学科 佐々木 稔.
デザイン情報学科 メディア情報設計 河原英紀
電気電子情報第一(前期)実験 G5. ディジタル回路
3. 論理ゲート の 実現 五島 正裕.
9. 演算回路 五島 正裕.
9.通信路符号化手法1 (誤り検出と誤り訂正の原理)
情報処理Ⅱ 第2回:2003年10月14日(火).
情報基礎Ⅱ (第5回) 月曜4限 担当:北川 晃.
プログラミング 4 探索と計算量.
7. 機能的な組み合わせ回路 五島 正裕.
ディジタル回路 7. 機能的な組み合わせ回路 五島 正裕.
平面波 ・・・ 平面状に一様な電磁界が一群となって伝搬する波
生物情報ソフトウェア特論 (2)たたみ込みとハッシュに 基づくマッチング
ディジタル回路 9. 演算回路 五島 正裕.
基本情報技術概論(第2回) 埼玉大学 理工学研究科 堀山 貴史
論理回路 第12回
論理回路 第4回
  第3章 論理回路  コンピュータでは,データを2進数の0と1で表現している.この2つの値,すなわち,2値で扱われるデータを論理データという.論理データの計算・判断・記憶は論理回路により実現される.  コンピュータのハードウェアは,基本的に論理回路で作られている。              論理積回路.
B03 量子論理回路の 最適化に関する研究 西野哲朗,垂井淳,太田和夫,國廣昇 電気通信大学 情報通信工学科.
プログラミング 3 2 次元配列.
8. 順序回路の実現 五島 正裕.
論理回路 第5回
プログラミング言語論 第10回 情報工学科 篠埜 功.
9. 演算回路 五島 正裕.
香川大学工学部 富永浩之 情報数学1 第5-2章 命題論理式の 同値変形とカルノー表 香川大学工学部 富永浩之
プログラミング入門2 第6回 関数 情報工学科 篠埜 功.
情報生命科学特別講義III (3)たたみ込みとハッシュに 基づくマッチング
論理回路(and,or,not)を作成. 回路を組み合わせ半/全加算器.
練習問題.
練習問題.
Presentation transcript:

ディジタル回路 3. 組み合わせ回路 五島 正裕 2018/11/28

ディジタル回路 今日の内容 導入問題 論理関数の標準形 カルノー図による簡単化 今日のまとめ

ディジタル回路 導入問題

例題 Q. 3つの入力 x,y,z に対して, 以下のいずれかの条件が成立したとき 1, それ以外は 0 となる論理関数 F を求めよ. ディジタル回路 例題 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 …………③

ディジタル回路 例題 x x y y z F F z ① x F y ② z ③

組み合わせ回路の簡単化 物理的な最終目標: 回路の遅延時間を短くする. 回路の面積を小さくする. 組み合わせ回路の簡単化の目標: ディジタル回路 組み合わせ回路の簡単化 物理的な最終目標: 回路の遅延時間を短くする. 回路の面積を小さくする. 組み合わせ回路の簡単化の目標: 論理ゲートの段数を少なくする. 論理ゲートの個数を少なくする. 論理ゲートへの入力の数を少なくする. 工学的目標: その系統だった方法を見つける.

ディジタル回路 論理関数 の 標準形

用語の定義 定義: リテラル (literal): x に対して,x または x’ ディジタル回路 用語の定義 定義: リテラル (literal): x に対して,x または x’ 積項 (product term)/和項 (sum term): リテラルの論理積/論理和 n 変数の論理関数の 最小項 (minterm)/最大項 (maxterm): n 種のリテラルからなる積項/和項 具体例:3変数 (x, y, z) の論理関数の場合: リテラル : x, x’, y, y’, z, z’ の6種 積 項 : 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 の8種 最大項 : x’ + y’ + z’, x’ + y’ + z, … の8種

用語の定義 最小項 の 論理和 積和標準形 (canonical sum-of-products form) ディジタル回路 用語の定義 最小項 の 論理和 積和標準形 (canonical sum-of-products form) 加法標準形 (disjunctive canonical (normal) form) 最小項表現 (minterm expression) 最大項 の 論理積 和積標準形 (canonical product-of-sums form) 乗法標準形 (conjunctive canonical (normal) form) 最大項表現 (maxterm expression)

標準形 標準形 (canonical (normal) form) : 論理関数 F を一意に表現する論理式の「かたち」 ディジタル回路 標準形 標準形 (canonical (normal) form) : 論理関数 F を一意に表現する論理式の「かたち」 F1 と F2 の標準形が同じ ⇔ F1 と F2 は同じ

例題 ディジタル回路 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 …………③

ディジタル回路 例題 x x y y z F F z ① x F y ② 積和標準形 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 M0 M1 M2 m3 m4 m5 m6 m7 F x + y + z x + y + z’ x + y’+ z x’yz xy’z’ xy’z xyz’ xyz 1 2 3 4 5 6 7

積和標準形 と 和積標準形 積和標準形 と 和積標準形 和積標準形の方が慣れている 数学的には「双対」 (dual) 説明は,積和標準形で ディジタル回路 積和標準形 と 和積標準形 積和標準形 と 和積標準形 和積標準形の方が慣れている 数学的には「双対」 (dual) 説明は,積和標準形で 和積標準形に変換することは容易 AND ⇔ OR,0 ⇔ 1 に替えればよい

ディジタル回路 カルノー図

カルノー図 2入力 3入力 4入力 カルノー図(Karnaugh Map) 真理値表の一種 ディジタル回路 カルノー図 カルノー図(Karnaugh Map) 真理値表の一種 グレイ・コード: 00 → 01 → 11 → 10 0 は省略してよい zw xy 00 01 11 10 y x 1 yz x 00 01 11 10 1 2入力 3入力 4入力

カルノー図の例 F3(x, y) = xy F23 (x, y) = xy + xy' F2 (x, y) = xy' y x y x y ディジタル回路 カルノー図の例 y x 1 y x 1 F3(x, y) = xy y x 1 F23 (x, y) = xy + xy' F2 (x, y) = xy'

カルノー図の例 F23 (x, y) = x F023 (x, y) = x + y' F02(x, y) = y' y x y x y x ディジタル回路 カルノー図の例 y x 1 y x 1 F23 (x, y) = x y x 1 F023 (x, y) = x + y' F02(x, y) = y'

ディジタル回路 カルノー図 による 簡単化

簡単化のキーポイント セレクタ x y + x' y = y x y + x' y = (x + x') y = 1 · y = y ディジタル回路 簡単化のキーポイント x y + x' y = y x y + x' y = (x + x') y = 1 · y = y x yz + x' yz = yz x yz + x' yz = (x + x') yz = 1 · yz = yz x □ + x' □ = □ セレクタ x

カルノー図だと 1/2 F3 (x, y) = xy F13 (x, y) = xy + x'y F13 (x, y) = y ディジタル回路 カルノー図だと 1/2 y x 1 y x 1 y x 1 F3 (x, y) = xy y x 1 F13 (x, y) = xy + x'y F13 (x, y) = y F1 (x, y) = x'y

カルノー図だと 2/2 F7 (x, y, z) = x yz F37(x, y, z) = x yz + x' yz ディジタル回路 カルノー図だと 2/2 yz x 00 01 11 10 1 yz x 00 01 11 10 1 yz x 00 01 11 10 1 F7 (x, y, z) = x yz yz x 00 01 11 10 1 F37(x, y, z) = x yz + x' yz F37(x, y, z) = yz F3 (x, y, z) = x' yz

2次元超立方体による表現 S (1, 3) = m1 + m3 = x' y +x y = y 1 O y x 1 y 1 1 x # x ディジタル回路 2次元超立方体による表現 S (1, 3) = m1 + m3 = x' y +x y = y # x y F 1 2 3 1 O (0, 0) (0, 1) y x 1 1 y 1 1 (1, 0) (1, 1) x

F = x’yz + xy’z’ + xy’z + xyz’ + xyz = x + yz ディジタル回路 3次元超立方体による表現 F = x’yz + xy’z’ + xy’z + xyz’ + xyz = x + yz yz xz z x’yz 1 1 xyz xy’z xy 1 1 y x 主項 (prime implicant): これ以上大きくはできない積項 x と yz 1 1 xyz’ xy’ x 1 xz’ O 1 xy’z’

ディジタル回路 4次元超立方体による表現

カルノー図 2入力 3入力 4入力 カルノー図(Karnaugh Map) 真理値表の1種 グレイ・コード ディジタル回路 カルノー図 カルノー図(Karnaugh Map) 真理値表の1種 グレイ・コード ハミング距離が 1 のマス: 図上で隣接している! zw xy 00 01 11 10 y x 1 yz x 00 01 11 10 1 2入力 3入力 4入力

グレイ・コード 性質: 隣接する符号語間では, 1桁のみ異なる. 2桁なら: 00 → 01 → 11 → 10 → 00 # 3 2 1 ディジタル回路 グレイ・コード 性質: 隣接する符号語間では, 1桁のみ異なる. 2桁なら: 00 → 01 → 11 → 10 → 00 # 3 2 1 4 5 6 7 8 …

ディジタル回路 カルノー図の表現法 トーラス状に表した4入力のカルノー図

F = x’yz + xy’z’ + xy’z + xyz’ + xyz = x + yz ディジタル回路 カルノー図による例題の簡単化 x y z F M0 M1 1 M2 m3 m4 m5 m6 m7 F = x’yz + xy’z’ + xy’z + xyz’ + xyz = x + yz yz x 00 01 11 10 1

カルノー図による簡単化の手順 手順: カルノー図の上で隣接した「1」を探し,主項を求める. 縦横ともに 2 のべき乗の大きさ. ディジタル回路 カルノー図による簡単化の手順 手順: カルノー図の上で隣接した「1」を探し,主項を求める. 縦横ともに 2 のべき乗の大きさ. できる限り大きく. 重なってもよい. はみ出してはいけない. 「1」をすべてカバーする,最小の主項の組み合わせを求める. 意味: ループを大きくする: AND ゲートの入力数を減らす ループを少なくする: AND ゲートの数を減らす OR ゲートの入力の数を減らす

カルノー図による簡単化の例(1) x’y’w y’zw’ zw xy zw xy 00 01 11 10 1 00 01 11 10 1 ディジタル回路 カルノー図による簡単化の例(1) zw xy 00 01 11 10 1 zw xy 00 01 11 10 1 x’y’w y’zw’

カルノー図による簡単化の例(2) z’w x’y zw xy zw xy 00 01 11 10 1 00 01 11 10 1 ディジタル回路 カルノー図による簡単化の例(2) zw xy 00 01 11 10 1 zw xy 00 01 11 10 1 z’w x’y

ディジタル回路 カルノー図による簡単化の例(3) zw xy 00 01 11 10 1 zw xy 00 01 11 10 1 yw y

カルノー図による簡単化の例(4) z’w + yzw z’w + yw zw xy zw xy 00 01 11 10 1 00 01 11 ディジタル回路 カルノー図による簡単化の例(4) zw xy 00 01 11 10 1 zw xy 00 01 11 10 1 z’w + yzw z’w + yw

5入力のカルノー図 v = 0 v = 1 v’x’y’z’w’ + xyzw zw xy zw xy 00 01 11 10 1 00 ディジタル回路 5入力のカルノー図 zw xy 00 01 11 10 1 zw xy 00 01 11 10 1 v = 0 v = 1 v’x’y’z’w’ + xyzw

問題 の 例 以下の問いに答えよ.答えは、ブール代数の式と MIL 記法の回路図の両方で記せ. 下記の3入力関数 ディジタル回路 問題 の 例 以下の問いに答えよ.答えは、ブール代数の式と MIL 記法の回路図の両方で記せ. 下記の3入力関数 S (0, 1, 5, 6, 7) S (0, 1, 2, 3, 5, 7) S (0, 1, 2, 4, 7) 下記の4入力関数 S (0, 1, 5, 7, 8, 10, 14, 15) S (1, 5, 6, 7, 10, 12, 13, 15) S (0, 2, 8, 10, 14) 0 以上 15 以下の整数を 4桁の二進数として入力し,それが以下の条件を満たすならば 1 を, 満たさないならば 0 を返す 素数 フィボナッチ数 3. で,入力が 1 以上 9 以下ならどうか.

カルノー図を用いた簡単化 カルノー図 メリット: 直感的 ディメリット: 入力が多いと難しい(6入力までならなんとか) 直感的 ⇒ 発見的 ディジタル回路 カルノー図を用いた簡単化 カルノー図 メリット: 直感的 ディメリット: 入力が多いと難しい(6入力までならなんとか) 直感的 ⇒ 発見的 クワイン・マクラスキー法 (Quine-McCluskey) アルゴリズムとして定式化したもの

「簡単化」の限界 カルノー図 (QM 法) 「簡単化」であって,「最小化」ではない 最小の積和形(和積形)を与える ディジタル回路 「簡単化」の限界 カルノー図 (QM 法) 「簡単化」であって,「最小化」ではない 最小の積和形(和積形)を与える 積和形,和積形が最小かどうかは分からない 積和形 と 和積形 のどちらが小さいか分からない XOR が扱えない CAD 等では使われていない BDD(Binary Decision Diagram:二分決定木)

例題 Q. 3つの入力 x,y,z に対して, 以下のいずれかの条件が成立したとき 1, それ以外は 0 となる論理関数 F を求めよ. ディジタル回路 例題 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

例題 x != y y == z (x != y)(y == z) xy xz xy + xz + (x != y)(y == z) yz ディジタル回路 例題 yz x 00 01 11 10 1 yz x 00 01 11 10 1 yz x 00 01 11 10 1 x != y y == z (x != y)(y == z) yz x 00 01 11 10 1 yz x 00 01 11 10 1 yz x 00 01 11 10 1 xy xz xy + xz + (x != y)(y == z)

例題 xy + xz + (x != y)(y == z) x + yz yz x yz x 00 01 11 10 1 00 01 11 ディジタル回路 例題 yz x 00 01 11 10 1 yz x 00 01 11 10 1 xy + xz + (x != y)(y == z) x + yz

ディジタル回路 不完全指定 組み合わせ回路

Don’t Care Don’t Care 「気にしない」 出力は,0 でも 1 でもよい “ f ”,“ * ” などで表す ディジタル回路 Don’t Care Don’t Care 「気にしない」 出力は,0 でも 1 でもよい “ f ”,“ * ” などで表す 回路が簡単になるように 適当に決めてよい その入力は こない その出力は 使われない 組み合わせ回路

Don’t Care z’w + x’yw z’w + yw zw xy f 1 zw xy f 1 00 01 11 10 00 01 ディジタル回路 Don’t Care zw xy 00 01 11 10 f 1 zw xy 00 01 11 10 f 1 z’w + x’yw z’w + yw

ディジタル回路 今日のまとめ

まとめ 標準形 入力パタン ⇔ 最小項,最大項 カルノー図 ルール: x □ + x' □ = □ ディジタル回路 まとめ 標準形 入力パタン ⇔ 最小項,最大項 カルノー図 ルール: x □ + x' □ = □ 真理値表の1種で,ルールが適用できるマスは隣接している