タイミング解析とCDC

reqとackを使う4相ハンドシェイクで、データを1つ渡すときの信号の順序として正しいものはどれか。

  1. Areqを1にすると同時にデータを変え始める → 受け側がackを1にする → reqとackを同時に0にする
  2. B受け側が先にackを1にする → 送り側がデータを確定させてreqを1にする → 受け側がデータを取り込む → reqとackを同時に0にする
  3. Cデータを確定させてreqを1にする → 受け側がデータを取り込みackを1にする → reqを0にする → ackを0にする
答えと解説を見る

正解:C. データを確定させてreqを1にする → 受け側がデータを取り込みackを1にする → reqを0にする → ackを0にする

4相ハンドシェイクでは、reqとackがそれぞれ1回ずつ上がって下がり、合計4回の変化で1回の受け渡しが終わります。送り側はデータを確定させてからreqを上げ、受け側は同期化したreqを見てデータを取り込み、ackを上げます。送り側は同期化したackを見てreqを下げ、受け側はreqが下がったのを見てackを下げます。reqとackは1ビットなので2段同期化回路で安全に渡せます。データを変えながらreqを上げると、受け側が変化中の値を取り込むおそれがあります。

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

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

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

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

  1. ハンドシェイクによるクロックドメイン間のデータ転送の欠点として正しいものはどれか。
  2. 非同期FIFOで、書き込みポインタと読み出しポインタをグレイコードに変換してから相手のドメインに同期化する理由として正しいものはどれか。
  3. 4ビットのバイナリ 0110(10進数の6)をグレイコードに変換したものはどれか。
  4. 深さ16語の非同期FIFOで、書き込みポインタと読み出しポインタをアドレスより1ビット多い5ビットにする理由として正しいものはどれか。
  5. 5ビットのグレイコードのポインタを使う深さ16語の非同期FIFOで、書き込み側で満杯(full)を判定する条件として正しいものはどれか。