問題タブ [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 に答える
833 参照

unit-testing - VHDL デザインの複数のテストベンチの実行

VHDL デザインを作成するときは常に、多くのモジュールを使用する傾向があります。これらのモジュールはそれぞれ 1 つのメイン ファイルに接続され、すべてが合成されます。しかし、これらのモジュールごとに個別のテスト ベンチを作成し、グローバル プロセス用に 1 つのテスト ベンチを作成したいと考えています。これらのテストベンチをすべてリンクして連続して実行し、設計全体を 1 回の実行でテストできるようにできればよいのですが。どうすればこれを行うことができますか? 私はGHDLとアサートを使用するのが好きです。スーパーテストベンチを 1 つ作成することは可能ですか? それとも、それらを反復処理するシェルスクリプトの方が優れていますか?

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

verilog - Verilog Arbiter 回路が予期した出力を生成しない

次のように設定されたアービターモジュールがあります。

私のテストベンチは次のとおりです。

しかし、私が得る出力は

どの時点でも、出力の 1 ビットのみが High になります。アイドル状態の間に要求入力がアサートされると、回路は出力の対応するビットをアサートすることによってその要求を許可する必要があります。これは、対応する入力ビットがデアサートされるまでハイのままである必要があり、その時点で回路はアイドル状態に移行する必要があります。複数の入力ビットがアサートされると、最も優先度の高い要求が許可され、一番左のビットが最も優先度が高くなります。しかし、私の出力は最後まで 010 のままです。何が悪かったのか?

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

system-verilog - SystemVerilog テストベンチでは、インターリーブ可能なマルチサイクル トランザクションをどのように説明するのが最適ですか?

タスクを使ったトランザクションについて説明したいと思います。クロッキングブロックCBを使用しています。このタスクは私がやりたいことのようなものですが、このようにする場合、書き込みシームの値はランダムになるため、誰が最後に書き込みを行うかについて定義された順序はないと思います。

したがって、トランザクションwriteを 1 つだけ実行すると、次のクロック サイクルで Low になります。

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

testing - サイズが不明なファイル行を VHDL の文字列として読み取る

私が持っているもの

可能な文字が「1」と「0」である1行のファイルがあるテストベンチを作成しようとしています。それらをすべて読み、DUT の入力として 1 つずつ使用する必要があります。

そのため、私の TB では、ファイルを読み取ってその値を DUT に渡すために、次のようなプロセスを定義しました。

何が起こっていると思いますか

最初の実行でファイルの最初の (そして唯一の) 行を読んでいますreadline。その後、このループは再び実行されません。

次に、ファイルからのデータは内部にある必要がありますrdline。だから私はそれを処理しなければなりません。それを行うために、rdline長さを超えてループしようとしましたが、このループは実行されません。

そのため、ループするにはこの行を読み取る必要があると考え、そのデータをstring変数に移動しようとしました。問題は、文字列のようなベクトル var には定義されたサイズが必要であり、ファイルの行サイズがわからないことです

私は何を試しましたか

毎回4文字をrdline文字列に読み込み、処理してから繰り返すなど、さまざまな方法でそれを達成しようとしました。しかし、私はそれを機能させることができませんでした。

VHDL を使用したファイルの読み取りについて、Google で非常に多くの例を見つけましたが、それらはすべてほとんど同じであり、列や予想される整数などの行形式が定義されており、1 行の不明なテキストしかありません。

rdline何らかの方法で varから読み取ることで実現できると思いますが、実現できません。コーディングを手伝ってもらえますか?

前もって感謝します

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

verilog - Quartus から起動する Modelsim のシミュレーションが正しく機能しない

これがテストベンチです

そしてこれがウット

Quartus でうまくコンパイルされました。次に、Modelsim を次のように起動します: [ツール] > [RTL シミュレーション] 。Modelsim を起動しますが、入力にzzzzzzzzzzzzzが多く、出力にxxxxxxxxxxxxxxしか出力されず、波形には何も表示されません。

このテストベンチをプロジェクトに正しく追加したかどうかはわかりません。私は初心者です。私がしたことは: Assignments > Settings > Compile Test: Test Benches > newをクリックし、ファイルを探して追加し、OK です。複雑すぎるため、これが正しい方法かどうかはわかりません。これについて助けてください。

また、Quartus でテスト ベンチ ライター テンプレートを開始したことをコメントしますが、ファイルからすべてを変更して終了しました。最終結果は上記のコードです。

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

verilog - Verilog で出力をテキスト ファイルに書き込めません。何が問題なのかを確認してください。

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

specman - Specman: MAIN シーケンスが終了した後、テストが終了していないのはなぜですか?

MAIN シーケンスが終了した後、私が書いたテストが終了しません。私は TEST_DONE 異議を申し立てませんでした..私が提起した異議はすべて取り下げられました。実際には、すべてのシーケンスのフローが完了してからしばらくして、テストベンチのタイムアウトでテストが終了しました..何がテストの終了を妨げているのか分かりますか? あなたが提供できる助けに本当に感謝します。