タイミング解析とCDC
セットアップ・ホールドのスラック計算やOCV、マルチサイクルパスなどの静的タイミング解析と、同期化回路や非同期FIFOを使うクロックドメインクロッシングの設計を3択問題で確認できます。
—あなたの正答率
0 / 50解いた問題
タイミング解析とCDCの要点
同期回路が正しく動くには、フリップフロップ間のすべての経路で、データがセットアップ時間とホールド時間を満たして届く必要があります。静的タイミング解析(STA)は、SDCで与えたクロックや入出力遅延の制約をもとに各経路のスラックを計算し、スキューやジッタ、製造ばらつきも見込んで違反を見つけます。
一方、非同期のクロックどうしの間ではタイミングを保証できず、メタステーブルを避けられません。2段フリップフロップの同期化回路、ハンドシェイク、グレイコードのポインタを使う非同期FIFOなどで信号を安全に渡すクロックドメインクロッシング(CDC)の設計と検証も、論理設計の基本です。
タイミング解析とCDCの問題一覧(50問)
- クロック周期 2.0 ns の同期回路で、送り側フリップフロップのクロック→出力遅延が 0.2 ns、組み合わせ回路の遅延が 1.4 ns、受け側フリップフロップのセットアップ時間が 0.1 ns である。クロックスキューを0とすると、セットアップのスラックはいくらか。
- フリップフロップ間の経路で、クロック→出力遅延が 0.15 ns、組み合わせ回路の最大遅延が 2.2 ns、セットアップ時間が 0.15 ns である。スキューとクロックの不確かさを無視すると、この経路で動作できる最大のクロック周波数はいくらか。
- STAのレポートに出てくるWNSとTNSの説明として正しいものはどれか。
- クロック周期 1.0 ns、クロック→出力遅延 0.1 ns、組み合わせ回路の遅延 0.85 ns、セットアップ時間 0.08 ns の経路がある。受け側フリップフロップのクロックが送り側より 0.05 ns 遅れて届くとき、セットアップのスラックはいくらか。
- 受け側フリップフロップのクロックが送り側より遅れて届く(正のスキュー)ときの、セットアップとホールドへの影響として正しいものはどれか。
- 送り側のクロック→出力遅延が最小 0.08 ns、組み合わせ回路の最小遅延が 0.02 ns、受け側のホールド時間が 0.05 ns である。受け側のクロックが送り側より 0.1 ns 遅れて届くとき、ホールドのスラックはいくらか。
- 同じクロックの立ち上がりエッジで送り出しと取り込みを行う通常の経路で、ホールド違反(スラック −0.03 ns)が見つかった。クロック周波数を半分に下げたときの、この違反の扱いとして正しいものはどれか。
- ホールド違反を直すために、データ経路に遅延用のバッファを挿入する。このときに確認すべきこととして最も重要なものはどれか。
- クロック周期 1.25 ns(800 MHz)の経路で、クロック→出力遅延と組み合わせ回路の遅延の合計が 1.05 ns、セットアップ時間が 0.05 ns、セットアップ用のクロックの不確かさが 0.05 ns に設定されている。セットアップのスラックはいくらか。
- クロックの不確かさの設定で、セットアップ用には周期ジッタを含めるが、ホールド用には含めないことが多い。その理由として正しいものはどれか。
- STAで、セットアップとホールドをそれぞれ主にどのコーナー条件で確認するかの組み合わせとして正しいものはどれか。
- OCVディレーティングとして、セットアップ解析で送り側のクロック経路とデータ経路の遅延を1.1倍、受け側のクロック経路の遅延を0.9倍にする。送り側クロック経路 1.0 ns、データ経路(クロック→出力を含む)1.5 ns、受け側クロック経路 1.0 ns(共通部分はない)、周期 3.0 ns、セットアップ時間 0.1 ns のとき、セットアップのスラックはいくらか。
- OCVディレーティングを使ったSTAで、送り側と受け側のクロック経路が途中まで共通な場合に行うCRPR(共通パスの悲観性の除去)の説明として正しいものはどれか。
- 周期 2.0 ns のクロックで動く回路で、データの到着時刻(クロック→出力遅延と組み合わせ回路の遅延の合計)が 3.3 ns、セットアップ時間が 0.1 ns の経路がある。この経路は2サイクルに1回だけ取り込めばよいので、セットアップのマルチサイクルパスを2に設定した。セットアップのスラックはいくらか。
- セットアップのマルチサイクルパスを N(N ≥ 2)に設定したとき、ホールドについても通常マルチサイクルパスを N − 1 に設定する。その理由として正しいものはどれか。
- フォールスパス(set_false_path)を設定するのが適切な経路はどれか。
- 周期 2.0 ns、デューティ比50%のクロックで、立ち上がりエッジで送り出し、立ち下がりエッジで取り込む経路がある。セットアップ時間を 0.1 ns、スキューを0とすると、クロック→出力遅延と組み合わせ回路の遅延の合計に許される最大値はいくらか。
- 周期 2.0 ns のクロックで、時刻0の立ち上がりエッジでデータを出すフリップフロップから、時刻 1.0 ns に開いて(透過になって)時刻 2.0 ns に閉じるラッチへの経路がある。データがラッチに時刻 1.4 ns に着いたとき、このラッチで借りた時間(タイムボロー)はいくらか。
- クロックとイネーブル信号の2入力ANDゲートでクロックを止める回路で、STAのクロックゲーティングチェックが確認する内容として正しいものはどれか。
- 周期 2.0 ns のクロックで、入力端子に set_input_delay 0.6 ns が設定されている。内部のフリップフロップのセットアップ時間が 0.1 ns、クロックの遅延とスキューを無視すると、入力端子からフリップフロップまでのチップ内部の経路に許される最大遅延はいくらか。
- set_output_delay に指定する値が表すものとして正しいものはどれか。
- 周期 2.5 ns(400 MHz)のクロックで、出力端子に set_output_delay 0.8 ns が設定されている。出力端子を駆動するフリップフロップのクロック→出力遅延が 0.2 ns のとき、フリップフロップから出力端子までの組み合わせ回路と配線に許される最大遅延はいくらか(クロックの遅延は無視する)。
- 周期 1.0 ns のクロックで、フリップフロップA→B→Cとつながる経路がある。A→Bはクロック→出力遅延とセットアップ時間を含めて 1.2 ns が必要で、B→Cは 0.8 ns で足りる。スキューを意図的に使って両方のセットアップを満たすには、Bのクロックをどうすればよいか(AとCのクロックは同時に届くものとする)。
- クロックを分周回路で2分周して別の回路に使う場合、SDCでの扱いとして正しいものはどれか。
- 非同期リセット付きフリップフロップで、リセットの解除がクロックのエッジに近すぎないかをSTAで調べるチェックはどれか。
- 2つのクロックドメインの間の経路で、同期化回路が必要になるのはどれか。
- 2段フリップフロップの同期化回路を3段に増やしたときの、メタステーブルによる故障の平均間隔(MTBF)の変化として正しいものはどれか。
- 同期化回路の受け側のクロック周波数を上げると、MTBFが短くなる。その理由として正しいものはどれか。
- 2段フリップフロップの同期化回路で、1段目と2段目の間についての注意として正しいものはどれか。
- 送り側のクロックドメインで、組み合わせ回路の出力を直接、受け側の同期化回路に入れてはいけない理由として正しいものはどれか。
- 4ビットのデータの各ビットに、それぞれ2段の同期化回路を付けて別のクロックドメインに渡した。データが 0111 から 1000 に変わるときに起こりうる問題として正しいものはどれか。
- マルチビットのデータを、別のクロックドメインに安全に渡す方法として正しいものはどれか。
- 500 MHz のクロックドメインで1サイクル(2 ns)だけ1になるパルスを、100 MHz のドメインに2段同期化回路で渡した。起こりうる問題として正しいものはどれか。
- 400 MHz のドメインから 100 MHz のドメインへ、レベルの信号を同期化回路で確実に渡すため、信号の幅を受け側のクロック周期の1.5倍以上にしたい。送り側のクロックで最小何サイクルの幅にすればよいか。
- トグル同期(送り側でパルスが来るたびに反転するレベル信号を作って渡す方式)で、受け側でもとのパルスを取り出す方法として正しいものはどれか。
- トグル同期でパルスを速いクロックドメインから遅いクロックドメインへ渡すときの制約として正しいものはどれか。
- reqとackを使う4相ハンドシェイクで、データを1つ渡すときの信号の順序として正しいものはどれか。
- ハンドシェイクによるクロックドメイン間のデータ転送の欠点として正しいものはどれか。
- 非同期FIFOで、書き込みポインタと読み出しポインタをグレイコードに変換してから相手のドメインに同期化する理由として正しいものはどれか。
- 4ビットのバイナリ 0110(10進数の6)をグレイコードに変換したものはどれか。
- 深さ16語の非同期FIFOで、書き込みポインタと読み出しポインタをアドレスより1ビット多い5ビットにする理由として正しいものはどれか。
- 5ビットのグレイコードのポインタを使う深さ16語の非同期FIFOで、書き込み側で満杯(full)を判定する条件として正しいものはどれか。
- 非同期FIFOでは相手のポインタを同期化して使うので、見えるポインタの値が2〜3サイクル古くなる。この遅れがfull/emptyの判定に与える影響として正しいものはどれか。
- 書き込み側 100 MHz、読み出し側 80 MHz の非同期FIFOで、書き込み側は100語のバーストを毎サイクル1語ずつ書き込み、読み出し側は毎サイクル1語ずつ読み出す。バーストの間には十分な休みがある。あふれないために必要な最小の深さはいくらか(同期化による遅れは無視する)。
- 書き込み側は 200 MHz で毎サイクル1語ずつ、120語のバーストを書き込む。読み出し側は 150 MHz のクロックで、3サイクルのうち2サイクルだけ1語ずつ読み出す。あふれないために必要な最小の深さはいくらか(同期化による遅れは無視する)。
- 書き込み側 250 MHz、読み出し側 200 MHz で、どちらも毎サイクル1語ずつ転送する。64語のバーストを受けるFIFOに計算上必要な最小の深さはいくらか(同期化による遅れは無視し、端数は切り上げる)。
- アクティブLowの外部リセットから、「非同期にアサートし、同期してデアサートする」内部リセットを作るリセット同期化回路の構成として正しいものはどれか。
- 同じ送り側のドメインから来た2本の制御信号を、それぞれ別の2段同期化回路で受け、受け側でANDをとって使う設計の問題点として正しいものはどれか。
- STAとRTLシミュレーションを行っていても、CDC検証ツールによる確認が必要とされる理由として正しいものはどれか。
- 非同期FIFOのグレイコードのポインタを相手のドメインに渡す経路を、非同期だからといって制約なし(フォールスパス)にすると問題になりうる理由として正しいものはどれか。
タイミング解析とCDCの参考書を探す PR
Amazonの検索結果へのリンクです。Amazonのアソシエイトとして、半導体教室は適格販売により収入を得ています。