デジタルIC検証高頻度面接質疑応答(2)

最近、バックステージにいる一部の学生が、まだ確認したい面接の質問を非公開で送ってきたので、これです〜

Q16. 重み制約の「:=」と「:/」の違い

:= 演算子は、値範囲内の各値の重みが同じであることを示します ([1:3]:=40 など)。これは、1、2、および 3 の確率が 40/120 であることを意味します。

:/ 演算子は、[1:3]:/60 など、値の範囲内の各値に重みを均等に配分する必要があることを意味します。これは、1、2、および 3 を取得する確率が 20/60 であることを意味します。

Q17. randとrandcの違い

rand: ランダムを意味し、たとえば 56 個の数字があり、各回のランダム確率は 1/56 です;
randc: 56 個の数字などの周期的なランダムを意味し、最初のランダムの確率は 1/56、2 番目のランダムは 1/56 です。ランダム 確率は 1/55 などです。

Q18.break、contain、returnの意味と使い方

Break ステートメントはループ全体を終了します。
continue このサイクルを直ちに終了し、次のサイクルの実行を続けます。
return ステートメントは関数の実行を終了し、関数の値 (存在する場合) を返します。

Q19. 関数内の return ステートメントが実行された後、関数内の残りのコードステートメントは引き続き実行されますか?

return 後は、関数内の残りのステートメントは実行できなくなり、関数の実行が終了し、関数の値が返されます。

Q20. フリップフロップとラッチの違い

トリガー: クロックがトリガーされ、クロックによって制御されます。現在の入力がサンプリングされ、クロックがトリガーされた場合にのみ出力が生成されます。

ラッチ: レベルによってトリガーされ、非同期的に制御されます。イネーブル信号が有効なときはラッチがチャネルに相当し、イネーブル信号が無効なときはラッチが出力状態を維持する。フリップフロップはクロック エッジによってトリガーされ、同期して制御されます。

ラッチは入力レベルに敏感であり、配線遅延の影響を大きく受けるため、出力にグリッチがないことを保証するのは困難ですが、フリップフロップはグリッチを発生しにくいものです。

Q21. 同期に 2 レベルのフリップフロップを使用する理由

同期にセカンダリ トリガーを使用すると、準安定性の発生を大幅に回避できます。

なぜ「2回叩く」ことでメタスタビリティが軽減されるのかというと、レジスタが双安定デバイスであり、安定状態が0と1の2つしかないことが根本的な原因だと思います。ほとんどの場合、1 段目のフロップの Q 端子が準安定状態に見える場合でも、1 クロック サイクル以内に安定するため、2 段目のフロップで収集される値は安定した値になります。これを利用して準安定状態の伝播を断ち切るのが「ツービート」です。

Q22.セットアップやホールドの違反にはどのようなものがありますか?

セットアップ時間とは、クロックのアクティブ エッジの前にデータ入力端子の信号が安定していなければならない最小時間を指します。
ホールド時間とは、クロックのアクティブ エッジの後にデータ入力端子の信号が安定しなければならない最小時間を指します。

ホールド タイム タイミング チェックにより、フリップフロップが初期データを安定して出力できるようになる前に新しいデータが D 端子に到着して初期データが上書きされないことが保証されます。
[写真]

これを一言で要約すると、Capture Edge と比較して、送信される現在のデータは早く到着し (セットアップ時間)、遅く出発する必要があります (ホールド時間)。

Q23.SVA での and、intersect、または全体での $past の使用方法

and: 2 つのシーケンスは論理 AND 方式で結合できます。両方のシーケンスが一致すると、属性全体が成功します。

例:
property p;
sequence_a and sequence_b;
endproperty
[] sequence_a と sequence_b のチェック開始点は同じである必要がありますが、2 つの終了点は異なっていても構いません。プロパティ全体の成功ポイントは、最後に成功したシーケンスです。 2 つのシーケンス 一致するポイントが属性の成功ポイントです。
or: 2 つのシーケンスは論理和で組み合わせることができ、2 つのシーケンスのいずれかが一致すると、属性全体が成功します。
例:
property p;
sequence_a or sequence_b;
endproperty
[注意] sequence_a と sequence_b のチェック開始点は同じである必要がありますが、2 つの終了点は異なっていてもよく、プロパティ全体の成功ポイントは一致するシーケンスによって決まります。シーケンスの 1 つが正常に一致すると、属性全体が一致したとみなされます。

intersect の両側の式はシーケンスであり、プロパティではありません。intersect を使用する場合は、両側のシーケンスが同時に開始する必要があり、2 つのシーケンスが最終的に同時に一致したときに、 2 つのシーケンスは一致すると見なされます、つまり 2 つのシーケンス 一致する長さは同じである必要があります。intersect 演算子は and 演算子と非常によく似ていますが、2 つのシーケンスが最終的に一致するときに同時に一致する必要はありません。

SVA では、シーケンス検査プロセス中に状態を維持するために信号が必要になる場合がありますが、このとき、スルー演算子を使用することができ、これらの信号の状態が予期せず変化した場合、シーケンス検査は失敗とみなされます。

past は主に、現在の式の前のクロック サイクルの値 (number_of_ticks が指定されていない場合、デフォルトで前のクロック サイクルを指します) が true かどうかを確認するために使用され、ビットが true の場合、$past は true を返します。その形式は次のとおりです:
past(expression[,number_of_ticks]);
ここで、number_of_ticks は、現在の時点より前の number_of_ticks サイクルのサンプリング値をチェックすることを指定できます。

Q24.SVAの「->」と「=>」の違い

@ (posedge clk) a |-> b clk の立ち上がりエッジをアサートした後、イベント a が「発生し始める」と同時にイベント b が発生します @ (posedge clk) a |=> b 立ち上がりエッジをアサートした
後clk のタイミングでイベント a が発生し始め、次の 1 クロック エッジ後にイベント b が発生し始めます。

Q25. 制約を閉じる方法

さまざまなニーズに応じて、どの制約ブロックを有効にし、どの制約ブロックを禁止するかを選択するには、組み込みのconstraint_mode() 関数を使用して複数の制約ブロックをオンまたはオフにし、rand_mode() 関数を使用してランダムをオンまたはオフにします。変数。

Q26.ディープコピーとシャローコピーの違いは何ですか?

コピーされたオブジェクト内の要素に値のみがあり、参照がない場合、浅いコピーと深いコピーに違いはありません。どちらも元のオブジェクトをコピーし、新しいオブジェクトを生成します。新しいオブジェクトの値を変更しても、元のオブジェクト。新しいオブジェクトは元のオブジェクトから完全に分離されます。

コピーされたオブジェクト内の要素に参照が含まれている場合 (別のリストを格納するリスト、別のリストへの参照を格納するリストなど)、浅いコピーと深いコピーは異なります。浅いコピーは元のオブジェクトをコピーしますが、参照は引き続き保存されます。したがって、新しいオブジェクトの参照の値を変更しても、元のオブジェクトのリストの値は変更され、新しいオブジェクトは元のオブジェクトから完全に分離されますが、完全には分離されません。ディープ コピーは異なります。元のオブジェクトに新しい参照を作成します。つまり、新しいリストを作成し、新しいリストの参照を配置するため、新しいオブジェクトを元のオブジェクトから完全に分離できます。

Q27. キューの一般的な使用方法は何ですか?

一般的に使用されるキューのメソッド: insert、delete、push_back、pop_front
プッシュ挿入、ポップは
前面の前面と背面の背面を削除します。

Q28. ローカルとプロテクトの違い

アクセス タイプがクラスで指定されていない場合、メンバーのデフォルトのタイプは public となり、サブクラスおよび部外者がメンバーにアクセスできます。
アクセス タイプが保護として指定されている場合、クラスまたはサブクラスのみがメンバーにアクセスでき、外部はアクセスできません。
アクセス タイプがローカルとして指定されている場合、クラスのみがメンバーにアクセスでき、サブクラスも外部もアクセスできません。

Q29. 一般的なデバッグ方法にはどのようなものがありますか?

1. 表示の印刷
2. ブレークポイントの設定
3. 波形解析

Q30. 準安定状態の害

準安定性とは、フリップフロップが指定された期間内に識別可能な状態に到達できないことです。
メタステーブル状態はタイミングシーケンスに違反し、指定された時間内に安定化できず、メタステーブル状態には伝達機能があり、次段のフリップフロップに伝達されてしまい、回路エラーが発生します。準安定状態は最終的には安定しますが、それには時間がかかります。

合計150の高頻度面接の確認質問を分類(回答を含む)
ここに画像の説明を挿入

紙面の都合上、IC 確認面接の質問を一つ一つ掲載することはできませんが、面接での質問が必要で、履歴書の注意点や面接までに準備しておくべきことを知りたい方は、こちらをご覧ください。面接では、最初にエンジニアに質問することができます(面接の質問はすべて首輪にすることができます)

ここにエントリがあります: IC 検証面接の質問

おすすめ

転載: blog.csdn.net/coachip/article/details/132025886