デジタル回路においては、同期回路と非同期回路がある。インターフェース技術を学ぶ上では必須となる概念なので、少し回り道になるが、ここで説明しておきたい。

 同期回路は、回路を構成する回路ブロックがクロック信号によって駆動されるものである。一方、非同期回路は、回路ブロックが論理状態の変化や、隣の回路ブロックからの出力に応じて動作するものである。

 非同期回路は言葉で説明されると分かりにくいので実際の回路例を示そう。図4はJ-Kフリップフロップで構成された非同期の4ビットカウンターである。「0000」「0001」「0010」「0011」・・・・という具合に、「+1」ずつ数字が増えていくものだ。J-KフリップフロップはJとK入力をともに"1"だと、現在の論理状態が反転して出力される。QAが最も下位のビットで、QDが最も上位のビットである。

図4 非同期式4ビットカウンターとその動作
[画像のクリックで拡大表示]

 QAのJとKにはクロック信号と同期して1を入力する。これに応じて、両方に1が入力されると出力値Qの値が変化するので、0、1、0、1・・・がQAから出力されることとなる。次のJ-KフリップフロップのJとKにはQAの値を入力する。すると、QAが1のときに情報が反転するので、情報が反転するので、QBでは0、0、1、1という具合に変化する。図4の真ん中の図がQA、QB、QC、QDの状態の遷移を表している。なお、クロック信号の立ち下がりの際に、状態が遷移すると仮定している。この4ビットカウンターでは最初のJ-Kフリップフロップにはクロック信号が入力されるが、それ以降の部分にはクロック信号が直接入力されない。このような回路が非同期回路である。