フリップフロップ

出典: フリー百科事典『ウィキペディア(Wikipedia)』
R1, R2 = 1 kΩ, R3, R4 = 10 kΩ

フリップフロップ (flip-flop) は、1ビット情報を保持する(記憶する)ことができる論理回路である。

概要[編集]

使われる場面によってはレジスタ (register) ともいう。コンピュータ主記憶装置キャッシュメモリレジスタを構成する基本回路の一つである。組合わせ回路を単なる組合わせ論理を実現する回路としてでなく、入力に対して遅延した出力を入力側へフィードバックすることで情報の保持を実現し、順序回路とする所に特徴がある。これは組み合わせ回路では一般にネガティブな性質とされる入力信号に対する出力信号の遅延をフィードバック・ループを構成することで逆に利用しているところが興味深い。その構造は継電器(リレー)を用いた自己保持回路(セルフホールド回路)にも類似している。フリップフロップはその構造上揮発性である。即ち情報は通電中のみ保持され、電源が遮断されると保持していた情報は失われる。フリップフロップで構成するRAMSRAMと呼ぶ。

ラッチの一種(エッジトリガータイプのラッチをフリップフロップ)とすることもあるが、セット・リセットとトランスペアレントタイプのみをラッチとすることもあり(タイプについてはラッチの項目を参照)、また、エッジトリガタイプを同期式フリップフロップ、セット・リセットとトランスペアレントタイプを非同期式フリップフロップ、などとすることもある。

フリップフロップの語源シーソーが左右に傾くこと[1]ビーチサンダルを履いたときの音の flip、flop という擬音を表す英語に由来し[2]、方向転換や態度や決定の転換なども英語では意味する[3][4]

得失[編集]

フリップフロップは内部が論理回路で構成されデータの記憶機能を備えているため、例えばコンピュータの記憶装置を構成する回路、すなわちSRAMとしてよく用いられる。論理回路ではなく、コンデンサ(キャパシタとも言われる)の充電状態を使用した記憶方式であるDRAMと比較した場合、コンデンサの自然放電によるデータ消失を防ぐための定期的なリフレッシュ動作(再書き込み)を与える必要がないため、記憶領域へのシンプルかつ高速なアクセスが可能である。ただし、1ビットあたりのトランジスタ数やその配線がDRAMと比べ複雑になるため、ビットあたりのコストは高くなる。

このような性質から近年では、比較的小容量であっても高速性が求められる揮発性RAM領域においては、フリップフロップベースのSRAMCPUのレジスタや、アドレスカウンタ回路と組み合わせ高速なバースト転送を行うことが可能なキャッシュメモリDSP分野などに採用し、その一方で比較的低速であっても大容量が求められる一般的な揮発性RAM領域においては主にDRAMを利用するといったように、それぞれの特長を活かした使い分けが行われている。

フリップフロップはその構造と機能によってRS型(SR型とも呼ばれる。Set-Resetの略)、JK型(語源不明)、D型(Delayedの略)、T型(Toggleの略)といった種類に分類される。

回路の種類[編集]

ラッチ回路[編集]

RS型[編集]

RSという名称は、リセット (Reset) とセット (Set) の2入力の信号名に由来する。RS型フリップフロップのブロック図と真理値表を示す。

RSフリップフロップ
回路図 真理値表
入力 出力
S R Q
0 0 保持
0 1 0
1 0 1
1 1 禁止

表で「禁止」とした状態の入力とした場合の動作は一般に不定である。内部の実装方法によっては意図的に利用できる場合もあるが、集積された機能IC等で最も扱いが厳しい場合は、そのような入力にすることは禁止されている場合もあるので、ここでは安全側として「禁止」とした。詳細はラッチ回路の記事のSRラッチに関する記述を参照すること。

JK型フリップフロップ[編集]

ポジティブ・エッジ・トリガのJK型フリップフロップの回路記号
NANDゲートによるJK型フリップフロップ
JK型フリップフロップのタイミングダイアグラム

名前の由来は不明である。

JK型は同時に2つの入力をHにできるのがRS型と違い、そうした場合クロック毎に出力が反転する。

JK型フリップフロップの内部回路の構成図と真理値表を示す。

JKフリップフロップ
回路図 真理値表
J K Q 次のステートのQ
0 0 0 0
0 0 1 1
0 1 X 0
1 0 X 1
1 1 0 1
1 1 1 0

名前の由来が不明であるため、集積回路の発明で有名なジャック・キルビー (Jack Kilby) がこの回路の開発に携わった際にセット用およびリセット用の入力端子の名前にJとKを割り当ててからJK-FFという名称が使われるようになったという斯界の功労者に付き物の都市伝説[要出典]、QueenをJackとKingが奪い合う(端子の記号に掛けたジョーク・こじつけ)、などが代表的なものであるが、そういった俗説が多数あるのが変わった特徴ともされる。

D型フリップフロップ[編集]

D型フリップフロップの回路記号

D型フリップフロップの内部回路の構成図と真理値表を示す。

Dフリップフロップ
回路図 真理値表
D C 次のステートのQ
0 0
1 1
X 前ステートのQを保持

D型フリップフロップはC (CLOCK) 端子の立ち上がりエッジでD入力の値がQ出力として保持される。

T型フリップフロップ[編集]

T型フリップフロップの回路記号

JK型のJとKを1(真)にしたものと同じ。T型フリップフロップの内部回路の構成図と真理値表を示す。

Tフリップフロップ
回路図 真理値表
T Q 次のQ
0 0 0
0 1 1
1 0 1
1 1 0

T型フリップフロップはカウンタ、トグルフリップフロップとも言われる。T端子の入力が1周期変化 (High→Low→High) するたびに出力が反転する。

プリセットとクリア[編集]

主にプリセット (preset) は機器に電源を投入し、電源電圧が所定の安定した値になった後にフリップフロップの出力状態を所定の値として機器の動作開始前の準備(初期化)のために使われる。クリア (Clear) もプリセットと同様な使い方をする場合があるが、機器の動作中のクリア(Qを0とする)に用いられる。ただし、プリセットとクリアをどの様に使うかはあくまで機器の論理回路の設計に依存する。

フリップフロップと標準ロジックIC[編集]

すべて標準ロジックICとして提供されている。必要なピン数は4つから6つ程度なので、1つのロジックICに2つ以上含まれていることがほとんどである。

脚注[編集]

関連項目[編集]