問題タブ [edaplayground]
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.
edaplayground - EDA プレイグラウンド $dumpfile?
こんにちは、EDA プレイグラウンドでコードを実行するのに問題があります。「No *.vcd file found. EPWave will not open.Did you use '$dumpfile("dump.vcd"); $dumpvars;'?」というメッセージが表示され続けます。しかし、私はそれをコードに含めています。
https://www.edaplayground.com/x/2pim
リンクはこちら。
binary - Systemverilog を使用してバイナリ ファイルを読み取り、出力します。最初のバイトの読み取りと印刷は問題ありませんが、ミリ秒のビット位置に 1 を含む問題が発生しました\w
以下の Systemverilog コードは、$fread を使用してバイナリ ファイルをメモリに読み込み、メモリの内容を出力する単一ファイル テストベンチです。バイナリ ファイルは 16 バイトで、そのビューを以下に示します (これは、Systemverilog コードが出力すると予想されるものです)。
印刷された出力は、最初の 6 (0-5) バイトに期待するものと一致します。その時点で予想される出力は 0x80 ですが、印刷された出力はスティミュラス ファイルにない 0xef で始まる 3 バイトのシーケンスです。これらの 3 バイトの後、出力は再び刺激に一致します。読み取ったバイナリ バイトのビット 7 が 1 の場合、エラーが発生するようです。データが署名付きとして扱われているように見えますが、そうではなく、バイナリ データが 16 進数として出力されます。メモリは、符号なしのタイプ ロジックとして定義されます。
これは、次の投稿の質問/回答に似ています: Read binary file data in Verilog into 2D Array . ただし、私のコードには $fopen ステートメントで同じ問題 (「rb」を使用) がないため、その解決策はこの問題には適用されません。
Systemverilog 仕様 1800-2012 では、セクション 21.3.4.4 バイナリ データの読み取りで、$fread を使用してバイナリ ファイルを読み取ることができ、その方法について説明しています。この例は、そのセクションに記載されている内容に準拠していると思います。
コードは EDA Playground に投稿され、ユーザーが表示して実行できるようになっています。 https://www.edaplayground.com/x/5wzA 実行してダウンロードするにはログインが必要です。ログインは無料です。HDL シミュレーション用の業界標準ツールの完全なクラウドベース バージョンへのアクセスを提供します。
また、EDA Playground で 3 つの異なるシミュレーターを実行してみました。それらはすべて同じ結果を生成します。
stim.bin ファイルを再配置して、0x80 値がファイルの途中ではなく先頭に来るようにしました。その場合、エラーはテストベンチ印刷出力の開始時にも発生します。
Systemverilog コードは問題なく、バイナリ ファイルに問題があるのでしょうか。その内容について、emacs Hexlモードが表示するもののスクリーンショットを提供しました。また、別のビューアーで見たところ、同じように見えました。EDA Playground で実行しているときにダウンロードして、別のエディターで調べることができます。バイナリ ファイルは GNU Octave によって生成されました。
元のファイルを回避する (学習する) よりも、元のファイルをデバッグするために、他のものではなく Systemverilog $fread を使用するソリューションを使用することをお勧めします。これは、Octave/Matlab で生成されたバイナリ ファイルから読み込まれたスティミュラスを Systemverilog DUT に適用する Systemverilog テストベンチに開発されます。ファイルへのアクセス速度が速いため、バイナリ fileIO が推奨されます。
Systemverilog テストベンチが mem[6] に対して 0x80 ではなく 0xef を出力するのはなぜですか?
バイナリ刺激ファイル:
実際の出力:
更新: EDA プレイグラウンドへのアップロード プロセス中にバイナリ ファイルが変更される可能性があることをテストするために、実験が実行されました。これらの手順に含まれる Systemverilog コードはありません。ファイルのアップロード/ダウンロードのみです。
手順: ( https://hexed.it/を使用してバイナリ ファイルを作成および表示します)
- 16進パターン80 00 80 00 80 00 80 00でバイナリファイルを作成/保存します
- 新しい遊び場を作る
- 新しく作成されたバイナリ ファイルを新しいプレイグラウンドにアップロードする
- プレイグラウンドの「実行後にファイルをダウンロード」ボックスをチェックします
- プレイグラウンドを保存
- 遊び場を実行
- プレイグラウンド実行の結果を保存/解凍します
- バイナリ ファイルを表示します。私の場合は、アップロード/ダウンロードのプロセス中に変更されています。結果のスクリーンショットを以下に示します。
この実験は、2 つの異なる Windows ワークステーションで実施されました。これらの結果とコメントに基づいて、これは Systemverilog の問題ではなく、EDA プレイグラウンドへのバイナリ ファイルのアップロード/ダウンロードに関連するという結論で、この問題をクローズします。コメントしてくれた人に感謝します。
verilog - EDAPlayground を使用した Verilog テストベンチ エラー マルチプレックス 4x1
EDAPlayground を使用して Verilog で Multiplex 4x1 を実行していますが、それでもテストベンチ エラーが発生し、理由がわかりません。
ここに 1 つのエラーがあります。
ERROR VCP2000 「構文エラー。予期しないトークン: and[_AND]。」「デザイン.sv」26 6
vhdl - VHDL で std_logic_vector に値を割り当てる方法は?
以下のコードで OUTPUT std_logic_vector に値を割り当てようとしていますが、エラーが発生します
COMP96 ERROR COMP96_0143: 「オブジェクト "OUTPUT" を書き込めません。」"design.vhd" 20 18
COMP96 ERROR COMP96_0143: 「オブジェクト "OUTPUT" を書き込めません。」"design.vhd" 21 18
COMP96 ERROR COMP96_0143: 「オブジェクト "OUTPUT" を書き込めません。」"design.vhd" 22 18
COMP96 ERROR COMP96_0143: 「オブジェクト "OUTPUT" を書き込めません。」"design.vhd" 23 20
私はどこで間違っていますか?
verilog - EDA Playground EPWave $dumpfile
EDA Playground でデザインをシミュレートしようとしています。ModelSim (EDA からではなく) を使用して、ローカル コンピューターでデザイン ファイルとテストベンチ ファイルをテストし、成功しました。しかし、EDA Playground で同じことをしようとしました。EPWave なしで正常にコンパイルおよび実行されます。[EPWave を開く] オプションをクリックしようとすると、次のエラーが表示されます。
*.vcd ファイルが見つかりません。EPWave が開きません。'$dumpfile("dump.vcd"); を使用しましたか? $dumpvars;'?
この問題を解決するにはどうすればよいですか? ありがとう。
私のデザインへのリンクも追加します https://www.edaplayground.com/x/A9Rb