タイミング解析とCDC

ハンドシェイクによるクロックドメイン間のデータ転送の欠点として正しいものはどれか。

  1. Areqとackの同期化を往復させるので1回の転送に何サイクルもかかり、連続した大量の転送には向かない
  2. Bマルチビットのデータを渡すと、ビットごとの同期化のずれでデータが壊れる
  3. C送り側と受け側のクロックの周波数が同じでなければ使えない
答えと解説を見る

正解:A. reqとackの同期化を往復させるので1回の転送に何サイクルもかかり、連続した大量の転送には向かない

4相ハンドシェイクでは、reqが受け側に伝わるまでに同期化の2サイクル、ackが送り側に戻るまでに2サイクルかかり、それぞれが0に戻る分も同じだけかかるので、1回の転送に両方のドメインで合わせて8サイクル以上かかります。そのため、制御レジスタの設定値のように、ときどき渡すデータに向いています。データは転送の間ずっと安定しているので、ビットのずれによる誤りは起きず、周波数の比も問いません。毎サイクルのようにデータを流すときは、非同期FIFOを使います。

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

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

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

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

  1. 非同期FIFOで、書き込みポインタと読み出しポインタをグレイコードに変換してから相手のドメインに同期化する理由として正しいものはどれか。
  2. 4ビットのバイナリ 0110(10進数の6)をグレイコードに変換したものはどれか。
  3. 深さ16語の非同期FIFOで、書き込みポインタと読み出しポインタをアドレスより1ビット多い5ビットにする理由として正しいものはどれか。
  4. 5ビットのグレイコードのポインタを使う深さ16語の非同期FIFOで、書き込み側で満杯(full)を判定する条件として正しいものはどれか。
  5. 非同期FIFOでは相手のポインタを同期化して使うので、見えるポインタの値が2〜3サイクル古くなる。この遅れがfull/emptyの判定に与える影響として正しいものはどれか。