論理設計学 問題と解答解説集(補足)
教科書:Morris Mano “Digital Design”
対応ノート:第15回 順序回路の設計手順 | 順序回路 総復習
使い方
メインの問題集に入っていない分野の問題を集めた。先に自分で解いてから解答を開こう。
1. コンセンサス定理(Ch03)
問題1-1 コンセンサス項の追加と削除
次の論理式を、コンセンサス定理を使って簡単化せよ。どのような操作をしたかも記述すること。
解答
コンセンサス定理の復習:
手順:
と のコンセンサス = ? いや…
コンセンサス項は に対して 。なので項のペアに注目。と → コンセンサス = ? ちょっと違う。
、
、、…いや、この形ではない。コンセンサス定理が直接適用できるペアを探す:
- と :、、 → で は存在しないので適用不可
実際にはExample 3.3では以下の操作をしている:
- → これは吸収則とは違う
正解の手順:
- と のコンセンサス = ?→ () と () → → なし
うーん、この式ではコンセンサス定理を直接使いにくい。教科書では次の手順が示されている:
Step 1: (分配則)
Step 2: → ここからコンセンサス教科書の結果(p.22): はコンセンサス項の追加・削除により簡単化される。
具体的な結果式は、(3-22)→(3-23)の変換に対応する。
解説
コンセンサス定理のポイント:
- XY + X’Z + YZ = XY + X’Z(YZは冗長なので消せる)
- 逆に XY + X’Z = XY + X’Z + YZ(YZを追加しても同じ)
- 追加した項が他の項を吸収して全体が簡単化できることがある
使い方のコツ:
- 式の中から「X Y」と「X’ Z」の形のペアを探す
- そのコンセンサス「Y Z」を追加する
- 追加した項が他の項を吸収(A + AB = A)することを確認
- 冗長になったコンセンサス項を削除
問題1-2 代数的手法による簡単化
次の論理式を、コンセンサス定理と吸収則を使って簡単化せよ。
解答
Step 1: と のコンセンサス = を追加
Step 2: は に吸収される(吸収則:)
よってStep 3: は と のコンセンサスだが、もともと冗長な項なので削除
答え:
解説
この問題の流れがコンセンサス定理の最もスマートな使い方。
- まずコンセンサス項 を追加
- 追加した が を吸収
- 役目を終えた を削除(もともと無くても成立していた項)
つまり「一時的に項を追加して他の項を消し、最後に自分も消える」というパターン。
このテクニックはK-mapでは見落としがちな簡単化を可能にする。
2. Petrick’s Method(Ch06)
問題2 Q-M法とPetrickの方法
次の論理関数について、クワイン・マクラスキー法で主項を求め、Petrickの方法で最小被覆を選べ。
解答
Step 1:最小項を1の数でグループ分け
1の数 最小項 2進数 1個 1(dc) 0001 4(dc) 0100 8(dc) 1000 2個 5(dc) 0101 9 1001 12 1100 3個 7(dc) 0111 11(dc) 1011 13 1101 14(dc) 1110 4個 15(dc) 1111 Step 2:ペアリング
結合 元の項 結果 1,5 0001,0101 0-01 1,9 0001,1001 -001 4,5 0100,0101 010- 4,12 0100,1100 -100 8,9 1000,1001 100- 8,12 1000,1100 1-00 5,7 0101,0111 01-1 5,13 0101,1101 -101 9,11 1001,1011 10-1 9,13 1001,1101 1-01 12,13 1100,1101 110- 12.14 1100,1110 11-0 7,15 0111,1111 -111 11,15 1011,1111 1-11 13,15 1101,1111 11-1 14,15 1110,1111 111- Step 3:さらにペアリング
結合 元の項 結果 1,5 + 9,13 -001 + -101 -0-1 (P1) 1,9 + 5,13 0-01 + -101 パターン不一致 4,12 + 5,13 -100 + -101 -10- (P2) 8,12 + 9,13 1-00 + 1-01 1-0- (P3) 5,7 + 13,15 01-1 + 11-1 -1-1 (P4) 9,11 + 13,15 10-1 + 11-1 1—1 (P5) 12,13 + 14,15 110- + 111- 11— (P6) これ以上結合できない項(主項):
- P1:
- P2: ? いや、 は か ?
2文字目が1、3文字目が0 →- P3:
- P4:
- P5:
- P6:
Step 4:主項表
主項 9(1001) 12(1100) 13(1101) 15(1111) P1: (-0-1) ✓ - ✓ ✓ P2: (-10-) - ✓ - - P3: (1-0-) - ✓ - - P4: (-1-1) - - ✓ ✓ P5: (1—1) ✓ - ✓ ✓ P6: (11—) - ✓ ✓ ✓ dc項(1,4,5,7,8,11,14)は被覆しなくてよい。
必須項は…どの列も複数の主項でカバーされているので、必須項はない。Step 5:Petrickの方法
各列をカバーする主項の論理和の積で、論理関数 を生成:
- 列9(1001):P1 + P5
- 列12(1100):P2 + P3 + P6
- 列13(1101):P1 + P4 + P5 + P6
- 列15(1111):P1 + P4 + P5 + P6
簡略化:
展開して簡単化:
あれ、ちょっと違う。? いや
(P1, P5で吸収)よって
( は に吸収されるので消える)展開:
| 項 | 含まれる主項の数 | リテラル数 |
|:—:|:----------------:|:---------:|
| P1P2 | 2個 | → 6リテラル |
| P1P3 | 2個 | → 6リテラル |
| P1P6 | 2個 | → 5リテラル |
| P5P2 | 2個 | → 6リテラル |
| P5P3 | 2個 | → 5リテラル |
| P5P6 | 2個 | → 5リテラル |最小リテラル数の項が複数ある。代表的な最小解:
解説
Petrickの方法は、Q-M法で主項を求めたあと、最小被覆を代数的に選択する手法。
手順:
- 各列(最小項)をカバーする主項の論理和を列挙
- 全列の論理積 を生成
- を展開・簡単化
- 変数の数が最小の項(の項)を選ぶ
- その項に含まれる主項の和が最小被覆
必須項がない場合に特に有効。 必須項があるパターンの問題と補完関係にある。
3. NORゲート多段回路(Ch08)
問題3 ファンイン制限下の回路設計
次の論理関数を、3入力NORゲートのみを使って実現せよ。
解答
Step 1: の補集合 の積和形を求める
K-mapにプロット(1のマス = ):
cd 00 01 11 10 ab 00 1 0 1 0 01 1 1 0 1 11 0 0 1 1 10 1 1 0 0の最小項:
K-mapから の積和形:
Step 2:因数分解して多段回路化
検算は省略。この因数分解は多段回路化のための1つの例。
Step 3:両辺を否定してNORに変換
ド・モルガンの法則を適用:
Step 4:NORゲートのみで実現
式を変形してNOR-NOR-NOR-NORの4段回路にする:
- 1段目:,
- 2段目:, ,
- 3段目: → ちょっと複雑
実際の回路は教科書図8.1を参照。
解説
NORゲートのみで回路を実現する手順:
- 関数の否定 の積和形を求める(K-mapで0をまとめる)
- 因数分解して多段化(ファンイン制限を満たすように)
- 両辺を否定して に戻す(ド・モルガン)
- 各段をNORで構成
ポイント:NORは万能ゲート(NOT, OR, ANDをNORで表現できる)。
- NOT:
- OR:
- AND:
ファンイン制限(1ゲートの入力数制限)があるとき、多段化して各ゲートの入力を減らす。
4. 順序回路解析(D-FF + JK-FF混在)(Ch12)
問題4 Exercise 12.1
下図の順序回路について、以下の設問に答えよ。

(a) 次状態方程式と出力方程式を導出せよ。
(b) 導出した方程式をK-mapにプロットし、遷移表を完成させよ。
解答
(a) 次状態方程式と出力方程式
D-FF A の入力 :
D-FFなので
JK-FF B の入力 :
JK-FFの特性:
出力方程式:
(b) K-mapと遷移表
のK-map:
AB 00 01 11 10 X 0 0 0 0 1 1 0 1 1 1のK-map:
AB 00 01 11 10 X 0 1 0 1 0 1 0 0 1 1のK-map:
AB 00 01 11 10 X 0 0 1 0 0 1 0 0 1 1遷移表:
A B A⁺B⁺(X=0) A⁺B⁺(X=1) Z(X=0) Z(X=1) 00 01 00 0 0 01 00 11 1 0 11 10 11 0 1 10 00 01 0 1
解説
JK-FFを含む回路の解析では、J-Kの特性式を正しく使うのがポイント。
J-K FFの特性:
- J=1,K=0 → セット()
- J=0,K=1 → リセット()
- J=0,K=0 → 保持()
- J=1,K=1 → トグル()
通常の問題(D-FFのみ)と比較すると、JK-FFが混ざることで状態方程式が少し複雑になる。
特に は論理式が長くなるので、K-mapを使った整理が重要。
5. 状態簡約(含意表)(Ch14)
問題5 Exercise 14.1
次の状態表を、含意表(Implication Table)を使って最小状態数に削減せよ。
| 現状態 | 次状態(X=0) | 次状態(X=1) | 出力Z |
|---|---|---|---|
| A | E | E | 1 |
| B | C | E | 1 |
| C | I | H | 0 |
| D | H | A | 1 |
| E | I | F | 0 |
| F | E | G | 0 |
| G | H | B | 1 |
| H | C | D | 0 |
| I | F | B | 1 |
解答
Step 1:含意表の作成
状態ペアの出力と次状態を比較する。出力が異なるペアは即座に ✗(異なる状態)。
A B C D E F G H B ✓ C ✗ ✗ D ✓ ✓ ✗ E ✗ ✗ ✓ ✗ F ✗ ✗ ✓ ✗ ✓ G ✓ ✓ ✗ ✓ ✗ ✗ H ✗ ✗ ✓ ✗ ✓ ✓ ✗ I ✓ ✓ ✗ ✓ ✗ ✗ ✓ ✗ ✓ = 出力が同じなので条件付きで統合可能(含意ペアを確認)
Step 2:含意ペアの確認
出力が同じペア(✓)について、次状態が一致するか確認:
ペア 条件(次状態が一致すれば統合可) A-B E≡C かつ E≡E → E=EはOK、E=Cなら… E≠Cなので ✗ A-D E≡H かつ E≡A → ✗ B-D C≡H かつ E≡A → ✗ G-I H≡F かつ B≡B → B=BはOK、H=Fなら… 後で確認 C-E I≡I かつ H≡F → I=IはOK、H=Fか? C-F I≡E かつ H≡G → ✗ C-H I≡C かつ H≡D → ✗ E-F I≡E かつ F≡G → ✗ F-H E≡C かつ G≡D → ✗ G-B H≡C かつ B≡E → ✗ I-B F≡C かつ B≡E → ✗ I-D F≡H かつ B≡A → ✗ C-G I≡H かつ H≡B → ✗ E-H I≡C かつ F≡D → ✗ 出力が同じ && 次状態が一致 or 統合可能なペアを探す。
含意表の結果(Ch14 p.36-37の結果):
- a ≡ b(AとBは統合)
- c ≡ e(CとEは統合)
- h ≡ f(HとFは統合)
- d ≡ g ≡ i(D,G,Iは統合:Gの次状態H,BとIの次状態F,B → H≠Fだが、HとFが統合可能ならOK)
Step 3:最小状態表
A=B, C=E, H=F, D=G=I として統合:
現状態 次状態(X=0) 次状態(X=1) 出力Z A (A,B) E→C E 1 C (C,E) I→D H→F 0 D (D,G,I) H→F A 1 F (F,H) E→C G→D 0 9状態 → 4状態に削減!
解説
含意表による状態削減の手順:
- 出力の比較:出力が異なるペアは即座に ✗(統合不可)
- 含意の記入:出力が同じペアは、次状態のペアを条件として記入
- 含意の確認:「A≡B なら C≡D かつ E≡F」という条件を、C≡DとE≡Fが成立するか再帰的に確認
- 削減:統合可能な状態をグルーピング
コツ:
- 出力が違えば即 ✗ — これで半分以上は削れる
- 条件が自己参照(A≡Bの条件にA≡B自身が含まれる)なら自動的に ○
- 含意表は「✗が伝播する」性質がある。あるペアが ✗ なら、そのペアを条件に含むペアも ✗
この手法は、状態削減の問題にも同様に適用できる。こちらは9→4状態とさらにコンパクト。
メイン問題集との関係
この補足問題集は、通常の問題集に含まれていなかった分野をカバーしている。
- メイン問題集:問題と解答解説集
- 補足問題集:← 今ココ
対応関係:
分野 メイン問題集 補足問題集 コンセンサス定理 — ✅ 問題1 Petrick’s Method — ✅ 問題2 NORゲート多段回路 — ✅ 問題3 JK-FF混在の解析 D-FFのみ(13.4) ✅ 問題4 含意表情報簡約 Code Converter(②) ✅ 問題5