サンプルの[flipflop.lzh] をダウンロードしてください。
解凍して各項目でシミュレーションに使用します。
* サンプルの [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 フリップ・フロップ」は最後の入力が状態を決める。
* サンプルの [P_TRG_D-FF.sio] を開 いてシミュレーションを実行してください。
「D-ラッチ」のラッチ入力が立ち上がり微分になっています。
[IN1] の立ち上がりで [IN2](Date)の状態をラッチします。[IN2](Data)が変化しても [OUT1] 出力の変化はありません。
![]() |
[IN1] (イネーブル)の立上りで [IN2] (データ)をラッチします。 |
このロジックは 応用編>「応用-5. 8bits シフトレジスタ」や「応用-6. 8bits リングカウンタ」「応用-7. 8bits ジョンソンカウンタ」で 使用していますので確認してみてください。
「D フリップ・フロップ」は前段のデータを次段にシフトする目的で使われる。
* サンプルの [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には外部から入出力できるカウンタ機能がない。
トグル-フリップ・フロップでウェイティング・カウンタを構成できる。