非同期FIFOとは
ひどうきふぁいふぉ
書き込みと読み出しを別々のクロックで行うFIFOで、クロックドメインの間でマルチビットのデータを渡すのに使う。ポインタをグレイコードに変換して相手のドメインに同期化し、満杯(full)と空(empty)を判定する。ポインタはアドレスより1ビット多くして周回を区別する。
「非同期FIFO」は、2分野の11問の練習問題に出てきます(タイミング解析とCDC, LSI設計フロー・EDAなど)。
この用語の分野: タイミング解析とCDC
ひどうきふぁいふぉ
書き込みと読み出しを別々のクロックで行うFIFOで、クロックドメインの間でマルチビットのデータを渡すのに使う。ポインタをグレイコードに変換して相手のドメインに同期化し、満杯(full)と空(empty)を判定する。ポインタはアドレスより1ビット多くして周回を区別する。
「非同期FIFO」は、2分野の11問の練習問題に出てきます(タイミング解析とCDC, LSI設計フロー・EDAなど)。
この用語の分野: タイミング解析とCDC
正解:B. ポインタが一致したとき、同じ周回なら空、1周の差なら満杯と区別できるようにするため
16語のアドレスは4ビットで表せますが、4ビットのポインタだけでは、読み出しと書き込みのアドレスが一致したときに、全部読み終えた空の状態なのか、1周分書いて追いついた満杯の状態なのかを区別できません。5ビット目を周回を表すビットとして加えると、バイナリで比べた場合、5ビットすべてが一致すれば空、最上位ビットだけが違えば満杯と判定できます。グレイコードのポインタでは、満杯の判定の比べ方が少し変わります。パリティとして使うわけではありません。
CDC検証では、こうした受け渡しの箇所を設計から自動で見つけ、2段のフリップフロップや非同期FIFOなどの同期化回路が正しく入っているかを確認します。
異なるクロックで動く回路どうしの間で信号を受け渡す部分に、同期化の回路が正しく入っているかを専用のツールで確認する検証…カウンタの値ならグレイコードに変換して1ビットだけが変わるようにし、任意のデータならハンドシェイクや非同期FIFOを使います。
4ビットのデータの各ビットに、それぞれ2段の同期化回路を付けて別のクロックドメインに渡した。データが 0111 から …連続して大量に送るなら非同期FIFOを使います。
マルチビットのデータを、別のクロックドメインに安全に渡す方法として正しいものはどれか。間隔を保証できないときは、ハンドシェイクで受け側の応答を待つか、非同期FIFOを使います。
トグル同期でパルスを速いクロックドメインから遅いクロックドメインへ渡すときの制約として正しいものはどれか。毎サイクルのようにデータを流すときは、非同期FIFOを使います。
ハンドシェイクによるクロックドメイン間のデータ転送の欠点として正しいものはどれか。Amazonの検索結果へのリンクです。Amazonのアソシエイトとして、半導体教室は適格販売により収入を得ています。
グレイコード クロックドメイン メタステーブル 同期化回路 ハンドシェイク フォールスパス 配置配線 フリップフロップ トグル同期 SDC