Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

Tフリップフロップ(ティーフリップフロップ)とは | 意味や読み方など丁寧でわかりやすい用語解説

Tフリップフロップ(ティーフリップフロップ)の意味や読み方など、初心者にもわかりやすいように丁寧に解説しています。

作成日: 更新日:

読み方

日本語表記

ティーフリップフロップ (ティーフリップフロップ)

英語表記

T flip-flop (ティーフリップフロップ)

用語解説

Tフリップフロップは、デジタル回路において状態を記憶する基本的な素子であるフリップフロップの一種である。特に、入力信号に応じて出力を反転させる機能を持つことから「トグル(Toggle)フリップフロップ」と呼ばれ、その頭文字を取ってTフリップフロップと命名された。この素子は、コンピュータのCPUやメモリなどを構成する論理回路の基本部品として重要な役割を担っており、特にカウンタ回路や周波数分周器の設計において広く利用される。フリップフロップは、入力信号だけでなく内部に保持している現在の「状態」によって次の出力が決まる順序回路であり、Tフリップフロップもその特性を持つ。具体的には、クロック信号と呼ばれる周期的な信号の特定のタイミングで動作し、T入力端子に入力される値に基づいて、記憶している状態を維持するか反転させるかを決定する。このシンプルかつ強力な機能は、デジタルシステムの様々な場面で応用されている。

Tフリップフロップの動作は、T入力とクロック入力(CK)という二つの主要な入力によって制御される。出力はQと、その反転出力であるQバーの二つが存在するが、通常はQの動作に注目する。動作の基準となるのはクロック信号の立ち上がりエッジ(信号が0から1に変化する瞬間)または立ち下がりエッジ(信号が1から0に変化する瞬間)であり、エッジトリガ方式と呼ばれる。このタイミング以外では、T入力が変化しても出力Qは変化しない。Tフリップフロップの具体的な動作は次の二つの規則に従う。第一に、T入力が0のとき、クロック信号のエッジが到来しても出力Qは現在の状態を維持する。つまり、Qが0であれば0のまま、1であれば1のままである。これは状態保持の機能である。第二に、T入力が1のとき、クロック信号のエッジが到来するたびに出力Qの状態が反転する。Qが0であれば1に、1であれば0に変化する。これが「トグル」と呼ばれる動作であり、Tフリップフロップの最も特徴的な機能である。この動作を数式で表現したものを特性方程式と呼び、現在の状態をQn、次の状態をQn+1とすると、「Qn+1 = T ⊕ Qn」と表される。ここで記号⊕は排他的論理和(XOR)を意味し、TとQnの値が異なるときに結果が1となり、同じときに0となる演算である。この式は、T=0ならQn+1=Qn(保持)、T=1ならQn+1はQnの反転となる動作を的確に示している。

Tフリップフロップは、他の種類のフリップフロップを組み合わせて構成することが可能である。最も一般的な構成方法は、JKフリップフロップを利用するものである。JKフリップフロップはJ入力とK入力という二つの制御入力を持ち、J=1, K=1に設定するとクロックごとに状態が反転するトグル動作を行う。この性質を利用し、J入力とK入力を共に接続して一本の入力端子とし、これをTフリップフロップのT入力として扱うことで、完全に同じ機能を実現できる。つまり、この共通入力に1を入力すればJ=1, K=1となってトグルし、0を入力すればJ=0, K=0となって状態を保持する。また、DフリップフロップとXORゲートを組み合わせて構成することもできる。Dフリップフロップは、クロックのタイミングでD入力の値をそのまま出力Qに反映させる素子である。このDフリップフロップの出力Qと、外部からのT入力をXORゲートに入力し、そのXORゲートの出力をDフリップフロップのD入力に接続する。この回路では、T=0の場合、D入力にはQの値がそのまま入力されるため状態は保持される。一方、T=1の場合、D入力にはQの反転値が入力されるため、次のクロックで出力が反転する。

Tフリップフロップの最も重要な応用例は、カウンタ回路の構築である。TフリップフロップのT入力を常に1に固定すると、クロック信号が入力されるたびに出力が反転する。このとき、出力Qの信号波形は、入力されたクロック信号の周波数がちょうど半分になる。この機能は周波数分周と呼ばれ、Tフリップフロップは最も単純な1/2分周器として機能する。さらに、この分周器を複数段直列に接続することで、2進カウンタを容易に構成できる。例えば、一つ目のTフリップフロップの出力を、二つ目のTフリップフロップのクロック入力に接続し、同様に三つ目、四つ目とつなげていく。全てのTフリップフロップのT入力は1に固定する。すると、最初のクロックパルスで一つ目の出力が反転し、二つのクロックパルスで二つ目の出力が反転し、といった具合に、各フリップフロップの出力(Q)を並べると、クロックパルスが入力されるたびに0, 1, 2, 3...と増加する2進数の値を表現する。このように、Tフリップフロップはデジタル時計やコンピュータ内のタイマーなど、数を数える機能を持つ多くの回路の基礎となっている。システムエンジニアとしてハードウェアを直接設計する機会は限られるかもしれないが、Tフリップフロップのような基本素子の動作原理を理解することは、コンピュータアーキテクチャ全体の挙動を深く把握する上で不可欠な知識である。

関連コンテンツ