問題タブ [system-verilog-assertions]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
7523 参照

verilog - `define マクロのスコープ

この質問は、システム Verilog マクロに関するものです。
トップモジュール、サブモジュール、サブサブモジュールがあります。トップモジュールでインスタンス化されたサブモジュールでインスタンス化されたサブサブモジュール。

サブモジュールでマクロを定義する`define abc と、内部`ifndef abcに記述されたコードはトップモジュール/サブサブモジュールでコンパイルされますか?

0 投票する
1 に答える
181 参照

system-verilog - 同様のシーケンスを持つシステム Verilog 機能カバレッジ ビンに問題はありますか?

  • zzzz は、入力に応じて 0 から 3、4、9、17、18 または 19 までカウントするカウンター レジスタです。
  • この機能範囲をコーディングする際のアイデアは、特定の一連の遷移が発生した場合にビンのいずれか 1 つだけにヒットすることです。

  • たとえば、sequence_2 のように遷移が 0 から 4 になる場合、sequence_1 にも 0 から 3 のシーケンスが存在するため、sequence_1 にもヒットします。

ありがとう

0 投票する
1 に答える
763 参照

arrays - 整数の配列が特定の範囲内になるように制約する

全て、

byte my_array [0:8]たとえば、配列内のすべての要素をループして、値を 1 から 9 の範囲内に制限する SystemVerilog 制約を考え出そうとしています。次のようなものです。

上記はパーサーによって受け入れられません。助けてください!ループ内で 9 つの制約を生成できますが、もっと洗練されたものにしたいと考えています。したがって、以下は現在の回避策です。

ありがとう!

0 投票する
1 に答える
259 参照

system-verilog - シーケンスが発生すると、System-Verilog アサーションでその中にサブシーケンスが発生します。

私が言いたいのは、「シーケンスAが発生する場合、シーケンスはBそのシーケンス内で発生する」ということです。これどうやってするの?

私はアサーションを使用できると思っていたでしょう:

しかし、これは私の例ではうまくいかないようです。

私はそれを読んだ:

線形シーケンスは、最初のブール式が最初のクロック ティックで true と評価され、2 番目のブール式が 2 番目のクロック ティックで true と評価されるという条件で、連続するクロック ティックの有限間隔に沿って一致すると言われます。最後のクロック ティックで true と評価される最後のブール式。

|->しかし、最初にしたいときに、クロックティックが最後のクロックティックの反対側に渡されたと思われます。

私の特定の例は、十分な数の正の数を追加するとオーバーフローすることが予想されるアキュムレータA = (input == 1)[*MAX_SIZE]です。B = (output == 0)B

私はsystem-verilogに非常に慣れていないので、コードの他の部分が間違っている可能性がありますが、この例がどこでも行われたことはありません。

0 投票する
1 に答える
325 参照

system-verilog - システム Verilog 2012 リファレンス ガイドのエラー always_comb での非ブロッキングに関するエラー ? および遅延アサーション プロパティ マーカー?

2つの質問

  1. システム Verilog 2012 リファレンス ガイドには、ブロックalways_combのクロッキング リファレンスがないため、シーケンシャル ロジックのコーディングへの参照があります。always_combalways_comb

ここに画像の説明を入力

  1. Synopsys Verdi でシステム Verilog アサーションを使用しているときに、プロパティが満たされた後、半分または 1 クロック サイクル後に緑の矢印 (アサートされたプロパティが満たされていることを示す) が起動される可能性はありますか?

ありがとう

0 投票する
2 に答える
726 参照

system-verilog - システム Verilog アサーション (SVA) に情報を表示するために、シーケンス ブロック内で $display ステートメントを使用するにはどうすればよいですか?

シーケンスブロックが実行されている間、いくつかの情報を表示したい。

例えば:

このコードを試しましたが、次のエラーが発生しました。

タスク $display は、機能が期待される場所で呼び出されます。タスク呼び出しを修正して再コンパイルしてください。

どうすればこれを克服できますか?