問題タブ [test-bench]

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 投票する
1 に答える
1724 参照

vhdl - 波形ウィンドウで Active-HDL からのシミュレーション結果を表示するにはどうすればよいですか?

Active-HDL サポートを使用してテストベンチ スクリプトを拡張しました。Active-HDL は、コマンド ライン引数が類似していても、QuestaSim または ModelSim とほとんど同じように動作します。

Lattice Diamond 3.7 の Active-HDL Student Edition と Active-HDL Lattice Edition がインストールされています。このバージョンには完全な vsimsa (vsim スタンドアロン) 環境が付属しているため、現在は後者を使用しています。

私のスクリプトは、選択したテストベンチを 3 つのステップで処理します。

  1. vlib.exe(alib)を使用して、必要なすべての VHDL ライブラリを作成します。
  2. すべての VHDL ソース ファイルをvcom.exe(acom)でコンパイルします。
  3. vsimsa.exe次の TCL コマンドで起動します。
    asim -lib test arith_prng_tb; run -all; bye

シミュレーションが実行され、適切な出力が表示されます。

ご覧のとおり、asim はwave.asdbGUI からロードできるファイルを作成しますが、ファイルは空です (信号はありません)。

だから私の質問は:

  • その波形データベース ファイルに信号をトレースするにはどうすればよいですか?
  • GUI のコマンドラインからこのファイルを開くにはどうすればよいですか?
0 投票する
1 に答える
301 参照

verilog - パイプライン プロセッサの Verilog でテスト ベンチ コードが機能しない

Verilog で単純なパイプライン プロセッサを設計しています。コードは問題ないと思いますが、テスト ベンチを実行しても何も起こりません。すべての変数をインスタンス化しましたが、always ブロックが無視されているようです。プロセッサ コードとテスト ベンチのコピーを以下に示します。

プロセッサー:

テストベンチ:

エンドモジュール

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

connection - スケマティック内の 2 点間の接続をテストする

私は半導体メーカーで働いています。多くの場合、設計をテストして、パーツで実行するシーケンスが回路図の 2 つのポイント (たとえば、signal_a と signal_b) を適切に接続していることを確認します。2 つの信号には通常、2 つの信号を接続するためにオンにする必要がある複数のパス ゲートがあります。これが正しく行われることを確認するために、通常、回路図とシミュレーションを調べて、すべてのパス ゲートが正しくオンになっていることを確認します。Verilog には、これをチェックするためのコマンドが組み込まれているようです。たとえば、次のようなものです。

connected は、接続されている場合は 1 に設定され、接続されていない場合は 0 に設定されます。このようなものが存在する場合、誰かが私を正しい方向に向けることができれば幸いです。コードに強制信号を入れて signal_a をトグルし、それがカウンターを使用して signal_b に現れるかどうかを確認することを考えましたが、signal_a が 1 以外の状態にあるという事実のために、これは必要なすべてのケースで機能しません。ダイをオフにします。

0 投票する
3 に答える
768 参照

system-verilog - systemverilog で reg を超えるビットの利点は何ですか?

テストベンチの変数は、ほとんどの場合、bitではなくとしてインスタンス化されますreg。しかし、bit2 つの状態変数 (0 と 1) だけで、reg4 つの状態変数 (0,1,x と z) です。なぜ人々bitはテストベンチ変数として使用したのですか? 古いプロジェクトを引き継ぎましたが、すべてのテストベンチ変数はbit. したがって、チェッカーが次のようなチェックを実行するとき

if (data_rtl === data_expected) // reg[63:0] data_rtl, bit[63:0] data_expected

data_expected 側で X チェックを実行できませんでした。確かに を使用するのが一般的bitですが、なぜ人々はこれを行っているのでしょうか? systemverilogでのbitoverの利点は何ですか?reg

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

syntax-error - Verilog プログラム カウンターの構文エラー

そのため、プログラム カウンター テスト ベンチで構文エラーが発生し、なぜ取得し続けるのかわかりません Verilog ソースに次の構文エラーがあります: "pc_tb.v", 20: トークンは 'initial' です 初期 ^

イニシャルの使い方が間違っていますか?パイプライン化されたデータパスを作成します。これは、これまでのところ機能していない唯一の部分です

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

vhdl - ファイルへのVHD書き込みは何もしません

VHDLコードの画像操作部分を書きました。テストのために、Matlab と比較的単純なテストベンチ (ファイルから入力に値を入力するだけ) を使用して、ピクセル値のファイルを作成しました。結果を新しいファイルに書き込んで、結果を処理して結果の画像を確認したかったのです。

コードがコンパイルされ、テストベンチが実行されます。どこかで停止するかどうかを確認するために入力したすべてのレポートが表示されますが、結果を含むファイルは空のままです。print も writeline も何もしていないようです。ファイルが存在し、Vivado のプロジェクトに追加されるため、パス全体を記述する必要はありません。シミュレータ出力に警告やエラーはありません。

hereおよびhereからファイルへの書き込みコードを取得し、それを少し拡張して、クロックごとにファイルへの書き込みを行い、上部にキャプションを追加しました。

color_out(0) は出力の一部です。color_out_v は出力有効です。

何か案は?私は何が欠けていますか?

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

vhdl - テストベンチが機能しない

次のテスト ベンチは、 QAU および QBU に意図した信号を提供できません。

ループプロセスはCLOCK_50信号に対して正常に機能しているようで、作業に対して私が行った指示も正常に機能してResetいます。それは単に信号QAUQBU信号が機能していないだけであり、その結果、私Qの出力である私の信号です。

理由はありますか?