デジタル論理:ゲート・カルノー図・フリップフロップ:ステップごとの解答つき練習問題

図、ヒント、詳しい解答つきの無料のデジタル論理:ゲート・カルノー図・フリップフロップ練習問題。毎回新しい数値で、3 つのレベル:ゲート、真理値表、遅延, ブール代数、カルノー図、マルチプレクサ, ドントケア、フリップフロップ、カウンタ。

無料の練習問題やさしい
AF

NAND と NOR は万能ゲートです:どんな論理関数も、そのどちらか一方だけで構成できます。示された NOT 関数を構成するのに必要な、2 入力 NAND ゲートの最小個数 N はいくつですか?

F = A′

正確な答え:整数で、四捨五入はしません。

次の問題 →

練習する内容

  1. やさしいゲート、真理値表、遅延
  2. ふつうブール代数、カルノー図、マルチプレクサ
  3. むずかしいドントケア、フリップフロップ、カウンタ

デジタル論理:ゲート・カルノー図・フリップフロップの問題の解き方

  1. 回路では、入力から出力へ向かってゲートを 1 つずつ進み、各配線に値を書き込むか、式を書いて真理値表を埋めましょう。
  2. 簡単化するには、1(とドントケアは X として)を、行と列がグレイコード 00, 01, 11, 10 のカルノー図に書き込みましょう。
  3. 1 を、1, 2, 4, 8, 16 個のセルからなる、できるだけ少なくできるだけ大きなグループで、端をまたぎながら覆いましょう。各グループは、一定のままの変数からなる 1 つの積項です。POS 形には 0 をグループ化します。
  4. フリップフロップとカウンタでは、各有効クロックエッジで入力を読み取り、エッジごとの状態を書き出し、n ビットのカウンタは 2ⁿ 個の状態で折り返すことを忘れないようにしましょう。

よくある間違い

  • カルノー図の並びを、グレイコードの 00, 01, 11, 10 ではなく、00, 01, 10, 11 にしてしまう。
  • グループが端をまたげることを忘れる、または 3 個や 6 個のセルのグループをつくる。
  • グループを大きくしないドントケアまで覆ってしまう。
  • カウンタの折り返しを忘れる、または Q₃Q₂Q₁Q₀ を逆の順序で読んでしまう。

重要な公式

基本ゲート
A·B, A + B, A′, (A·B)′, (A + B)′, A ⊕ B
ブールの規則
X + X′ = 1, X·X′ = 0, X + XY = X, XY + XY′ = X
ド・モルガンの法則
(X·Y)′ = X′ + Y′, (X + Y)′ = X′·Y′
カルノー図の並び順
00, 01, 11, 10 (Gray code)
2ᵏ 個のセルのグループ
k 個の変数が消える
4 対 1 マルチプレクサ
F = A′B′I0 + A′BI1 + AB′I2 + ABI3
フリップフロップ
D: Q⁺ = D, T: Q⁺ = T ⊕ Q, JK: Q⁺ = JQ′ + K′Q
カウンタ
n ビット:2ⁿ 状態; mod-N:2ⁿ ≥ N を満たす最小の n; fout = fclk/N
リップルカウンタ
fmax = 1/(n·tpd)
リングカウンタとジョンソンカウンタ
n 状態と 2n 状態

デジタル論理:ゲート・カルノー図・フリップフロップをゼロから学ぶ

事前に学ぶこと: 記数法

11、0、そしてゲート

デジタル回路は 0(低電圧、偽)と 1(高電圧、真)の 2 つの値で動作します。論理ゲートは 1 つ以上の入力を受け取り、1 つの出力を返します。

ABA·BANDABA + BORAA′NOT
  • AND は、すべての入力が 1 のときだけ 1 を出力します。A·B または AB と書きます。
  • OR は、少なくとも 1 つの入力が 1 のとき 1 を出力します。A + B と書きます。
  • NOT は反転します:0 は 1 に、1 は 0 になります。A′(または A の上にバー)と書きます。
  • NAND と NOR は、AND と OR のあとに NOT を付けたものです。記号の小さな丸は「反転」を意味します。
  • XOR(A ⊕ B)は、入力が異なるとき 1 を出力します。

真理値表は、入力のすべての組み合わせに対する出力を一覧にしたもので、n 個の入力なら 2ⁿ 行になります。行 ABC = 101 は 5 番目の行で、最小項 m₅ と呼ばれます。

セルフチェック A = 1、B = 0 のとき、NAND ゲートは何を出力しますか?
  1. 0
  2. 1
  3. 何も出力しない:NAND は両方の入力が 1 であることを必要とする
  4. 直前の出力による

答え: 1. 1 と 0 の AND は 0 で、NAND はそれを反転して 1 にします。NAND が 0 になるのは、すべての入力が 1 のときだけです。

2ブール代数

論理式は、通常の代数と似た規則に加えて、いくつか独自の規則に従います。特に役立つものは次のとおりです:

X + X′ = 1 X·X′ = 0 X + X = X X + X·Y = X
X·Y + X·Y′ = X ド・モルガン:(X·Y)′ = X′ + Y′, (X + Y)′ = X′·Y′

結合則 X·Y + X·Y′ = X は簡単化の核心です:1 つの変数だけが異なる 2 つの項は 1 つにまとまり、その変数は消えます。

積和形(SOP)は AND 項の OR で、たとえば F = AB′ + C です。和積形(POS)は OR 項の AND で、たとえば F = (A + B)(B′ + C) です。各積項はリテラル、つまりプライム付きまたはなしの変数からつくられます。

3カルノー図

カルノー図は、隣り合うセルがちょうど 1 つの変数だけ異なるように描いた格子状の真理値表です。そのため、行と列は 2 進数の順ではなく 00、01、11、10(グレイコード)の順に並びます。

ABC00011110000103121140507161F = B
  1. すべての最小項のセルに 1 を書き込みます。各セルの小さな数字は、その最小項の番号です。
  2. 1 のまわりに、1、2、4、8、16 個のセルからなる長方形を描きます。グループは端をまたいでもかまいません:左端と右端の列は隣り合っており、上端と下端の行も同様です。
  3. 各グループはできるだけ大きくし、すべての 1 が覆われるまで、グループの数はできるだけ少なくします。
  4. 各グループを積項として読みます:グループの中で変化しない変数だけを残します。2ᵏ 個のセルのグループでは、k 個の変数が消えます。

上の図では、4 つの 1 が 1 つのグループになります。その中で A と C は変化し、B = 1 だけが変わらないので、F = B です。

X と書かれたセルはドントケアで、決して現れない入力の組み合わせです。グループが大きくなるときは X を 1 として使い、そうでなければ無視します。代わりに 0 をグループにすると、最小の POS 形が得られます。

セルフチェック 4 変数の図で、4 つのセルのグループは何個のリテラルになりますか?
  1. 1
  2. 2
  3. 3
  4. 4

答え: 2. 4 つのセルは 2² なので、グループの中で 2 つの変数が変化して消えます。4 つの変数のうち、2 つが残ります。

4例題

すべてのステップをたどりましょう。開く前に次のステップを予想してみましょう。

例題

F(A, B, C) = Σm(0, 2, 4, 5, 6) の最小 SOP 形を求め、リテラルの数を数えてください。

1

図を埋める

行は A = 0, 1、列は BC = 00, 01, 11, 10 です。1 は m0、m2(行 0、列 00 と 10)と m4、m5、m6(行 1、列 00、01、10)に入ります。

2

最大のグループ

列 BC = 00 と BC = 10 は端をまたいで隣り合っています。合わせて m0、m2、m4、m6 を含み、4 つのグループになります。一定なのは C = 0 だけなので、このグループは C′ です。

3

残りの 1 を覆う

m5(A = 1、BC = 01)がまだ覆われていません。隣の m4 と組にします:この組では A = 1 と B = 0 が一定なので、項は AB′ です。

4

答えを読み取る

F = C′ + AB′

2 つの項に 3 個のリテラル。m5 だけをグループにすると AB′C というより長い項になります:重なってもよいので、グループは常にできるだけ大きくしましょう。

答え

F = C′ + AB′、リテラルは 3 個です。

5フリップフロップとカウンタ

ゲートは入力にすぐ反応します。フリップフロップは 1 ビットを記憶し、クロックの有効エッジ(ふつうは立ち上がりエッジ)でしか変化しません。

  • D フリップフロップ:クロックエッジごとに Q が D になります(Q⁺ = D)。
  • T フリップフロップ:T = 1 のときトグル(反転)し、T = 0 のとき保持します。
  • JK フリップフロップ:JK = 00 は保持、01 は 0 にリセット、10 は 1 にセット、11 はトグルです。
CLKQ

トグルするフリップフロップは立ち上がりエッジごとに変化するので、出力の周波数はクロックの半分になります。n 個をつなぐと、2ⁿ 個の状態をもつ n ビットの2 進カウンタになります。mod-N カウンタは 0, 1, …, N − 1 と数えて 0 に戻ります。2ⁿ ≥ N を満たす最小の n が必要で、最後の出力は fclk/N で動作します。

リップルカウンタでは各段が前の段でクロックされるので、遅延が足し合わされます:クロック周期は少なくとも n·tpd 必要です。シフトレジスタ型のカウンタは状態数が少なくなります:n 個のフリップフロップのリングカウンタは n 状態、ジョンソンカウンタは 2n 状態です。

セルフチェック 4 ビットの 2 進アップカウンタが 13 を示しています。さらに 5 クロックパルスのあと、何を示しますか?
  1. 18
  2. 2
  3. 3
  4. 8

答え: 2. 4 ビットカウンタには 16 の状態があり、15 から 0 に戻ります:13 + 5 = 18、18 mod 16 = 2 です。18 と書くと、折り返しを忘れています。

6よくある間違い

  • カルノー図の列を 00, 01, 10, 11 と書いてしまう。順序はグレイコードで、00, 01, 11, 10 です。
  • グループが図の端をまたげることを忘れる。
  • 3 個や 6 個のセルでグループをつくる。グループのセル数は 1, 2, 4, 8, 16 個です。
  • 役に立たないドントケアまで覆ってしまう:X は必ずしも覆う必要はありません。
  • グループを読むときに、変化する変数を残してしまう。残すのは一定のままの変数だけです。
  • カウンタが折り返すことを忘れる:n ビットのカウンタは 2ⁿ を法として数えます。

7試験問題の例

  • やさしい:与えられた入力でゲート回路を評価する、真理値表の 1 を数える、カルノー図に最小項を置く、ある関数に必要な NAND ゲートの数や最悪の場合の伝搬遅延を求める、といった問題です。
  • ふつう:式の簡単化、カルノー図による最小の SOP 形または POS 形、マルチプレクサで構成した関数、図の孤立した 1 を扱います。
  • むずかしい:ドントケアのある図、必須主項、フリップフロップのタイミング図、多数のパルスのあとのカウンタ、フリップフロップの個数や出力周波数、シフトレジスタを扱います。

簡単化した式は、真理値表の 1、2 行で確かめましょう:元の式と簡単化した式は、同じ出力にならなければなりません。

アプリでステップごとに学ぶアプリでステップごとに学ぶ

解答例

例題 1やさしい
BAF

NAND と NOR は万能ゲートです:どんな論理関数も、そのどちらか一方だけで構成できます。示された AND 関数を構成するのに必要な、2 入力 NAND ゲートの最小個数 N はいくつですか?

F = A·B

求めるもの: N

ヒントを表示
  1. 両方の入力をつないだ NAND ゲートはインバータです。
  2. AND = NAND のあとにインバータ。OR = 反転した入力の NAND(ド・モルガンの法則)。
  3. インバータとして使うものも含め、すべてのゲートを数えましょう。
答えとステップごとの解答を表示

論理ゲート:各入力と出力は 0 か 1 です。AND はすべての入力が 1 のときだけ 1、OR は少なくとも 1 つの入力が 1 のとき 1、NOT は反転します。NAND と NOR は AND と OR のあとに NOT を付けたもので、XOR は入力が異なるとき 1 です。回路は、入力から出力へ向かって、ゲートを 1 つずつ順にたどります。真理値表は 2ⁿ 通りのすべての入力の組み合わせに対する出力を一覧にしたもので、行番号は入力の 2 進値なので、行 ABC = 101 は最小項 m₅ です。

NAND ゲートで構成する

ド・モルガンの法則:A + B = (A′·B′)′ なので、OR は反転した入力の NAND です。

F = A·B = NOT(NAND(A, B))

ゲートを数える

N = 2

答え

N = 2
例題 2ふつう
ABCD00011110000111101111111

このカルノー図には、隣り合う 1 をもたない 1 がちょうど 1 つあり、最小の SOP 形では 1 セルのグループ(4 リテラルの完全な最小項)のままです。図の端をまたぐ隣接も数えます。そのセルをクリックしてください。

F = Σm(0, 3, 4, 10, 13, 14, 15)
  1. 1AB = 00, CD = 00
  2. 2AB = 00, CD = 01
  3. 3AB = 00, CD = 11
  4. 4AB = 00, CD = 10
  5. 5AB = 01, CD = 00
  6. 6AB = 01, CD = 01
  7. 7AB = 01, CD = 11
  8. 8AB = 01, CD = 10
  9. 9AB = 11, CD = 00
  10. 10AB = 11, CD = 01
  11. 11AB = 11, CD = 11
  12. 12AB = 11, CD = 10
  13. 13AB = 10, CD = 00
  14. 14AB = 10, CD = 01
  15. 15AB = 10, CD = 11
  16. 16AB = 10, CD = 10
ヒントを表示
  1. 隣り合うセルは、ちょうど 1 つの変数だけが異なります。
  2. 左端と右端の列は隣り合っており、上端と下端の行も同様です。
  3. すべての 1 について、4 つの隣(上、下、左、右、端は反対側へつながる)を確かめましょう。
答えと解説を表示

カルノー図:セルはグレイコード(00, 01, 11, 10)の順に並んでいるので、端をまたぐものも含め、隣り合うセルはちょうど 1 つの変数だけが異なります。1 を、1, 2, 4, 8, 16 個のセルからなる長方形で、できるだけ大きく、できるだけ少ない数でグループ化し、すべての 1 を覆います。各グループは 1 つの積項で、グループの中で一定のままの変数からなります。2ᵏ 個のセルのグループでは k 個の変数が消えます。ドントケア(X)はグループを大きくするために使えますが、覆う必要はありません。代わりに 0 をグループ化すると、最小の POS 形が得られます。

各 1 の隣

隣り合う 1 がある 1 は、2 つ以上のグループに加わることができます。

m3: m2, m1, m7, m11 → 0
ABCD00011110000111101111111

孤立した 1

m3 = A′B′CD → AB = 00, CD = 11

答え

AB = 00, CD = 11
例題 3むずかしい
TQ0​Q0​TQ1​Q1​TQ2​Q2​TQ3​Q3​CLKMOD-12

同期式 mod-12 カウンタ は 0, 1, …, 11 と数えて 0 に戻ります。初期値は 8 です。36 クロックパルスのあとの計数値 Q(10 進数)はいくつですか?

Q0 = 836N = 12

求めるもの: Q

ヒントを表示
  1. カウンタには 12 個の状態があり、12 パルスごとに繰り返します。
  2. k パルスのあとの計数値は (8 + k) mod 12 です。
  3. 36 mod 12 = 0.
答えとステップごとの解答を表示

フリップフロップとカウンタ:フリップフロップは、有効なクロックエッジでだけ変化します。D は入力をコピーし(Q⁺ = D)、T は T = 1 のときトグルし、JK は 00 で保持、01 でリセット、10 でセット、11 でトグルします。n ビットの 2 進カウンタには 2ⁿ 個の状態があり、2ⁿ を法として数えます。mod-N カウンタは 0, 1, …, N − 1 と数えて 0 に戻り、2ⁿ ≥ N を満たす最小の n 個のフリップフロップが必要です。リップルカウンタの各段は周波数を半分にするので、mod-N カウンタの最後の出力は fclk/N で動作します。n 個のフリップフロップのジョンソンカウンタには 2n 個の状態があり、リングカウンタには n 個あります。

完全な周期

12 パルスごとに、カウンタは同じ状態に戻ります。

36 = 3·12 + 0

残りのパルスのあとの計数値

Q = (8 + 0) mod 12 = 8
Q = 1000₂

答え

Q = 8

質問と回答

デジタル論理:ゲート・カルノー図・フリップフロップとは?

デジタル回路は 0(低電圧、偽)と 1(高電圧、真)の 2 つの値で動作します。論理ゲートは 1 つ以上の入力を受け取り、1 つの出力を返します。

デジタル論理:ゲート・カルノー図・フリップフロップの問題の解き方は?(手順)
  1. 回路では、入力から出力へ向かってゲートを 1 つずつ進み、各配線に値を書き込むか、式を書いて真理値表を埋めましょう。
  2. 簡単化するには、1(とドントケアは X として)を、行と列がグレイコード 00, 01, 11, 10 のカルノー図に書き込みましょう。
  3. 1 を、1, 2, 4, 8, 16 個のセルからなる、できるだけ少なくできるだけ大きなグループで、端をまたぎながら覆いましょう。各グループは、一定のままの変数からなる 1 つの積項です。POS 形には 0 をグループ化します。
  4. フリップフロップとカウンタでは、各有効クロックエッジで入力を読み取り、エッジごとの状態を書き出し、n ビットのカウンタは 2ⁿ 個の状態で折り返すことを忘れないようにしましょう。
デジタル論理:ゲート・カルノー図・フリップフロップでよくある間違いは?
  • カルノー図の並びを、グレイコードの 00, 01, 11, 10 ではなく、00, 01, 10, 11 にしてしまう。
  • グループが端をまたげることを忘れる、または 3 個や 6 個のセルのグループをつくる。
  • グループを大きくしないドントケアまで覆ってしまう。
  • カウンタの折り返しを忘れる、または Q₃Q₂Q₁Q₀ を逆の順序で読んでしまう。
デジタル論理:ゲート・カルノー図・フリップフロップの練習では何を学ぶ?
  • やさしい: ゲート、真理値表、遅延
  • ふつう: ブール代数、カルノー図、マルチプレクサ
  • むずかしい: ドントケア、フリップフロップ、カウンタ

問題ごとに数値が変わるので、答えではなく解き方が身につきます。 行き詰まったら、まず小さなヒントを開き、必要なときだけ詳しい解説を見ましょう。

練習のしかた

  • 問題ごとに数値が変わるので、答えではなく解き方が身につきます。
  • 行き詰まったら、まず小さなヒントを開き、必要なときだけ詳しい解説を見ましょう。
  • 進捗、間違えた問題、保存した問題は記録されるので、試験前に復習できます。

このトピックの前後のトピック

先に学ぶ

このトピックを含む科目

電気のほかのトピック

印刷用ワークシート