タイミング解析とCDC

4ビットのデータの各ビットに、それぞれ2段の同期化回路を付けて別のクロックドメインに渡した。データが 0111 から 1000 に変わるときに起こりうる問題として正しいものはどれか。

  1. Aビットごとに取り込まれるサイクルがずれ、1111 や 0000 のような途中の値を受け取ることがある
  2. B同期化回路を通すと、すべてのビットが同じサイクルでそろうので問題は起きない
  3. C4ビットすべてがメタステーブルになり、そのまま0にも1にも戻らなくなる
答えと解説を見る

正解:A. ビットごとに取り込まれるサイクルがずれ、1111 や 0000 のような途中の値を受け取ることがある

2段同期化回路は1ビットごとに、変化を取り込むのが今回のエッジか次のエッジかが確定しません。0111 から 1000 への変化では4ビットすべてが変わるので、一部のビットだけが新しい値になった 1111 や 0000、0100 などを1サイクル受け取ることがあります。受け側がその値を使うと誤動作します。メタステーブルは時間がたてば0か1に収まります。カウンタの値ならグレイコードに変換して1ビットだけが変わるようにし、任意のデータならハンドシェイクや非同期FIFOを使います。

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

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

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

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

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