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

signals - Modelsim と GHDL は vhdl ユーザー定義信号タイプを vcd にダンプできませんか?

modelsim または ghdl によって実行されたシミュレーションから内部信号をダンプしようとしています。以下を使用してすべてが正常に機能します。

modelsim の場合、vhdl ソースを追加し、すべてをコンパイルします。

GHDLの場合

シミュレーション信号を確認できますが、すべてではありません。として定義されたシグナル

vcd から除外されます。この動作は、modelsim と ghdl で共通です。

ghdl で生成された vcd に次の行が表示されます。

Modelsim はこれらの信号を静かに省略します

回避策はありますか? 別?

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

message - ModelSimメッセージビューアが空です

私は現在、ISE13.4と一緒にModelsim10.1を使用しており、非常に単純なテストベンチを実行しています。すべてのコードはVHDLです。

assert先日、VHDLのステートメントを使用して問題が発生しました。エラーと警告がトランスクリプトに出力されます。ただし、メッセージビューアにはメッセージがなく、ウェーブウィンドウ内にメッセージインジケータはありません。必要に応じて、ISE内からシミュレーションを開始します。

メッセージのログオンなどをオンにするスイッチがないかもしれないと思いますが、何時間もグーグルで何も起こらなかった。トランスクリプトに印刷されているにもかかわらず、メッセージがメッセージビューアに記録されないようにする設定はありますか?

私はすでに見つけましSimulate->Runtime Options-->Message Severityた。ただし、そこではすべてがチェックされていません。チェックボックスをオンにすると、トランスクリプトに印刷されないという期待どおりの動作が得られますが、メッセージビューアにメッセージの兆候はありません。

御時間ありがとうございます、

ロバート

編集:

さて、もう少しいじったり、いじったりした後、私はついにそれを見つけました。

少なくとも適切なメッセージインジケータを表示するには、msgmodeとオプションをに設定する必要があります。これは、以前のModelSimバージョンの会社のデフォルト構成内で行われたようです。displaymsgmodeboth

私と同じくらい無知な誰かがこの答えが役立つと思うことを願っています:)

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

counter - 「if ステートメント」の少ない VHDL コードで BCD_counter を書き直すより良い方法はありますか?

私はモデルシムで VHDL を学び始めたばかりです。

基本的に私が作成しようとしているのは、1 桁のアップ/ダウン BCD カウンター用の合成可能な VHDL コードです。カウンターは、「有効」が「1」の場合にカウントされます。それ以外の場合は同じままです。入力「Init」が初期化されると、カウンターは「Direction」入力の値に応じて 0 または 9 に設定されます。(「Direction」が「1」の場合はアップカウンターです)。

100 if と else を続けて使用する以外に、これを機能させるために使用するより良いツールがあるかどうか疑問に思っています。

これが私のコードです。現在、テストベンチを作成しているため、これが機能するかどうかはまだわかりません。ですから、間違いを見つけた場合は、私に指摘してください。

事前に感謝します。これが私のコードです

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

verilog - Verilog連続シミュレーション

終了キーワードが満たされるまでシミュレーションを実行し続けることを可能にする特別な開始キーワードと終了キーワードがVerilogにありますか?これは合成できないことを理解しています。ただし、テスト目的でのみ使用したいと思います。また、verilogの$finishキーワードはmodelsimを終了します。

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

arrays - ModelSim を使用して Verilog で配列を作成する

以下のコードを使用して、ModelSim で Verilog の配列を使用して 1MB メモリ モデルを宣言しようとしています。また、アドレス空間内にアドレス 0x80020000 が必要です。

上記のコードは正常にコンパイルされますが、シミュレートしようとすると次のエラーが発生します。

ただし、メモリ インデックスを 7FEF_FFFF から 7FFF_FFFF (これも 1 MB である必要があります) に初期化すると、すべて問題なく、シミュレーションで割り当てられたメモリを確認できます。範囲を 7FEF_FFFF から 8000_0000 に変更すると、コンパイル中に内部データ サイズのオーバーフローが発生します。メモリの最後の範囲がエラー (2 の補数) で -2146828288 (FFFF FFFF 800A 0000) と表示されるのはなぜですか?

私がオンラインで見たすべての例は、より小さなメモリを示しています。つまり、256 ワード (reg [7:0] MEMORY [0:255]) であるため、ロジックに問題があるのか​​、それとも問題が関連しているのかはわかりません。私のマシンのハードウェア。32 ビット バージョンの Modelsim を使用しており、4 GB の RAM を搭載しています。

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

file-io - 文字を読み取る Verilog I/O

Verilog の I/O で何かをしようとすると、問題が発生するようです。Modelsim は、特定の関数でサポートされていない関数をスローするか、まったく何もしません。ファイルを 1 文字ずつ読み取り、各ビットをポート経由で送信するだけです。誰でも手伝ってもらえますか

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

tcl - Tcl バイナリ ループ。バイナリインクリメント

デコーダー モジュール (modelsim の verilog) 用の tcl スクリプトを作成しようとしています。「din」入力値を 000 から 111 までループする必要があります

バイパス方法がわからないタイプの問題のため、機能しません。Tcl で 2 進数をインクリメントする適切な方法は何ですか?

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

modelsim - TCL APIを介してModelSimのリーフ名を切り替える方法はありますか?

GUIモードでModelSimビューのネットのリーフ名を切り替える方法を探しています。つまり、「リーフ名の切り替え<->フルネーム」ボタンを押すのと同じです。

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

短い名前を追加する方法を知っています。たとえば、私は次のようなコードを使用しています。

ただし、入力しすぎるように見えるモジュールのすべての信号を追加したい場合の簡単なシミュレーションスクリプトのスケッチアップのために、次のようにします。

また、デフォルトでは、グループ「stimulus」の下にフルネームが表示されます。add関数のパラメーターまたはリーフ名とフルネームを切り替える別の関数が見つかりませんでした。ModelSimがいかに強力であるかを考えると、このAPIや私が望むものを達成するための他の簡単な方法がないことを信じるのは難しいです。それで、方法はありますか、それは何ですか?

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

importerror - ModelSim PE Student Edition 10.1c (STD_LOGIC エラー)

VHDL コードで STD_LOGIC を使用しようとしています。このセクションで使用しようとしている STD_LOGIC が機能していないため、コンパイルできport(.....)ません。IEEE ライブラリをインポートしていないため、問題が発生していることはわかっています。インポートしようとしましたが、成功しませんでした。

ModelSim で IEEE ライブラリを VHDL プログラムに正しくインポートする方法を教えてください。

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

vhdl - ModelSim でシミュレーションの検証手順を記述できますか?

CPU アーキテクチャの設計とシミュレーションにModelSimを使用しています。私のようにこれを知っている人は、目の前のすべての信号を処理しようとすると、シミュレーション データを検証するのが非常に難しいこともおそらく認識しているでしょう。

取得したデータが正しいかどうかを確認するために、シミュレーションを自動的に実行して検証手順を実行する方法はありますか?

たとえば、次のクロックで信号によって刺激されると、否定された信号を返す特定のコンポーネントがあります。これを検証したい。どのように?(もちろん、画面上の信号を手動でチェックする必要はありません)。

ありがとうございました