問題タブ [modelsim]

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

io - 特別なバイナリ形式を使用せずに VHDL/modelsim でバイナリ データを読み取る方法

背景:

イーサネット MAC 用の VHDL テスト ベンチを作成しています。テストベンチは、パッケージと結合されたエンティティ + アーキテクチャ ファイルで構成されます。テストベンチが MAC に送信するイーサネット フレームを、wireshark からエクスポートしたバイナリ ファイルから読み取りたいと考えています。
私は VHDL 2008 で書いており、Mentor Graphics Model Technology ModelSim ALTERA vcom 10.0d Compiler を使用しています。

問題:

私がこれまでに見つけた VHDL/modelsim でバイナリ データを読み取るためのすべてのソリューションは、bit_vector の 1 ビットがファイル内の複数のビットで表される特別なファイル形式を使用します。VHDL でバイナリ ファイルを 8 ビットの bit_vectors に読み込むようにしたいと考えています。
これまでに得た最も近いものは、8 ビット ASCII 文字をバイナリ表現で直接書き込むことができる文字型ファイルを使用することでした。

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

simulation - VHDL/ModelSim-エンティティが見つかりませんでした

VHDLファイルをシミュレートしようとしていますが、次のエラーが発生しています。

シミュレーションを試みる前に、QuartusIIとModelSimコンパイラの両方でコードを正常にコンパイルしました。コードにlab1エンティティとアーキテクチャが含まれているため(Quartus ProjectNavigatorの[DesignUnits]タブでも確認できます)、このエラーはよくわかりません。誰もがこれを引き起こしているのを知っていますか?

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

simulation - ModelSim - ボタン押下のシミュレーション

4 つのプッシュ ボタンを入力として使用し、3 つの 7 セグメント LED ディスプレイを出力として使用したいと考えています。2 つのプッシュ ボタンで、16 の RAM ロケーションを上下に移動する必要があります。他の 2 つは、現在表示されているメモリ位置の内容をインクリメントおよびデクリメントする必要があります。ボタンを押して、ModelSim テスト ベンチを使用してデザインをシミュレートしようとしています。これが私のコードの関連部分であると私が信じているものです:

問題は、テスト ベンチで「キー」(ボタン) を初期化しても、ModelSim がオブジェクトを「UUUU」としてリストすることです。別のファイルにある私のテストベンチのコードは次のとおりです。

誰が何が悪いのか知っていますか?

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

vhdl - ModelSim-ボタンの押下をシミュレートできません

4つの押しボタンを入力として使用し、3つの7セグメントLEDディスプレイを出力として使用したいと思います。2つのプッシュボタンは、16のRAMロケーションを上下に移動する必要があります。他の2つは、現在表示されているメモリ位置の内容をインクリメントおよびデクリメントする必要があります。私は次の2つのエンティティを持っています:

また、次のテストベンチがあり、KEYを介して押されているボタンをシミュレートしようとしています。

私のテストベンチのセットアップは次のようになります。

ここに画像の説明を入力してください

シミュレートするために、上記の3つのファイルすべてをコンパイルしてから、DE2_TOP_TESTをシミュレートしますが、以下のように「KEY」がまだ定義されていないという結果になります(ただし、CLOCK_50は設定したデフォルト値を取得します)。

ここに画像の説明を入力してください

誰もがこれを引き起こしているのを知っていますか?

0 投票する
0 に答える
713 参照

vhdl - FPGAのScons?

非常に大規模なFPGAプロジェクトの「 make 」の代わりに「 Scons 」を使用した人はいますか?すぐに使用できましたか、それともVHDLまたはVerilog言語に対して実行する必要のあるハッキングがまだありますか?そして、Modelsim / ISE / Vivado / Quartersとの統合についてはどうですか?それとも、しばらくの間makefileに固執する必要がありますか?

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

vhdl - 複数のシグナルで VHDL 待機

a と b の両方が同時に値を変更するとどうなるでしょうか。たとえば、2ns です。

プロセスは 2 回トリガーされますか?

その場合、a、b にどの値を使用する必要がありますか、a イベントのプロセスを通過する場合、b 信号はその時点で変更されますか、それともプロセスが b に対して再度実行されるときに変更されますか?

また、ステートメント c <= a および b は 1ns 後です。はプロセス外ですが、アフターはどのように機能しますか? after がなければ、ただの AND 単位であり、遅延はありません。

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

vhdl - VHDLでunsignedに対して論理演算を実行できませんか?

で論理演算を実行する際に問題がありますunsigned

ここにエラーがあります:

プレフィックス演算子「not」の実行可能なエントリはありません

s_1,a,b,s_2,s_3,s_4すべてタイプunsigned(31 downto 0)です。

unsignedで実行できない場合にstd_logic_vector論理演算を有効にするために、unsignedに変換するコードを見つけましたが、このコードを使用すると、unsignedのデータ型と競合し、不明になったと思います。std_logic_vectornumeric_std.allstd_logic_arith

符号なしで論理演算を実行する方法がわからず、に変換する方法もわかりませstd_logic_vectorunsigned。誰かが私を助けることができますか?

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

file - ModelSimでメモリダンプを取得する(定期的)

ModelSimで定期的にメモリダンプを取得するにはどうすればよいですか?

メモリデータをエクスポートする方法を知っています。1000 nsごとまたはxサイクルごとにメモリデータをエクスポートするコマンドを.doファイルに書き込む方法はありますか?

アップデート:

答えてくれてありがとう。私が今それをしている方法:

これは、以前にrun -allを使用したことがあり、シミュレーションがいつ停止するかわからない場合です。もちろん、VHDLテストケースには次のようなものが必要です。

シミュレーションを終了します(より良い方法については、以下の回答を参照してくださいが、これは機能します)

シミュレーションの実行時間がわかっている場合は、次の方法を使用することもできます。

「10ns実行」を置き換えることができます

または、シミュレーションの終了を示す信号を使用することもできます

およびdoファイル内:

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

modelsim - modelsimでIPアドレス基数を作成することは可能ですか?

とにかく、ウェーブウィンドウにIPアドレスワードを10進数のドット形式で表示させる方法はありますか?

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

vhdl - パッケージ内とアーキテクチャ内で同名のコンポーネントが2つ存在する場合、どちらが優先されますか?

VHDL テスト ファイル a.vhd があります。

猫 a.vhd

そのため、modelsim を実行すると、オーバーライドされたコンポーネントの警告/エラーは発生しませんでした。パッケージで宣言された同じ名前のコンポーネントよりも、アーキテクチャで宣言されているコンポーネントを常に優先しますか。LRMがそれについて何を言っているのか誰か教えてもらえますか? これを説明してください。