デジタル回路でよく登場する フリップフロップ(Flip-Flop) の種類ごとの入力要求表と特徴をまとめました。
代表的な4種類(D・SR・JK・T)について、動作やセットアップ/ホールドタイムの注意点も解説します。
Contents
Dフリップフロップ(D Flip-Flop)
特徴:
クロックの立ち上がり(または立ち下がり)に合わせて、入力Dの値をそのままQに保持する最も基本的なフリップフロップです。
レジスタやシーケンス回路で最も多く使われます。
入力要求表:
| D | CLK | Q(next) |
|---|---|---|
| 0 | ↑ | 0 |
| 1 | ↑ | 1 |
| – | ↓ / HOLD | 保持 |
タイミング要件:
- セットアップ時間(t<sub>su</sub>):Dはクロック立ち上がりの少し前に安定している必要があります。
- ホールド時間(t<sub>h</sub>):クロック後もしばらくDを変化させてはいけません。
- 補足: データ経路遅延やクロックジッタを考慮し、マージンを取る設計が推奨されます。
SRフリップフロップ(Set-Reset Flip-Flop)
特徴:
S(セット)とR(リセット)の2入力を持つ基本形。
S=R=1は定義されない(不定状態)ため注意が必要です。
入力要求表:
| S | R | Q(next) |
|---|---|---|
| 0 | 0 | 保持 |
| 0 | 1 | 0(リセット) |
| 1 | 0 | 1(セット) |
| 1 | 1 | 禁止/不定 |
タイミング要件:
- S/R信号はクロック同期型の場合、エッジ前に安定している必要があります。
- 非同期型では、解放のタイミングや「クリア優先/セット優先」などの設計差に注意が必要です。
JKフリップフロップ(JK Flip-Flop)
特徴:
SR型を改良し、J=K=1のときに「トグル(反転)」動作をするようにしたタイプ。
カウンタ回路などによく使われます。
入力要求表:
| J | K | Q(next) |
|---|---|---|
| 0 | 0 | 保持 |
| 0 | 1 | 0(リセット) |
| 1 | 0 | 1(セット) |
| 1 | 1 | トグル(Q反転)※競合注意 |
タイミング要件:
- J/K信号はクロック前に安定させる必要があります。
- トグル動作時は内部遅延によりメタステーブル(不安定)になる可能性があるため、十分なセットアップ・ホールドを確保する必要があります。
Tフリップフロップ(Toggle Flip-Flop)
特徴:
T=1のときにトグル(反転)し、T=0のときは保持。
カウンタ回路などで非常によく利用されます。
入力要求表:
| T | Q(next) |
|---|---|
| 0 | 保持 |
| 1 | トグル(Q反転) |
タイミング要件:
- Tはクロックの立ち上がり前後で安定していること。
- 高速動作では伝搬遅延やゲート遅延の影響を考慮する必要があります。
まとめ表
| 種類 | 入力 | 主な動作 | 注意点 |
|---|---|---|---|
| D | D | Dの値をラッチ | セットアップ/ホールドタイム |
| SR | S, R | セット・リセット制御 | S=R=1禁止 |
| JK | J, K | トグル可能なSR | J=K=1時はトグル(競合注意) |
| T | T | トグル/保持 | カウンタ用途が多い |
補足
- クロック同期型と非同期型では入力要求が異なることがあります。
- FPGAやASICで使う場合は、**内部実装(非同期クリアやプリセット)**の仕様も確認することが重要です。
- 実際のタイミングはデバイスデータシート(例:74HCシリーズなど)を参照してください。
