タイミング解析とCDC

4ビットのバイナリ 0110(10進数の6)をグレイコードに変換したものはどれか。

  1. A0111
  2. B0100
  3. C0101
答えと解説を見る

正解:C. 0101

バイナリからグレイコードへの変換は、各ビットとその1つ上のビットのXORをとります(最上位ビットはそのまま)。式で書くと g = b XOR (b >> 1) です。0110 を1ビット右にシフトした 0011 とXORをとると、0110 XOR 0011 = 0101 になります。0111 は5の、0100 は7のグレイコードで、6の前後の値です。5→6→7と進むと 0111→0101→0100 となり、隣り合う値の間で1ビットだけが変わっていることが確かめられます。

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

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

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

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

  1. 深さ16語の非同期FIFOで、書き込みポインタと読み出しポインタをアドレスより1ビット多い5ビットにする理由として正しいものはどれか。
  2. 5ビットのグレイコードのポインタを使う深さ16語の非同期FIFOで、書き込み側で満杯(full)を判定する条件として正しいものはどれか。
  3. 非同期FIFOでは相手のポインタを同期化して使うので、見えるポインタの値が2〜3サイクル古くなる。この遅れがfull/emptyの判定に与える影響として正しいものはどれか。
  4. 書き込み側 100 MHz、読み出し側 80 MHz の非同期FIFOで、書き込み側は100語のバーストを毎サイクル1語ずつ書き込み、読み出し側は毎サイクル1語ずつ読み出す。バーストの間には十分な休みがある。あふれないために必要な最小の深さはいくらか(同期化による遅れは無視する)。
  5. 書き込み側は 200 MHz で毎サイクル1語ずつ、120語のバーストを書き込む。読み出し側は 150 MHz のクロックで、3サイクルのうち2サイクルだけ1語ずつ読み出す。あふれないために必要な最小の深さはいくらか(同期化による遅れは無視する)。