<DFF(その4)>
暑い日が続いて夏真っ盛りです。夏と言えば“花火”
今年も横浜港で神奈川新聞や、開港記念の花火大会が開催されました。
今年も横浜港で神奈川新聞や、開港記念の花火大会が開催されました。
ここで気になるのは、“立下りを遅らせると立上りも遅れるが・・・良いのか?”ということです。
- スレーブラッチが新しいデータを取り込むのは、CLK2の立上がりが決めています。
- マスターラッチがデータをラッチするのは、CLK3の立上がりが決めています。
なので、スレーブが新しいデータを取り込んだ後に、マスターがラッチする事になります。
入力データは雑音の影響を分かりやすくするために小さくし、雑音を入れました。
図 3の結果を見ると、CLK2の立上り~CLK3の立上り間、出力Qに入力Dの雑音がそのまま出力されてしまっています。
これは、スレーブが取り込む新しいデータにラッチがかかっていないために入力がそのまま出力につながり、入力信号に雑音やヒゲが入っていたら、そのまま出力に出てしまうことになります。これではDFFとしての役目を果たしていません。
ではどうすれば良いかというと、マスターがラッチしたデータをスレーブが取り込む。つまり、CLK3の立ち上がりの後、CLK2の立ち上がりが来る必要があります。
簡単にいうと、CLK2はDutyを細く、CLK3はDutyを広くすると良いのです。
CLK回路にNANDと遅延回路を使った図 4の回路で実現できます。
(上記は一例であって、他にもDutyを意図的にずらす回路はあります)

CLKのDutyを適切に調整することで、入力雑音が出力に出てこなくなりました。
実際のDFFで図 4の様にNANDを使うことは消費電力やサイズの面で不利なので、Pch/NchのL/W長を調整して閾値を意図的に変えて、Dutyの調整をすることが多い様に思います。
次回は、セットアップ・ホールドタイムについて触れたいと思います。

コメントする