順序回路は、デジタル回路の一種で、過去の入力や自身の状態に基づいて出力を決定する特徴を持っています。これは、ただの電気信号のオン・オフ(1と0)だけではなく、その信号が「いつ」与えられたか、または「前にどんな信号があったか」によって結果が変わることを意味します。
例えば、簡単な順序回路の一つにフリップフロップがあります。これは、電子機器で「記憶」を表現するのに使われます。フリップフロップは、特定の入力信号が与えられた時に、その状態(オンまたはオフ)を「記憶」して、次の入力が来るまでその状態を保持します。
このように、順序回路は過去の入力や現在の状態を考慮に入れるため、単純なオン・オフだけでなく、より複雑な動作や記憶を持つことができるのです。これにより、コンピューターのメモリや複雑な制御システムなど、多くの先進的な電子機器の基礎を成しています。
状態遷移表と状態遷移図
組み合わせ回路ではその設計に真理値表を使用しました。
順序回路では状態遷移表と状態遷移図を使用します。
状態遷移図
状態遷移図は、システムの振る舞いを視覚的に表現するグラフです。図には以下の要素が含まれます。
- 状態: 通常、円や楕円で表されます。これらはシステムの各状態を示します。
- 遷移: 状態間を結ぶ矢印で、システムがある状態から別の状態へ移ることを示します。
- ラベル: 遷移には、その遷移が発生する条件(通常は特定の入力)がラベルとして添付されます。出力が関連付けられている場合、それも表示されます。
状態遷移図は、システムがどのように異なる状態間を移動するかを直感的に理解しやすくするため、特に複雑なシステムやプロセスを分析する際に有効です。一方、状態遷移表は、具体的な条件とそれに対するシステムの反応を詳細に示すために使われます。両者はしばしば補完的に使用され、システムの動作を全体的に理解するのに役立ちます。
状態遷移表
状態遷移表は、一連の行と列で構成される表です。この表は、システムの可能な状態を列挙し、それぞれの状態において異なる入力が与えられたときにシステムがどのように反応するかを示します。具体的には、以下のような要素が含まれます。
- 現在の状態: システムが現在どの状態にあるかを示します。
- 入力: システムに与えられる可能な入力のセットです。
- 次の状態: ある特定の現在の状態で特定の入力が与えられたときに、システムが遷移する次の状態です。
- 出力(オプション): システムがその状態で特定の入力を受けたときに生成する出力(存在する場合)。
RS-FF リセットセットフリップフロップ回路
RS-FF(リセットセットフリップフロップ)回路は、デジタル回路の基本的な構成要素の一つで、非常にシンプルな「記憶装置」として機能します。RSフリップフロップには「Set(セット)」と「Reset(リセット)」の二つの入力と、通常は「Q」と「Qn」という二つの出力があります。
リセット入力Rが1になると、出力Qは無条件に0になります。逆にセット入力が1になると出力は無条件に1になります。
入力がともに0であれば、その前の状態を保持します。
両方の入力が1になることは結果が矛盾しますので禁止とします。
状態遷移図は以下の通りになります。
ここから状態遷移表を作成します。
状態遷移表を参考に、カルノー図を作成すると以下の通りになる。
得られた式のことを特性方程式という。
この式をもとにNANDとNORのみで構成できる回路を考える。
右辺を二重否定を取ると下記式が得られる。
上記式より、NAND回路のみで回路を作ると下の図のようになる。この際入力のSとRが反転してしまうので、左の図の通りNOR回路に置き換えると、わかりやすくなる。
また下の図の通り、SR-FFを省略して図示する場合もある。
T-FF(トリガーフリップフロップ)回路
T-FF(トリガーフリップフロップ)回路はTに入力があるたびに出力Qが反転動作をするフリップフロップ回路です。
トリガフリップフロップは、コンピュータのメモリやタイマー、状態を管理する回路などに使用されます。例えば、コンピュータのメモリでは、多数のフリップフロップがデータを「0」と「1」の形で保存します。
TとQの状態を時間軸によってあらわしたタイミングチャートを下記に示します。
特性方程式と遷移表は以下の通りになります。
実際にはSR-FF回路と同様のセット入力とリセット入力も兼備しており、ダイレクトセット(SD)またはプリセット(PR)あるいは(ダイレクトリセットRD)またはクリア(CLR)とよばれています。
ゲート回路および省略した図は以下の通りになります。
JK-FF回路
RSフリップフロップの制限を克服するために設計されており、Set(セット)とReset(リセット)の機能を拡張しています。JKフリップフロップには、入力として「J」(セットに相当)と「K」(リセットに相当)、そして通常は「Q」と「Q'」という二つの出力があります。さらに、クロック入力もあり、このクロックの信号の変化(通常は立ち上がりエッジまたは立ち下がりエッジ)に応じて動作します。
基本的な動作
JKフリップフロップの基本的な動作は以下のように要約されます。
- J=0, K=0: クロックのエッジでQの出力は変わらず、現在の状態を保持します。
- J=0, K=1: クロックのエッジでQは0にリセットされます。
- J=1, K=0: クロックのエッジでQは1にセットされます。
- J=1, K=1: クロックのエッジでQの出力はトグル(反転)します。つまり、もしQが1なら0に、0なら1に変わります。
このように、JKフリップフロップはJとKの入力が両方とも1の場合にも明確な動作をします。これがRSフリップフロップとの大きな違いで、RSフリップフロップではこの状態(S=1, R=1)は不定または禁止されています。
特徴
JKフリップフロップの主な特徴は、その汎用性にあります。JとKの入力をどのように制御するかによって、フリップフロップを単なる記憶装置としてだけでなく、カウンタや分周器など様々な用途に使用することができます。
クロック入力
クロック入力はJKフリップフロップの動作を同期させるために使われます。フリップフロップの状態変更は、クロック信号の特定のエッジ(通常は立ち上がりエッジまたは立ち下がりエッジ)でのみ発生します。これにより、複数のフリップフロップを使用した複雑なデジタル回路でも、すべての要素が一貫して同期して動作することが保証されます。
JKフリップフロップはその柔軟性と信頼性から、デジタル電子回路において重要な役割を果たしています。デジタル時計のカウンタや、コンピュータの記憶装置など、様々な場所で活用されています。
JK-FFの状態遷移表を示します。
JK-FFのゲート回路と省略した回路図記号を示します。
D-FF(ディレイフリップフロップ)
ディレイフリップフロップ(D-FF、D型フリップフロップ)は、入力されたデータを一定の時間遅延させてから出力するデジタル回路の一種です。このフリップフロップは、主にデータを一定のクロック周期に同期させるために使用され、データのタイミングを整えたり、デジタル信号を安定させたりするのに役立ちます。
基本的な動作
D型フリップフロップには、「D」(データ)入力と「CLK」(クロック)入力があり、出力には「Q」と通常その反転出力である「Q'」があります。D型フリップフロップの基本的な動作原理は、クロック入力のエッジ(通常は立ち上がりエッジ)に合わせて、D入力で与えられたデータをQ出力に転送することです。
- クロック信号の立ち上がりエッジの瞬間に、D入力の状態(0または1)がQ出力にコピーされます。
- 次のクロックエッジまで、Qの出力は変わりません。この間、D入力が変更されてもQ出力には影響しません。
特徴
D型フリップフロップの主な特徴は、そのシンプルさと信頼性です。データ入力を直接出力に転送するため、データの処理が非常にわかりやすく、信号の同期やタイミング調整に非常に有効です。
用途
D型フリップフロップは、デジタル回路におけるタイミング制御やデータの一時的な保持(レジスタ)、信号の同期化など、幅広い用途で使用されます。例えば、シフトレジスタ、カウンタ、メモリデバイスなどに見られます。
クロック入力
D型フリップフロップのクロック入力は、データの転送タイミングを制御します。クロック信号は、回路全体が同期して動作するための基準点となります。クロックの立ち上がりエッジ(または設計によっては立ち下がりエッジ)が来るたびに、D入力のデータがQ出力に更新されます。
回路図とRS-FF回路を使ったD-FF回路を下記に示します。