このページをはてなブックマークに追加このページを含むはてなブックマーク このページをlivedoor クリップに追加このページを含むlivedoor クリップ

目次

同期式RSフリップフロップ

 RSフリップフロップの入力部分にNANDゲートを繋いで次のような回路を作る。

 この回路を同期式RSフリップフロップと呼ぶ。

同期式RSフリップフロップの仕組み

 CK(C)の変化に対する出力Qの変化に注目しながら、これの動作を順番に考えていくことにする。

1:まず、CK=0のときを考える。

 左側にNANDゲートが2つあるが、C=0なのでNANDゲートの性質から、S,Rとは無関係にS'=R'=1となる。この回路の右半分はRSフリップフロップそのもので、さっきは ̄S, ̄Rと表された丹生炉y区が、ここではS',R'となっているだけである。このS'とR'が、S'=R'=1を満たすのであるから、出力Q, ̄Qの値は保持される。結局のところ、CK=0ならば、出力Q, ̄Qの値はS,Rの値とは無関係に、常に保持されることになる。

2:次に、CK=1とし、仮にこのときS=1,R=0であるとする。CK=1であるから、左側の2つのNANDゲートは共にインバータになる。よって、S'=0,R'=1となる。 このとき、右側のRSフリップフロップの ̄Sに相当するS'が0になったので、出力Qがセットされ、Q=1, ̄Q=0となって安定となる。

 逆に、S=0,R=1であれば、S'=1,R'=0であるので、この場合はQ=0, ̄Q=1で安定となる。

3:さて、再びCK=0とすると、また無条件でS'=R'=1となって、Q, ̄Qは直前のCK=1のときにとっていた状態のままで安定したままということになる。

4:以上のことから、次のような動作が成り立つ。

  • CK=1のときだけ、RSフリップフロップとして働く。ただし、 ̄S, ̄Rの代わりにS,Rとなる。
  • CK=0のとき、RSフリップフロップは値が変化せずに以前の値を保持したまま。

 よって、S,Rで出力を変えるというフリップフロップ本来の動作を、CKという信号の値によって制御できるというわけである。CKの値で、出力Q, ̄Qを変化するタイミングを制御できるということから、同期式RSフリップフロップという名前が付いている。