タイミング解析とCDC

マルチビットのデータを、別のクロックドメインに安全に渡す方法として正しいものはどれか。

  1. Aデータの各ビットに3段の同期化回路を付ければ、ビットごとのずれがなくなるので、それだけで安全に渡せる
  2. Bデータを送り側で保持したまま、1ビットの有効信号だけを同期化し、受け側はそれを見てからデータを取り込む
  3. C各ビットの同期化回路を互いに近くに配置して、ビットごとのずれをなくす
答えと解説を見る

正解:B. データを送り側で保持したまま、1ビットの有効信号だけを同期化し、受け側はそれを見てからデータを取り込む

マルチビットのデータでは、各ビットの同期化の結果が1サイクルずれる問題を、段数や配置の工夫で解決することはできません。代表的な方法は、データ自体は同期化せずに送り側で保持しておき、1ビットの制御信号だけを同期化して渡すことです。受け側が制御信号の変化を見る時点では、データは十分前から安定しているので、そのまま取り込めます。ただしデータは、受け側が取り込み終わるまで変えてはいけません。連続して大量に送るなら非同期FIFOを使います。

この分野を解く 分野ページへ

タイミング解析とCDCの参考書を探す PR

Amazonの検索結果へのリンクです。Amazonのアソシエイトとして、半導体教室は適格販売により収入を得ています。

タイミング解析とCDCのほかの問題

  1. 500 MHz のクロックドメインで1サイクル(2 ns)だけ1になるパルスを、100 MHz のドメインに2段同期化回路で渡した。起こりうる問題として正しいものはどれか。
  2. 400 MHz のドメインから 100 MHz のドメインへ、レベルの信号を同期化回路で確実に渡すため、信号の幅を受け側のクロック周期の1.5倍以上にしたい。送り側のクロックで最小何サイクルの幅にすればよいか。
  3. トグル同期(送り側でパルスが来るたびに反転するレベル信号を作って渡す方式)で、受け側でもとのパルスを取り出す方法として正しいものはどれか。
  4. トグル同期でパルスを速いクロックドメインから遅いクロックドメインへ渡すときの制約として正しいものはどれか。
  5. reqとackを使う4相ハンドシェイクで、データを1つ渡すときの信号の順序として正しいものはどれか。