Digital-circuits-flip-flops
デジタル回路-フリップフロップ
前の章で、ラッチについて説明しました。 これらは、フリップフロップの基本的な構成要素です。 フリップフロップは2つの方法で実装できます。
最初の方法では、すべての正のクロックパルスに対して最初のラッチが有効になり、すべての負のクロックパルスに対して2番目のラッチが有効になるように、2つのラッチをカスケードします。 したがって、これら2つのラッチの組み合わせはフリップフロップになります。
2番目の方法では、エッジに敏感なフリップフロップを直接実装できます。 この章では、2番目の方法を使用して、次の*フリップフロップ*について説明します。
- SRフリップフロップ
- Dフリップフロップ
- JKフリップフロップ
- Tフリップフロップ
SRフリップフロップ
SRフリップフロップは、正のクロック遷移または負のクロック遷移のみで動作します。 一方、SRラッチはイネーブル信号で動作します。 SRフリップフロップの*回路図*を次の図に示します。
この回路には、2つの入力S&Rと2つの出力Q(t)&Q(t) ’があります。 SRフリップフロップの動作はSRラッチに似ています。 ただし、このフリップフロップは、アクティブイネーブルの代わりにクロック信号の正の遷移が適用される場合にのみ出力に影響します。
次の表に、SRフリップフロップの*状態テーブル*を示します。
S | R | Q(t + 1) |
---|---|---|
0 | 0 | Q(t) |
0 | 1 | 0 |
1 | 0 | 1 |
1 | 1 | - |
ここで、Q(t)とQ(t + 1)はそれぞれ現在の状態と次の状態です。 そのため、SRフリップフロップは、クロック信号の正の遷移が適用される場合、入力条件に基づいて、ホールド、リセット、セットなどの3つの機能のいずれかに使用できます。 次の表に、SRフリップフロップの*特性表*を示します。
現在の入力
現状
次の状態
S
R
- Q(t)*
- Q(t + 1)*
0
0
0
0
0
0
1
1
0
1
0
0
0
1
1
0
1
0
0
1
1
0
1
1
1
1
0
x
1
1
1
x
3つの変数K-Mapを使用することで、次の状態の簡易式Q(t + 1)を取得できます。 次の状態の 3変数K-Map 、Q(t + 1)を次の図に示します。
隣接するものの可能な最大のグループ化は、すでに図に示されています。 したがって、次の状態Q(t + 1)の*簡易式*は
$ Q \ left(t + 1 \ right)= S + \ {R} 'Q \ left(t \ right)$
Dフリップフロップ
Dフリップフロップは、正のクロック遷移または負のクロック遷移のみで動作します。 一方、Dラッチはイネーブル信号で動作します。 つまり、Dフリップフロップの出力は、クロック信号のアクティブな遷移を除いて、入力Dの変化の影響を受けません。 Dフリップフロップの*回路図*を次の図に示します。
この回路には、単一の入力Dと2つの出力Q(t)およびQ(t)があります。 Dフリップフロップの動作はDラッチに似ています。 ただし、このフリップフロップは、アクティブイネーブルの代わりにクロック信号の正の遷移が適用される場合にのみ出力に影響します。
次の表は、Dフリップフロップの*状態テーブル*を示しています。
D | Qt + 1t + 1 |
---|---|
0 | 0 |
1 | 1 |
したがって、Dフリップフロップは常に情報を保持します。これは、データ入力、クロック信号の以前の正の遷移のDで利用可能です。 上記の状態テーブルから、次の状態方程式を直接書くことができます。
Q(t + 1)= D
Dフリップフロップの次の状態は、クロック信号のすべての正の遷移に対して常にデータ入力、Dに等しくなります。 したがって、Dフリップフロップは、レジスタ、シフトレジスタ、およびいくつかのカウンタで使用できます。
JKフリップフロップ
JKフリップフロップはSRフリップフロップの修正版です。 正のクロック遷移または負のクロック遷移のみで動作します。 JKフリップフロップの*回路図*を次の図に示します。
この回路には、2つの入力JおよびKと2つの出力Q(t)およびQ(t)があります。 JKフリップフロップの動作はSRフリップフロップに似ています。 ここでは、SRフリップフロップの入力を* S = J Q(t) ’および R = KQ(t)*と見なし、入力の4つの組み合わせに対して修正SRフリップフロップを利用しています。
次の表は、JKフリップフロップの*状態テーブル*を示しています。
J | K | Q(t + 1) |
---|---|---|
0 | 0 | Q(t) |
0 | 1 | 0 |
1 | 0 | 1 |
1 | 1 | Q(t)' |
ここで、Q(t)とQ(t + 1)はそれぞれ現在の状態と次の状態です。 したがって、JKフリップフロップは、クロック信号の正の遷移が適用される場合、入力条件に基づいて現在の状態を保持、リセット、設定、補完するなど、これら4つの機能のいずれかに使用できます。 次の表は、JKフリップフロップの*特性表*を示しています。
現在の入力
現状
次の状態
J
K
- Q(t)*
- Q(t + 1) *
0
0
0
0
0
0
1
1
0
1
0
0
0
1
1
0
1
0
0
1
1
0
1
1
1
1
0
1
1
1
1
0
3つの変数K-Mapを使用することで、次の状態の簡易式Q(t + 1)を取得できます。* 次の状態の3つの変数K-Map *、Q(t + 1)を次の図に示します。
隣接するものの可能な最大のグループ化は、すでに図に示されています。 したがって、次の状態Q(t + 1)の*簡易式*は
Q \ left(t + 1 \ right)= J \ {Q \ left(t \ right)} '+ \ {K}' Q \ left(t \ right)
Tフリップフロップ
Tフリップフロップは、JKフリップフロップの簡易バージョンです。 同じ入力「T」をJKフリップフロップの両方の入力に接続することにより取得されます。 正のクロック遷移または負のクロック遷移のみで動作します。 Tフリップフロップの*回路図*を次の図に示します。
この回路には、単一の入力Tと2つの出力Q(t)およびQ(t)があります。 Tフリップフロップの動作は、JKフリップフロップの動作と同じです。 ここでは、JKフリップフロップの入力を J = T および K = T と見なし、入力の2つの組み合わせに対して修正されたJKフリップフロップを利用しました。 そのため、JとKの他の2つの組み合わせを削除しました。これら2つの値は、Tフリップフロップで互いに補完します。
次の表は、Tフリップフロップの*状態テーブル*を示しています。
D | Q(t + 1) |
---|---|
0 | Q(t) |
1 | Q(t)’ |
ここで、Q(t)とQ(t + 1)はそれぞれ現在の状態と次の状態です。 したがって、Tフリップフロップは、クロック信号の正の遷移が適用される場合、入力条件に基づいた現在の状態の保持および補完など、これら2つの機能のいずれかに使用できます。 次の表は、Tフリップフロップの*特性表*を示しています。
Inputs | Present State | Next State |
---|---|---|
T | Q(t) | Q(t + 1) |
0 | 0 | 0 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 0 |
上記の特性表から、次の状態方程式*を次のように直接書くことができます。
Q \ left(t + 1 \ right)= \ {T} 'Q \ left(t \ right)+ TQ \ {\ left(t \ right)}'
\ Rightarrow Q \ left(t + 1 \ right)= T \ oplus Q \ left(t \ right)
Tフリップフロップの出力は、入力Tが論理High(1)のままの場合、クロック信号のすべての正の遷移に対して常にトグルします。 したがって、Tフリップフロップは counters で使用できます。
この章では、NORゲート間のクロスカップリングを提供することにより、さまざまなフリップフロップを実装しました。 同様に、NANDゲートを使用してこれらのフリップフロップを実装できます。