タイミング解析とCDC

5ビットのグレイコードのポインタを使う深さ16語の非同期FIFOで、書き込み側で満杯(full)を判定する条件として正しいものはどれか。

  1. A書き込みポインタと、同期化した読み出しポインタの上位2ビットがそれぞれ逆で、下位3ビットが一致している
  2. B書き込みポインタと、同期化した読み出しポインタの5ビットすべてが一致している
  3. C書き込みポインタと、同期化した読み出しポインタの最上位ビットだけが逆で、下位4ビットがすべて一致している
答えと解説を見る

正解:A. 書き込みポインタと、同期化した読み出しポインタの上位2ビットがそれぞれ逆で、下位3ビットが一致している

バイナリでは、満杯は書き込みポインタが読み出しポインタのちょうど16先にある状態で、最上位ビットだけが違います。これをグレイコードに直すと、最上位ビットはそのまま反転し、2番目のビットは最上位ビットとのXORで作られるので一緒に反転し、下位3ビットは同じになります。例えば読み出しが 00000 なら、満杯のときの書き込みは 11000 です。最上位ビットだけが逆というのはバイナリの場合の条件で、5ビットすべての一致は空(empty)の条件です。

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

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

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

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

  1. 非同期FIFOでは相手のポインタを同期化して使うので、見えるポインタの値が2〜3サイクル古くなる。この遅れがfull/emptyの判定に与える影響として正しいものはどれか。
  2. 書き込み側 100 MHz、読み出し側 80 MHz の非同期FIFOで、書き込み側は100語のバーストを毎サイクル1語ずつ書き込み、読み出し側は毎サイクル1語ずつ読み出す。バーストの間には十分な休みがある。あふれないために必要な最小の深さはいくらか(同期化による遅れは無視する)。
  3. 書き込み側は 200 MHz で毎サイクル1語ずつ、120語のバーストを書き込む。読み出し側は 150 MHz のクロックで、3サイクルのうち2サイクルだけ1語ずつ読み出す。あふれないために必要な最小の深さはいくらか(同期化による遅れは無視する)。
  4. 書き込み側 250 MHz、読み出し側 200 MHz で、どちらも毎サイクル1語ずつ転送する。64語のバーストを受けるFIFOに計算上必要な最小の深さはいくらか(同期化による遅れは無視し、端数は切り上げる)。
  5. アクティブLowの外部リセットから、「非同期にアサートし、同期してデアサートする」内部リセットを作るリセット同期化回路の構成として正しいものはどれか。