問題タブ [systemc]
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.
systemc - SystemCコンストラクター、クラス
私はsystemcを初めて使用します。私が抱えている混乱が1つあります。
を作成していsc_module(hello_world)
ます。sc_ctor(hello_world)
中括弧の間に何もありません。モジュール内に「helloworld」を出力する単純な関数void say_hello()
があります。
でsc_main
、私はこれを行いました:
ただし、次のようなエラーが発生しますerror C2228: left of '.say_hello' must have class/struct/union.
私はこれを試しましたが、うまくいきました:
でsc_main
、私はこれをしました:
そもそもなぜエラーが表示されるのですか?引数コンストラクターは1つも使用しませんでした。
だから、そうでhello_world hello("hi ")
はないのではなくhello_world hello
?私はC++クラスと比較しようとしていました。
systemc - Dフリップフロップのメインプログラムを書く
私はsystemCプログラミングが初めてで、Dフリップフロップを書いていますが、メインプログラムを書き、信号を入力する方法が見つかりませんでした(私の場合は din 、 clock 、および dout ):
これは私のコードです:
systemc - systemCでは、end_of_simulationルーチンでsc_timeをどのように取得しますか
シミュレーション終了時を報告したいと思います。end_of_simulationルーチンを使用し、ルーチンでsc_timestampを実行するだけだと思いました。
問題は、カーネルがend_of_simulationの前に終了し、偽のタイムスタンプを取得することです。
シミュレーションから私を引き離すのは、すべてのスレッドがイベントを待機しているため、スレッドを使用してこれを判断することはできません。タイムスタンプを保存できる「マスタースレッド」はありません。
何かご意見は?
systemc - SystemC で VCD トレース信号の名前を取得する
SystemC では、sc_trace 関数を介してシグナル (またはメンバーなど) をトレースできます。結果は、他のプログラムで使用できる VCD ファイルになります。ただし、これらのシグナルの命名はかなり恣意的なものであり、関数はダンプされるシグナルの名前として任意の文字列 (変数自体に関連付ける必要はありません) を受け入れます。
問題は、sc_interface オブジェクトから SystemC API を介して名前として使用される文字列へのマッピングをどうにかして取得できるかということです。他の方法で多くのデータをログに記録していますが、取得した値を何らかの方法で VCD データに接続できると便利です。ダンプされた値とランダムな文字列識別子。
c++ - 共有ライブラリの読み込み中にエラーが発生しました: libsystemc-2.3.0.so
私は Linux の新規ユーザーsystemc-2.3.0
で、自分のマシン (Fedora 16) にライブラリをインストールしようとしています。ライブラリの INSTALL ファイルに記載されているすべての指示に注意深く従いましたが、ECLIPSE を使用して簡単なプログラムを実行しようとするとエラーが発生します。ECLIPSE ですべてのライブラリを正しくリンクしましたが、それでもエラーが発生します。
プログラムは次のとおりです。
エラー出力は次のとおりです。
/home/vivek/workspace/TestSystemC/Debug/TestSystemC: 共有ライブラリの読み込み中にエラーが発生しました: libsystemc-2.3.0.so: 共有オブジェクト ファイルを開けません: そのようなファイルまたはディレクトリはありません
どんな助けでも大歓迎です。私は Linux の専門家ではないので、あなたの提案を詳しく (段階的に) 説明してください。
ありがとうございました。
c++ - SystemC で debugf を有効にする
SystemC のソースを調べていたところ、次のようなものがあることがわかりました。
その後、次のような行があります。
(これらは からのものですsc_cor_pthread.cpp
)
を使用して構成するときにデバッグオプションを既に有効にしています../configure --enable-debug
が、これらの種類のものを有効にしていないようです。ソースを手動で変更する代わりに、これらを有効にするにはどうすればよいですか?
systemc - TLM fifo のコード例
TLM初心者です。TLM fifo で 2 つのプロセスを接続するためのサンプル コードを教えてください。
ありがとうございました
c++ - sc_lvのパラメーター化中にエラーが報告されました(式は定数値である必要があります)
私はシステムCに取り組んでいます。クラスで
最初に私は整数を宣言しました:
次に、G_WIDTHを使用しています:
私がそれをシミュレートしようとしているとき。次のエラーが報告されます。
式<*sc_in<sc_lv>a;*>は定数値でなければなりません。
私が使用するとき:
正常に動作しています。
誰かがこの問題を解決するのを手伝ってくれますか?
system-verilog - What is the minimum length of time/cycles a System Verilog wait() statement will wait?
I have a SystemVerilog task I am trying to port to SystemC. The body of the task simply waits on a boolean expression and then pushes onto a queue. The SystemC wait mechanism doesn't work quite the same way though, it will only wait on time or events.
So I'm wondering what is the minimum length of cycles/time that SystemVerilog wait() will wait before re-testing the boolean expression. In other words, how often or what drives re-testing of boolean expressions in SV wait()?
If the answer is simply once every cycle, which I hope and expect but can not confirm, then the solution is easy.
Here is the code, with some things renamed and simplified to make more sense out of context:
verilog - ビット/ロジック ベクトルの SystemC 構造体を単一のビット/ロジック ベクトルに安全にキャスト/変換します。
SystemVerilog から SystemC にコードを移植しています。SV は、ビット/ロジックのパックされた構造体を単一のビット/ロジック ベクトルとして簡単に解釈できます。例えば:
ただし、SystemC で sc_lv<> テンプレートを使用すると、型の不一致が原因でコンパイラ エラーが発生します。
これと同等のことを行うための SystemC でサポートされている適切な方法はありますか? 私は潜在的な解決策を考えることができますが、それらはエレガントでも簡潔でもありません.Cスタイルのポインターキャストが安全/正しいかどうかはわかりません。