2024-02-01から1ヶ月間の記事一覧

Learn SystemC with Examples #4 (Initialization~Combined Event Queue)

Initialization https://www.learnsystemc.com/basic/initialization初期化は実行ステージの一部で、sc_start()の後に行われる。初期化中は以下の3ステップが順に行われる。 updateフェーズの実行。ただし、delta notificationフェーズには移らない。 全メソ…

Learn SystemC with Examples #3 (Event~Sensitivity)

Event https://www.learnsystemc.com/basic/eventイベントとはsc_event型のオブジェクトであり、プロセス間の同期に使われる。 イベント通知が起こると、プロセスインスタンスはトリガーもしくはレジュームされる。sc_eventは以下のメソッドを持つ。 void no…

Learn SystemC with Examples #2 (Simulation Process~Concurrency)

Simulation Process https://www.learnsystemc.com/basic/simu_processシミュレーションプロセスとは sc_moduleクラスのメンバー関数であり 引数がなく戻り値もなく シミュレーションカーネルにより登録されるものである。 シミュレーションプロセスを登録す…

Learn SystemC with Examples #1 (Hello World~SC_HAS_PROCESS)

www.learnsystemc.com を試していく。まずはHello Worldから。 Hello World https://www.learnsystemc.com/basic/hello_worldこのページのサンプルコードをhello.ccとして保存する。Makefileを用意する。 include Makefile.config PROJECT = hello OBJS = $(…

SystemCのインストール

SystemCはGithubに公開されている。 github.comTagsを見ると、2.3.4の安定版と3.0.0の開発版がある。 Tags · accellera-official/systemc · GitHubせっかくなので3.0.0開発版をインストールしてみよう。まずはcloneする。 $ cd $HOME/work $ git clone https…