こんにちは、トットです。

前回は、非同期式カウンタのデータ変化点が各ビット異なるタイミングである原因が、各レジスタのクロック入力に到達するまでの時間がそれぞれ異なることを説明しました。



今回は、非同期式回路は、各レジスタの出力タイミングが合わないため、非同期式回路が、FPGAの設計に向かないことを、説明します。

非同期式回路は、FPGAにむかない!!!

 

非同期式カウンタでは、各レジスタへ入力されるクロックが前段のレジスタから出力された信号を使っています。そのため、各クロックのエッジは、同じタイミングにはならないケースがあります。



このクロック・エッジの差が発生する原因は先ほど述べたように配線遅延です。

クロック・エッジが同じタイミングではない理由

配線による遅延は、クロックを生成しているレジスタがFPGAデバイス上においてどこに配置されるか、どの配線が使われるかはコンパイルに依存します。



各レジスタ間のクロック配線による遅延が同一値ではないので、出力データの変化点に差が発生します。

 

カウンタでは、各レジスタを駆動するクロック・エッジに差が生じると、データの変化点が異なります。

 

出力データの変化点が異なることにより、有効データの範囲が小さくなり、タイミングマージンが少なくなります。



結果として、高速な動作が必要な回路では、タイミング制約を達成できない場合もあります。



クロックの動作周波数が高速であればあるほど、非同期式カウンタの実現は困難になります。

結論

・非同期式カウンタは、クロック遅延が回路に影響を及ぼす。

・非同期式カウンタは、クロックの動作周波数が高速になると、遅延が大きくなり、タイミング制約を達成できなくなる。

・非同期式カウンタは、クロック遅延が一定値ではない



よって、配置配線に自由度のあるFPGAでは、同期式回路で設計すべきだと理解しました。

 

 

番外編へ