フリップフロップ回路とは?種類や用途、設計時のポイントを解説
2026年8月26日更新
この記事を書いた人

大手メーカー「コマツ」、「オムロン」などで7年間、アナログ回路エンジニアとして設計・評価業務に従事。
ECU、PLCなどのエレキ開発経験を多数持つほか、機械商社での就労経験も有する。
株式会社アイズ運営の機電系フリーランスエンジニア求人情報「FREEAID」専属ライターとして、
機電分野の知識と実務経験を活かし、専門性の高い記事執筆を行っている。
フリップフロップ回路は、1ビットのデータを保持するために使用される基本的な回路で、カウンタやレジスタなど、さまざまなデジタル回路の構成要素として利用されます。本記事では、フリップフロップ回路の種類や仕組み、設計時に確認したいポイントを解説します。
フリップフロップ回路とは?
フリップフロップ回路とは、入力されたデータを保持し、クロック信号のエッジに合わせてその状態を更新する順序回路です。基本的に1ビットの情報を保持できるため、デジタル回路に記憶機能を持たせるために使用されます。
例えばDフリップフロップでは、クロックの立ち上がりや立ち下がりといったエッジを基準にD入力の値を取り込み、その値を次のクロックエッジまで保持します。このように、入力されたデータを一定期間保持し、必要なタイミングで更新できることがフリップフロップの特徴です。
なお、データを保持する回路としてはラッチ回路もありますが、ラッチが信号のレベルを基準に動作するのに対し、フリップフロップは基本的にクロックのエッジを基準に動作するという違いがあります。
フリップフロップ回路の種類
フリップフロップには、入力端子や動作方法の違いによって、RSフリップフロップ、Dフリップフロップ、JKフリップフロップ、Tフリップフロップなどがあります。
RSフリップフロップ
RSフリップフロップは、Set(S)とReset(R)の2つの入力を持ち、Sによって出力をセットし、Rによってリセットします。基本的な記憶回路として使用できますが、SとRを同時に有効にした場合の扱いには注意が必要です。
Dフリップフロップ
Dフリップフロップは、D(Data)入力の値をクロックのエッジで取り込み、その値を保持します。入力されたデータをクロックに同期して取り込めるため、レジスタや同期回路、パイプライン回路など幅広い用途で使用されています。現在のデジタル回路では、Dフリップフロップを基本素子として使用することが多いです。
JKフリップフロップ
JKフリップフロップは、JとKの2つの入力を持ち、入力の組み合わせによって保持、セット、リセット、反転の動作を行います。カウンタなどの回路に利用されますが、現在のFPGAやASICなどでは、Dフリップフロップを基本とすることが多いため、使用される頻度は低いです。
Tフリップフロップ
Tフリップフロップは、T入力が有効になると、クロックのエッジごとに出力を反転させるフリップフロップです。入力クロックに対して出力の周波数を分周できるため、カウンタや分周回路などに利用されます。
フリップフロップ回路の主な用途
フリップフロップは、データを保持する機能を利用して、さまざまなデジタル回路に使用されます。代表的な用途を紹介します。
レジスタ・シフトレジスタ
複数のフリップフロップを並べることで、複数ビットのデータを保持するレジスタを構成できます。例えば8個のDフリップフロップを使用すれば、8ビットのデータを保持できます。
また、フリップフロップを直列に接続し、クロック信号に合わせてデータを順番に移動させることで、シフトレジスタを構成できます。シリアル・パラレル変換やパラレル・シリアル変換、データの一時保持などに利用されます。
カウンタ・分周回路
フリップフロップは、カウンタやクロックの分周にも利用できます。例えば、Dフリップフロップの反転した出力をD入力へ戻す構成にすると、クロックのエッジごとに出力が反転します。この場合、出力信号の周波数は入力クロックの1/2になります。
このようなフリップフロップを複数段接続することで、1/4、1/8といったように、クロック周波数を段階的に分周できます。また、複数のフリップフロップを組み合わせ、クロックの回数に応じて出力状態を変化させることで、カウンタを構成することも可能です。
非同期信号の同期化
マイコンやFPGAなどのデジタル回路では、外部スイッチやセンサーなどから、システムクロックとは同期していない信号が入力されることがあります。このような非同期信号をフリップフロップで取り込む際、クロックエッジ付近で信号が変化すると、セットアップ時間やホールド時間を満たせない場合があります。
すると、フリップフロップの出力がすぐにHighまたはLowへ確定せず、不安定な状態が一定時間続くメタステーブル状態になります。メタステーブルが後段の回路へ伝わると、誤動作につながる可能性があるため、Dフリップフロップを複数段接続した同期化回路が対策として使われます。
1段目のフリップフロップで非同期信号を取り込み、2段目のフリップフロップで1段目の出力を取り込むことで、1段目で発生したメタステーブルの影響が後段へ伝わる可能性を低減します。
1ビットの制御信号などでは、このような2段のフリップフロップを使用した同期化回路が代表的です。ただし、複数段のフリップフロップを使用してもメタステーブルそのものを完全になくせるわけではないため、要求される信頼性や動作条件に応じて同期段数などを検討する必要があります。
クロックドメイン間の信号受け渡し
複数のクロックを使用するシステムでは、あるクロックで動作する回路から、別のクロックで動作する回路へ信号を受け渡す場合があります。このとき、2つのクロックのタイミングが一致していないと、受け側のフリップフロップでメタステーブルが発生する可能性があります。
この時、1ビットの制御信号などであれば、受け側のクロックで動作するDフリップフロップを2段使用し、1段目で発生しうるメタステーブルの影響を後段へ伝わりにくくする方法が一般的です。1段目の出力が安定するための時間を確保することで、2段目ではより安定した信号を取り込める可能性が高くなります。
一方、複数ビットのデータをそのまま同期化する場合は、各ビットを個別にフリップフロップへ通すだけでは、各ビットが異なるタイミングで取り込まれて正しいデータにならない場合があります。そのため、データの性質や転送方法に応じて、非同期FIFOやハンドシェイクなどのCDC回路を検討する必要があります。
フリップフロップ回路を設計する際のポイント
それでは、フリップフロップ回路を実際に使用して設計する際、注意すべきポイントを解説します。
セットアップ時間とホールド時間を確認する
フリップフロップがデータを正しく取り込むためには、クロックエッジの前後で入力信号を安定させておく必要があります。クロックエッジより前にデータを安定させておくべき時間をセットアップ時間、クロックエッジの後にデータを保持する時間をホールド時間と呼びます。
これらの条件を満たせない場合、データを正しく取り込めなかったり、メタステーブルが発生したりする可能性があります。そのため、フリップフロップICなどを使用する場合は、データシートでセットアップ時間とホールド時間を確認し、データ信号とクロック信号のタイミングが仕様を満たしているか確認することが重要です。
リセット・プリセットの仕様を確認する
フリップフロップには、クロック信号とは関係なく出力状態を初期化したり、特定の状態に設定したりするため、リセット端子やプリセット端子を備えたものがあります。リセットは出力をLowに、プリセットは出力をHighに強制するのが基本的な動作です。
また、リセットには、クロックに関係なく動作する非同期リセットと、クロックに同期して動作する同期リセットがあります。非同期リセットはクロックを待たずに出力状態を初期化できるため、電源投入時などに使用されます。一方、同期リセットはクロックに同期してリセットが反映されるため、回路全体のタイミングを管理しやすいという特徴があります。
実際にフリップフロップICを使用する場合は、リセットやプリセットの動作方式だけでなく、High/Lowのどちらで有効になるか、最小パルス幅、解除時のタイミングなどをデータシートで確認する必要があります。また、リセットとプリセットを同時に有効にした場合の動作が禁止されている部品もあるため、端子の組み合わせについても確認が必要です。
まとめ
フリップフロップ回路は、1ビットのデータを保持する基本的な順序回路であり、レジスタやカウンタ、分周回路、同期回路など、さまざまなデジタル回路に利用されています。RS、D、JK、Tなどの種類がありますが、現在のデジタル回路ではDフリップフロップが幅広く使用されています。
実際にフリップフロップを使用する際は、用途に応じた回路構成を理解するとともに、セットアップ時間やホールド時間、リセット・プリセットなどの仕様を確認することが重要です。フリップフロップは非常に有用なので、ぜひ注意点を理解して様々な用途に活用してみてください。
当サイトFREE AIDは、機電系を始めとしたエンジニアのフリーランス専門求人を扱っています。
→機電系フリーランスエンジニア求人はこちら
また、フリーランスエンジニアとして働きたい方に合った案件探しや専門アドバイザーの活動サポートも無料で行っています。
→フリーランス無料支援に興味がある方はこちら
この記事の運営元:日総工産株式会社
さまざまな分野において事業を展開しています。
「アウトソーシング」「ビジネスソリューション」「エンジニアリング」「ファクトリーオートメーション」の4つの事業を柱に、製造業やICT分野の課題解決を力強くサポートする、
フリーランスの機電系エンジニア求人情報サイト「FREE AID」を運営しています。
機電系求人はこちら
設計技術者(樹脂、金属部品)
- 単価
40~50万円
- 職種
- 機械設計
- 詳細を見る
FPGAの設計開発:電気電子設計
- 単価
70~80万円
- 職種
- 電気電子設計
- スキル
- ・FPGA論理設計、RTLコーディング、論理検証環境構築、論理検証・RTLコード:VHDL・論理検証ツール:Siemens製Questa/ModelSIM
- 地域
- 東京
- ポイント
- #高単価
- 詳細を見る
UI画面の設計業務:電気電子設計
- 単価
64〜万円
- 職種
- 開発
- 電気電子設計
- スキル
- 必要スキル: ・電源回路は複数回経験し、設計動作確認など、一人でもある程度やるべきことが分かる。 ・数十頁のデータシートを読み、要求仕様(タイミング/電圧など)が理解できる ・その他左記の回路の種類の中で、回路設計の実務経験が1回以上ある。 ・回路修正ができる(半田付け、ジャンパー処理)
- 地域
- 関西
- ポイント
- #業務委託#駅近
- 詳細を見る
【急募】工作機械メーカーにおける自社製品の制御設計
- 単価
40~50万円
- 職種
- 電気電子設計
- スキル
- 基本的なPCスキル産業用機械・装置の電気設計経験
- 地域
- 山梨県
- ポイント
- #業務委託
- 詳細を見る






