2017-06-09 13 views
1

マルチクロック設計信号をどのように処理するか? たとえば、 1クロックドメインは25Mhzです もう1つは100Mhzです データバスを25Mhzから100Mhzにするにはどうすれば 、100Mhzから25Hhzにすることができますか?同じソースから異なるクロック周波数(マルチクロック設計)

AFIFOを使用したくないtho これを処理する他の簡単なCDC方法はありますか?

+0

CDCとAFIFOの2つの優れた論文があります:http://www.sunburst-design.com/papers/CummingsSNUG2001SJ_AsyncClk.pdfおよびhttp://www.sunburst-design.com/papers/CummingsSNUG2008Boston_CDC.pdf – Greg

答えて

2

ケース1:ソースでクロックのエッジが確実に揃うようにするには、デザインで何もする必要はありません。シングルビットとマルチビットのデータに違いはありません。

ケース2:エッジが整列していないが、位相関係がわかっている場合、クロックは同期しています。合成/ STA/P & Rツールは、タイミング(例えば、セットアップ/ホールド)チェックの最悪の場合を計算することができる。違反がない場合は、何もする必要はありません。ここで最も重要な部分はタイミング制約を正しく定義することです。

ケース3:クロックが非同期の場合、1つの解決策はバスでイネーブル信号を伝送しています。イネーブル信号は、一対のフリップフロップによって同期される。次に、データビットは、同期イネーブル信号の値に従ってマスクされるか、またはパスされる。この解決策は、hereと多くの他のソリューションとケースで説明されています。

+0

ありがとう、たくさん助けてくれた – user2442045

0

2つのクロックが互いに同期しているか非同期であるかによって異なります。 2ビット/ nビットシンクロナイザーを使用して、CDCのメタ安定性の問題を解消することができます。他のアプローチは、マルチプレクサベースのハンドシェイクメカニズム、グレイコードカウンタである。

0

低速クロックドメインから高速クロックドメインにデータを送信する場合、高速クロックは低速クロックの1.5倍にする必要があります。 高速クロックから低速クロックドメインへの高速クロックのデータは、低速クロックの1.5倍にする必要があります。