メディア

クロックとは ーーマイコンにクロックが必要な理由Q&Aで学ぶマイコン講座(88)(2/5 ページ)

» 2024年01月18日 10時00分 公開

フリップフロップ

 クロックに同期して動作する最も簡単な論理回路は、フリップフロップ(以下、FF)です。論理規模が違っても、基本的な原理とクロック同期の目的は同じなので、FFを使ってクロックの役割を説明します。

 クロックを使ったFFで最も簡単な構造のものは、D-Latchです。D-Latchの原理と動作を図2(a)に示します。Latch(ラッチ)とは、クロックなどのトリガでデータを取り込み保持することです。

<strong>図2:フリップフロップ</strong> 図2:フリップフロップ[クリックで拡大]

 D-Latchは、クロックのHigh期間に入力Dinを透過的にQから出力します。従って、この期間はDin=Doutです。クロックがHighからLowに立ち下がると、その時点のDinを取り込み、その後のLow期間はその値を保持します。従って、クロックがLowになると入力Dinがどんなに変動しても、Doutは変動しません。

 通常、論理回路には微小ではあるものの、信号の伝搬遅延があります。その遅延によってグリッチと呼ばれる短期間の信号が発生し、それがノイズとなってデータを不安定にして、誤動作の原因になります。

 D-Latchでは、クロックのHigh期間にグリッチを含む入力の信号変動を透過的にDoutに出力してしまいます。しかし、信号変動が収まって安定した時に、クロックがHighからLowに立ち下がるように設計しておけば、次段の論理回路へ伝搬するデータは、クロックがLow期間の安定したデータになります。

 もし、Doutに全く信号変動を出したくない場合は、D-Latchを2段にして、信号変動を排除します。それがマスタースレーブフリップフロップ(以下、MS FF)です。図2(b)に、D-Latchを用いたMS FFを示します。

 MS FFの場合、後段のD-Latchのクロックは、前段のクロックを反転したものです。従って、後段のD-LatchはクロックがLowの期間にDmを透過的にQに出して、Doutを出力します。クロックがHighになると、データを保持してDoutに出力します。これにより、クロックの立ち下がりから次の立ち下がりまでの期間のDoutは信号変動を排除した安定したデータを出力できます。前段のD-Latchをマスター、後段をスレーブと呼びます。

 このように、2つのD-Latchが交互にデータを取り込み、保持することで、グリッチを含む入力の信号変動を排除した安定したデータをクロックのサイクル単位で得ることができます。

 今回は、D-Latchを使用したMS FFを例に挙げましたが、JK FFなど他のFFを使っても同じ動作と効果を得ることができます。

Copyright © ITmedia, Inc. All Rights Reserved.

RSSフィード

公式SNS

EDN 海外ネットワーク

All material on this site Copyright © ITmedia, Inc. All Rights Reserved.
This site contains articles under license from AspenCore LLC.