問題タブ [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.
fonts - 広く利用されているModelsimで最も読みやすい固定幅フォントは何ですか?
HDL シミュレーターである Modelsim を使用すると、出力で使用されるフォントを指定できます。固定幅フォントはより整然とした出力を可能にしますが、多くの固定幅フォントは目に優しくありません。あなたは何をお勧めします?現在、Lucida Console を使用しています。
いくつかの推奨に従って Inconsolata と Consolas を試しましたが、Modelsim はそれらを 10 ポイントでうまくレンダリングしません。理由はわかりません。
verilog - verilog modelsim fpga
Newbishの質問でごめんなさい。
FPGAプログラミングについて学ぼうとしています。
FPGAボードに1,000ドルを費やす前に:
Verilogを学びたいだけの場合、Modelsimで完全に実行できますか?(実際のチップにのみ現れるタイミングの問題があることを認識していますが、構文/コーディングのスタイルを学習するために/ ...)_
ありがとう!
syntax - グローバル宣言は、Verilog 2001 構文では違法です!
Verilogで小さなものを書きました:
エラー: test.v (5): (vlog-2155) グローバル宣言は Verilog 2001 構文では違法です。
私が間違っていることは何ですか?ModelSim XE III/Starter 6.4b - カスタム ザイリンクス バージョンを使用しています。
verilog - モデルシムのソースコード
以下は、一部のモデル sim コードです。
#5と#100は何を表している? それらは行番号ですか?このコードに何か問題がありますか?
vhdl - Modelsim: 27 MHz クロックのセットアップ方法
ModelSimで 27 MHz のクロック信号をセットアップしたいと考えています。私は通常、その信号を右クリックしてクロックをセットアップします->クロック->セットアップ期間。たとえば、50 MHz クロック -> 20 ns または force ステートメントを使用しました。
27 MHz クロックは特殊なため、整数周期ではありません。appx 値でクロックを設定すると、常にタイミングの問題が発生します。
では、この時計をどのように設定すればよいでしょうか。
vhdl - ModelSim エラー コードの完全なリストはどこにありますか?
ModelSim を介して VHDL を実行しています。各エラーと警告には、独自のエラー コードがあります (次のように:(vcom-1292) Slice range direction "downto" specified in slice with prefix of unknown direction.
これは単なるメッセージの例です。意味は理解しています。
Mentor には、考えられるすべてのエラー コードのリストと、それらの意味と回避方法の詳細な説明があると思います。ModelSim に付属の PDF にこのエラー コードは見つかりませんでしたし、Google でも見つかりませんでした。誰かポインタはありますか?
vhdl - Modelsim 10 が古いコードをコンパイルしないのはなぜですか?
最近、Modelsim 10 にアップグレードしたばかりで、すべてのコードを再コンパイルしたところ、37 のうち 30 しかコンパイルされませんでした。コンパイルしないものには一般的なエラーがありました
std_logic 用のパッケージを含め、ビットを std_logics に変更するだけで、最初の再コンパイル時に問題が魔法のように修正されます (私にとってはめったに見られません)。私の質問は、なぜ新しいコンパイラ (たとえそれが新しいものであっても) が bit & unsigned(N downto 0) を受け入れなかったのかということです。HDL コーダーに抽象化を強制する新しい標準のようなものですか? 私の問題を解決した同様の質問を見ましたが、コンパイルが突然異なる理由を知りたいです。
vhdl - シグナル割り当てはプロセス内でどのように機能しますか?
式に遭遇したときに信号がすぐに変更されるのではなく、プロセスが終了したときに信号が変更されることを学びました。この例では、次のとおりです。
例では次のように述べています。
信号 y が変化すると、x でイベントがスケジュールされ、y と同じになります。また、x の反対になるように z にイベントがスケジュールされます。問題は、z の値が y の反対になるかどうかです。もちろん、答えはノーです。2 番目のステートメントが実行されるとき、x のイベントはまだ処理されておらず、z でスケジュールされているイベントは、プロセスが開始される前の x の値の反対になるためです。
さて、私はいくつかのことを理解する必要があります:
- 私が学んだことから、信号値はプロセスの最後にのみ更新されます。これは正しいです?
- シグナル
x
は最初のステートメントとして更新されます。これは の値を変更しませんx
。この変更はキューに入れられ、プロセスの終了後に実行されます。したがって、このステートメントの後のすべては変更を認識せず、古い値を持つことx <= y
がわかります。x
これは正しいです? - 2 番目のステートメントは、 signal の値を変更しようとしています
z
。ここでも同じで、z はその値を変更しませんが、別のプロセスの値に依存します。変更z
はキューに入れられ、プロセスの最後に実行されます。これは正しいです?
プロセスの最後には何が起こりますか?
可能性番号 1) の値x
が変更され、x が新しい値を持つ。2 番目のシグナルz
が更新され、最初のシグナルx
が更新され、 が にz
依存するx
場合、その値は の NEW UPDATED 値に基づいて変更されますx
。そして、例はうまくいくはずです。
可能性番号 2) の値x
が変更され、x が新しい値を持つ。2 番目の信号z
が更新されます。z
に の古い値が割り当てられているとすると、x
それz
は保持される値であり、その古い値x
は更新されましたが、この更新は考慮されません。
どちらが正しい方法か教えてください。
debugging - ModelsimでVerilogシミュレーションを再開する方法
Verilogモジュールをデバッグしようとしています。シミュレーションを停止し、コードを変更してから、シミュレーションを再開するプロセスを実行するのは面倒です。もっと簡単な方法はありますか?
statistics - Modelsim または Xilinx ISE Project Navigator で Verilog モジュールのタイミングを測定する方法
半加算器モジュールを使用して、4 ビットのキャリー先読み加算器を設計しました。次に、機能的な Verilog 記述を使用して、別の 4 ビット キャリー ルックアヘッド加算器を設計しました。2番目のものはより高速であるはずです。どうすればこれを確認できますか? Modelsim または Xilinx ISE Project Navigator でモジュールの動作速度を確認する方法はありますか。