同期なクロックと非同期なクロック

[] [] []


「クロックが同時である」を2つのクロックのFF間転送に拡張して、2つのクロックの時間差が管理されているとき「同期している」と言い、管理されていないとき「非同期である」と言う。

2つのオシレータから作られたクロックは周期が微妙に異なるため時間差自体もだんだん変化していくので、当然、非同期である。

では1つのオシレータ(発振源)から作られたクロックは同期しているかというと、そうとは限らない

1) clk2分周してclk_halfを作ると、clk_halfclkより少し遅れるので、clk_halfFFからclkFFへの転送は同期と見なせるが、逆の転送はホールドタイムを確保するのが厳しく、同期しているとは見なせない。

なおFPGAではPLLで分周・逓倍できるようになっており、1つのPLLの出力クロック同士は同期していると見なせる。

2) clkの反転~clkを作ると、duty50%に管理されていれば2つのクロックは同期していると見なしてよいが、立ち上がりと立ち下がりとで遅延が異なるバッファを通したりしてduty50%から大きく外れるようだと、同期しているとは見なせない。

3) 別々のデバイス、基板、装置間の転送では、何も考えずにクロックを分配していると同期とは見なせない。FPGA1FPGA2FFクロック端子での時間差がいくら、と管理されていれば同期と見なせる。


[] [] []