問題タブ [system-verilog-dpi]
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.
system-verilog - SystemVerilog クラス内で定義されたタスクの DPI-C エクスポート
次のように SystemVerilog クラス内で定義されたタスクを C にエクスポートすることは可能でしょうか?
c++ - SV-DPI を使用して C/C++ 配列から SV 配列全体にデータをコピーするにはどうすればよいですか?
SystemVerilog からのデータの配列に、C/C++ 側の配列からのデータの完全なコピーが必要です。
C/C++ コード:
SVコード:
私の問題は、毎回ソース配列の正確なサイズがわからないことです。また、毎回固定サイズだったとしても、インデックス引数のリストが長いと、大きな配列には過剰になると思います。他の SV-DPI ハンドラー関数は、私のケースには当てはまらないように見えるか、またはそれらの使用方法を誤解しているに違いありません。
system-verilog - DPI の printf リダイレクト
SystemVerilog で DPI を使用しているときに、C 側の stdout を SystemVerilog の stdout にリダイレクトして、すべてのログ書き込みを 1 か所で取得するという問題に直面しました (私の場合、C からの printf はターミナルに表示されましたが、EDA からのログ ファイルには表示されませんでした)。
SV側からのエクスポート機能であり、それをCで使用して印刷するという100%機能するソリューションを知っていますが、私には賢いとは思えません。
再オープン関数を使用してある種のリダイレクトを使用して stdout var が指すアドレスを変更しようとしましたが (プログラムが書き込むアドレスである stdout を理解している限り)、最終的に SystemVerilog ログを含むすべてのログをこの stdout にリダイレクトします。
すべてのログを 1 つのストリームに保持するより良い方法は何ですか?
たぶん、C に IDE stdout を認識させる方法はありますか?