7-1. R/S フリップ・フロップ

7-2. D フリップ・フロップ

7-3. T フリップ・フロップ

    最終更新|2026/08/13    15:15

■7. フリップ・フロップ

サンプルの[flipflop.zip] をダウンロードしてください。

解凍すると [P_TRG_D-FF.sio][P_TRG_RS-FF.sio][T-FF.sio][T-FF_DiffType.sio] のファイルが作成されます。

各項目でシミュレーションに使用します。

7-1. R/S フリップ・フロップ

* サンプルの [P_TRG_RS-FF.sio] を開いてシミュレーションを実行してください。

「6-1. R/S ラッチ」の立ち上がり微分版です。

[IN1] はセット入力、[IN2] はリセット入力です。各入力の立ち上がり微分で [OUT1] はセット/リセットされます。

エッジトリガなので [IN2](リセット)がON中に [IN1](セット)をOFF→ON すると [OUT1] はONします。

[IN1] (セット)/ [IN2] (リセット)それぞれ立上りで動作。

まとめ

「6-1. R/S ラッチ」には優先される入力があったが、「R/S フリップ・フロップ」は最後の入力が状態を決める。

7-2. D フリップ・フロップ

* サンプルの [P_TRG_D-FF.sio] を開いてシミュレーションを実行してください。

「D-ラッチ」のラッチ入力が立ち上がり微分になっています。

[IN1] の立ち上がりで [IN2](Date)の状態をラッチします。[IN2](Data)が変化しても [OUT1] 出力の変化はありません。

[IN1] (イネーブル)の立上りで [IN2] (データ)をラッチします。

このロジックは応用編>「応用-5. 8bits シフトレジスタ」や「応用-6. 8bits リングカウンタ」「応用-7. 8bits ジョンソンカウンタ」で使用していますので確認してみてください。

まとめ

「D フリップ・フロップ」は前段のデータを次段にシフトする目的で使われる。

7-3. T フリップ・フロップ

* サンプルの [T-FF.sio] を開いてシミュレーションを実行してください。

マスター・スレーブ方式の「トグル-フリップ・フロップ」です。(立上り微分と立下り微分の2ユニット書いています。

[OUT1] は [IN1](CLOCK)の立ち上がり微分が出力 [OUT1] を反転、[OUT2] は [IN1](CLOCK)の立ち下がり微分が出力 [OUT2] を反転させます。

立ち上がり/立下りの違いは [OUT] と [FLAG] を入れ替えるだけです。

SiOには外部から入出力できるカウンタ機能がありません。「トグル-フリップ・フロップ」を使って、オリジナルのカウンタを実装できます。

立ち上がり微分のフリップ・フロップは2の0乗桁に、2の1乗桁以降は立下り微分のフリップ・フロップを使用できます。

メーカのサンプルプログラムサイトにも、立ち上がり微分の「トグル-フリップ・フロップ」のサンプルがあります。

SUS様の全プログラムサンプルは
https://fa.sus.co.jp/products/sio/files/sio_training_kit_pg_data.zip

上記(SUS様のサイト)よりダウンロードできます。

「トグル-フリップ・フロップ」のサンプルは「プログラム15.sio」です。

* サンプルの [T-FF_DiffType.sio] を開いてシミュレーションを実行してください。

エッジトリガ方式の「トグル-フリップ・フロップ」です。(立上り微分と立下り微分の2ユニット書いています。

フリップ・フロップ のトリガ信号( [FLAG1]/[FLAG2] )を微分化しています。

通常( [OUT1] xor [FLAG1] )と書くところ、SiOの特性を活かしてこのような記述にしています。

[OUT1] は立ち上がり、[OUT2] は立ち下り微分動作です。

[IN1] (クロック)の立上りで [OUT1] が、立下りで [OUT2] が反転します。

■1. プログラミング時の注意点 > 1-3. 「ONの条件」と「OFFの条件」の実行順序と出力)も参照してください。

まとめ

応用編」にカウンタのサンプルを紹介しています。

SiOには外部から入出力できるカウンタ機能がない。

トグル-フリップ・フロップでウェイティング・カウンタを構成できる。