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

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

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


●Home へ    最終更新|2022/03/20    15:22

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

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

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

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乗桁以降は立下り微分のフリップ・フロップを使用できます。


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

[maker_tff.lzh] をダウンロードし、解凍してシミュレーションしてください。

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には外部から入出力できるカウンタ機能がない。

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