問題タブ [verilator]
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.
stdout - SystemVerilog $display を stderr に送信
Verilatorを使用して、SystemVerilog で記述されたアルゴリズムをstdin
、 およびを介して渡される I/O ストリームを操作する実行可能ユーティリティに組み込みますstdout
。残念ながら、SystemVerilog$display()
関数を使用すると、出力はstdout
. 他の目的のために汚染されないstderr
ようにしてほしい。stdout
どうすればこれを実現できますか?
verilog - 1000 サンプル値を持つ入力の単一の最大値を見つけるための Verilog コード
正の clk エッジごとに 1 回メモリから読み取られる 1000 個の 10 進値を持つ入力信号の単一の最大値を見つけたいです。最大値を見つけるために次の大まかなコードを実行しましたが、正しい最大値が得られませんでした。 /number 入力信号のこれらの 1000 の値から 1 つの最大値を見つけることができるように、私を助けてください..`事前に感謝します
c++ - 関数パラメーターとして使用されるクラス型を初期化する方法
HDL から C++ への変換を処理しようとしていますが、ちょっとした問題にぶつかりました。Ubuntu で Verilator を使用した変換は簡単ですが、1 つのデータ型に悩まされています。
階層の最上位コードは...
関数にデータを渡す
私が得ていないものです。2 番目のパラメーターは理解しやすいものです。最初は、それほどではありません。
つまり、コンパイラは私が合格することを期待していますか? どのデータ型?
私はそのようにデータを渡したい...
しかし、「randomCharacter」は初期化されていません。
scala - チゼル 3 のダイナミック テスト ハーネス
Chisel にプロセッサを実装しており、非常にトリッキーなテスト ケースが多数あります。多くの状態を持つ要素の場合、オンザフライでテスト ベクトルの長いシーケンスを生成し、オンザフライで正しい応答も計算したいと考えています。Chisel 3 でこれを行う唯一の方法は、Java イントロスペクションを使用してハッキングし、scala コードを C++ テスト ハーネスに接続して、C++ コードで刺激ベクトルと正しい応答を生成することです。
あまりきれいではありません。Scala フレームワーク内に留まり、Scala コードで動的テストを作成する方法はありますか? これまでの問題は、Verilator によって生成された C++ に Scala を接続することでした。Verilator で生成された C++ シミュレーターを、刺激ベクトルを生成してその場で応答をテストする Scala/Chisel テスト ハーネス コードと対話させるクリーンな方法はありますか?
ありがとう
verilog - サブモジュールを検証しないようにベリレーターリンターに指示する方法は?
このコマンドでデザインをリントするために検証ツールを使用しています:
ただし、一部のサブモジュールは使用できません (主に FPGA コンストラクターからテンプレート化されるため)。次に、次のようなエラーがあります。
これらのエラー メッセージに記載されているすべてのサブモジュールは、格子 machxo3 fpga のテンプレートです。
これらのモジュールを気にしないようベリレーターに依頼する解決策はありますか?
verilog - トップモジュールでサブモジュールを作成すると検証エラーが発生する
Verilog の学習を始めたばかりで、4 ビット加算器を作成することにしました。この 4 ビット加算器を作成するために、最初に half_adder モジュールを作成し、次に half_adder モジュールを使用する full_adder モジュールを作成しました。4 ビット加算器では、4 つの full_adder モジュールを使用します。ここまでは、Verilator を使用してすべてをコンパイルおよびシミュレートします。いくつかのテストを作成し、すべての出力が正しいことを確認しました。
4 ビット加算器が完成した後、加算に 4 ビット加算器を使用する小さな ALU を作成することを考えました。ALU モジュールで 4 ビット加算器のサブモジュールを作成すると、検証エラーが発生します。
4 ビット加算器は次のようになります。
ALU (今のところ) は次のようになります。まだ optcode select などを実装する必要がありますが、4 ビット加算器サブモジュールを作成しても、既にエラーが発生しています...:
コマンド実行時
verilator -Wall -cc alu_4_bit.v
次のエラーが表示されます。
奇妙なことに、これらのエラーは adder_4_bit.v から発生しているように見えますが、ベリレーターで既にコンパイルしてシミュレートしています。正しく動作することも確認しました。
ここで何が問題になる可能性がありますか?