問題タブ [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.
logic - システム Verilog でのランタイム値によるビット ベクトル範囲の選択
vectorvalue[6:0]
と input vectorがあるとしますinput[3:0]
。問題は、値ベクトルのビット数を入力の値に基づいて 1 に設定したいことです。
input = 0011
(10 進で 3) 次にvalue = 000111
(3 ビットを に設定1
)
input = 0101
(10 進で 5) 次にvalue = 011111
(5 ビットを に設定1
)
値が定数の場合にのみこれを簡単に実行できますが、ここでは実行時の変更です。これを解決するアイデアはありますか?
verilog - System Verilog $ displayが期待どおりに実行されないのはなぜですか?
私のベンチプログラムでは、次のようなものがあります(簡略化):
index_reg
メインモジュールには、モジュールを作成するための生成ループがあります
次に、index_reg
モジュールに次のデバッグコードを追加しました。
私はこの出力を見ることを期待します:
しかし、「時計が見える」が1回おきにしか表示されない場合もあります。だから私は見る
なぜそうなるのか理解できません。誰かが私を正しい方向に向けてくれませんか?どうもありがとう。
verilog - always ブロック内で生成できますか?
私はこのようなsthを持ちたい:
誰かが私を助けてくれれば幸いです。
verilog - Verilog でのこの構文は何ですか?
module exmaple(input a, b, input in[2:0], output d, e, output out[5:0])
私は Verilog を初めて使用し、input in[2:0]
意味を理解しようとしていますか?
verilog - @(posedge Clk); の違い <= 1'b1; および @(posedge Clk) a<= 1'b1;
間に違いはありますか
と
Clk の後のセミコロンに注意してください。テストベンチを閲覧していたときに、同様のコード行に出くわしました。簡単な実験をいくつか行いましたが、シミュレーション中に違いは見つかりませんでした。これらの行に続くコードの実行順序は、セミコロンの有無によって何らかの形で変化しますか?
string - Verilog で配線する ASCII 文字を割り当てます
Verilog テスト ベンチで次のように文字列を宣言できることを理解しています。
この文字列を使用$display
して、テスト ベンチで表示するなどの操作を実行できます。
モジュールを FPGA にフラッシュするときに、モジュールで同じことを行うことに成功しませんでした。
単一の値を割り当てても機能しません。
8 ビット バス上の個々の文字を LCD 画面にシフトして表示したいと考えています。
Verilog で文字列を操作するにはどうすればよいですか?
verilog - ブースエンコードが機能しない、シミュレーションが含まれる
配列乗数のブースエンコードを書いています。これはモジュールの1つです:
このモジュールのテストベンチシミュレーションは問題ありません。
忙しい猫http://img39.imageshack.us/img39/3444/74546414.jpg !
ただし、このモジュールをトップレベルデザインに配置すると、モジュールadd_inputからの出力が表示されません。本当に不思議に思って、これを一晩中デバッグしていました。
コード:
忙しい猫http://img855.imageshack.us/img855/3361/28395154.png !
シミュレーションに基づいて、ブースエンコーダーが正しく機能していることがわかりますが、出力t_Y1が常に0であるのはなぜですか?
emacs - emacs で熱狂的な ctags を使用しながら Verilog 言語のヘッダー ファイルを指定して使用する方法
私は最近、Verilog およびシステム Verilog コーディングとコード ブラウジングに熱狂的な ctags と emacs を使い始めました。現在、コマンドを使用してタグを生成しています
私のコードには、拡張子が「.vh」および「.svh」の特定のヘッダー ファイルですべて指定されている多くの `define マクロが含まれています。たとえば、foo.vhという名前のヘッダー ファイルには次のコードがあります。
ファイルtop.vは次のようにマクロを呼び出します
emacs を使用してtop.vファイルを参照しているときに、 foo.vhファイルのマクロ定義に直接ジャンプできる方法はありますか?
私はM-x tags-search <RET> WIDTH_ADDRESS <RET>
しばらくの間使用していますが、foo.vh ファイルに到達する前に、他のファイルの `WIDTH_ADDRESS のかなりの数のインスタンスにジャンプします。
いくつかの調査の後、-h
タグ生成中に ctags のオプションを使用してヘッダー ファイルを指定するオプションを見ました。しかし、私はそれを機能させることができませんでした。私の側から構文エラーがあったと思います。
まず、-h
オプションを使用してヘッダー ファイルを指定することの顕著な利点はありますか? もしそうなら、ヘッダーファイルを指定する正しい構文は何ですか? また、他のファイル (拡張子 ".v" & ".sv") を解析する前に、最初にこれらのヘッダー ファイル (拡張子 ".vh" & ".svh" を持つファイル) を調べるように emacs を指定できますか?
struct - SynopsysVCSMXを使用してSystemVerilog/SystemCとインターフェイスするVHDLレコードポート
良い一日とこの質問を見てくれてありがとう
レコードタイプのインターフェイスでコアをシミュレートするためにVCSMX(2011年6月バージョン)を使用しています。コアはすべてVHDLで記述されています。私はこのコアを励起するためにSystemverilog(SV)テストベンチを使用しています。
レコードは次のようになります。
VHDLレコードタイプはSVの構造体と同じであると読みました。ただし、SVでll_port構造体を実装しようとすると、これはまだVCSMXでサポートされていない機能のようです。確実な解決策は、レコードポートをstd_logicとstd_logic_vectorに分解することです。
ただし、VHDLのこのレコードタイプは数回使用され、最終的なシステムでは複数のコアが相互作用するため、すべてのレコードポートの分解が非常に面倒になります。
私はこの問題をどのように処理するか、そしてこの問題に関してどのようなアドバイスを得ることができるかを見ようとしていました。SystemVerilogにカスタムシミュレーションインフラストラクチャがすでにあり、この問題の回避策があるかどうかを知りたいです。
RRS
verilog - SystemVerilogマクロをインポートする方法は?
ovm_monitorを拡張するSystemVerilogモニターを開発していますが、使用しているovmマクロをインポートする方法を知りたいです。使ってます:
ファイルの先頭で次のことを試しましたが、どちらもコンパイルされません。
と
VCSコンパイルエラー:
以下は機能しますが、importステートメントで*を使用することは悪い習慣だと思います。