問題タブ [system-verilog]
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.
verilog - SystemVerilog で OVM オブジェクトを削除および割り当て解除するにはどうすればよいですか?
別の構成で再作成できるように、ovm オブジェクト (およびその子オブジェクト) を削除したいと考えています。OVMでこれを行う方法はありますか?
現在、オブジェクトをもう一度作成しようとするとnew
、次の VCS ランタイム エラーが発生します。
[CLDEXT] Cannot set 'ap' as a child of 'instance', which already has a child by that name.
インスタンスを「再作成」するために別の名前を使用するだけでよいことに気付きましたが、それでも古いインスタンスが残り、メモリを吸収します。
dependency-management - 言語固有ではない優れた依存関係管理ツールはありますか?
Java やその他の言語に固有ではない依存関係管理ツールを探しています。
ハードウェア記述言語である SystemVerilog を使用して、スタンドアロン モジュールを作成します。これらのモジュールのリリースには、さまざまなマイルストーンでタグを付けます。高レベルの設計では、Subversion タグを使用して他のモジュールを頻繁に取り込みます。
モジュールをチェックアウトすると、その依存関係も取得できるように、Subversion 外部を使用して物事を自動化しようとしました。しかし、システム レベルに到達するまでには、入れ子になった外部が非常に多いため、svn update を実行するのに 1 時間かかります。明らかに、そのアプローチは機能していません。
基本的には、「私のモジュールは、このバージョンのモジュール A、このバージョンのモジュール B、およびこのバージョンのモジュール C に依存している」と言えます。このツールは、依存関係をチェックアウトし、依存関係の依存関係をチェックアウトし、競合する依存関係 (同じモジュールの 2 つのバージョンなど) がないことを確認する作業を行います。
任意の言語と Subversion でうまく動作するツールはありますか?
hardware - Verilog Generate ステートメントでの複数の Genvar のインクリメント
Verilog でマルチステージ コンパレータを作成しようとしていますが、単一の生成ループで複数の genvar をインクリメントする方法がわかりません。私は次のことを試しています:
そして、次のエラーが発生します:
同じ生成ステートメントで複数の genvars をインクリメントする方法を知っている人はいますか? または、少なくとも同等の機能を取得しますか?
verilog - SystemVerilog で const オブジェクトを作成できますか?
SystemVerilog クラス内にconstオブジェクトを作成したいと考えています。SystemVerilog は const オブジェクト (およびその方法) をサポートしていますか、それとも const プリミティブ型のみをサポートしていますか。
私は次のようなことをしたいと思います:
verilog - SystemVerilogテストベンチシミュレーション(VCS)の非アクティブキルスイッチ
こんにちは、これを見てくれてありがとう。
私は、SystemVerilogシミュレーション用の非アクティブなキルスイッチのアイデアについて考えていました。
「simv」を実行しているときに非アクティブの(プログラム可能な)期間が長くなると、「$ finish」を呼び出す内部イベントがトリガーされる可能性がありますか?または、VCSコマンドを使用することは可能ですか?
ブレーンストーミングしましょう。そして、何か不明な点があれば教えてください。
RRS
verilog - SystemVerilog ovm_sequenceオブジェクトにコマンドラインオーバーライドを適用するにはどうすればよいですか?
次のように、コマンドラインオーバーライドをovm_sequenceオブジェクトに適用したいと思います。
+ovm_set_config_int=*,max_timeout,100000
max_timeout
フィールドはovm_sequence_utils
マクロ内で宣言されます。
それを行う方法はありますか?私の理解では、ovmシーケンスはovm階層の一部ではないため、コマンドラインから変更できない可能性があります。
function - voidコンテキストで使用される非void関数?
SystemVerilogを使用しています。私のコードは次のとおりです。
次に、次のように関数を呼び出します。
そして、私はvcs警告を受け取ります:
しかし、私は何も返していません。警告を取り除くために関数呼び出しをvoidにキャストできることを知っています。しかし、なぜそれがこの警告を与えるのですか?? !!
ありがとう。
verilog - 「プレーンな」begin-end ブロックのポイントは何ですか?
私はいくつかのサードパーティの Verilog を読んでいて、これを見つけました:
ここではbegin
andend
キーワードが冗長なようです。彼らは?それらの用途は何ですか?
memory - シングルまたはダブルポートラムからのクアッドポートラム?
現在取り組んでいる設計では、クワッド ポート RAM が必要です。ただし、ルックアップ テーブルに実装すると大量の領域が使用されるため、その設定では必要なパフォーマンスを達成できません。FPGA にはシングル ポート RAM とデュアル ポート RAM 用のハードウェア ブロックがありますが、それらを組み合わせてクアッド ポート メモリを作成することはできますか?
multidimensional-array - systemverilog でパックされた + アンパックされた配列を検索する代替手段
私は現在これをやっているこの奇妙な状況を持っています:
どこ
ここで、この遅延を 0->....->7->0 などのラウンド ロビンで実行したいのですが、strm に存在する必要があるという条件を満たす必要があります。だから私は何かが欲しい
すべてのインデックス (2^16-1) を調べる以外に、このパックされた + アンパックされた配列に存在するかどうかを調べる方法はありますか? 前もって感謝します!