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

Learn gem5 #3 (Creating a very simple SimObject, Debugging gem5)

Creating a very simple SimObject https://www.gem5.org/documentation/learning_gem5/part2/helloobject/とりあえず書いてあるとおりに作業を進める。 バックアップしてスクラッチから書いていく。 $ git checkout -b hello-simobject $ mkdir -p backup/s…

Learn gem5 #2 (Creating a simple configuration script~Extending gem5 for ARM)

Creating a simple configuration script https://www.gem5.org/documentation/learning_gem5/part1/simple_config/まずは動かしてみる。 $ mkdir -p configs/tutorial/part1/ $ cp configs/learning_gem5/part1/simple.py configs/tutorial/part1/ $ build/…

Learn gem5 #1 (Introduction~Building gem5)

今日からは gem5 を触ってみる。 https://en.wikipedia.org/wiki/Gem5 www.gem5.orgWikipedia によると、gem5 は m5 (CPUシミュレーションフレームワーク)と GEMS (メモリタイミングシミュレータ) が合体したものであり、複数の実行モードを持つイベント駆動…

Getting Started with TLM-2.0 (Tutorial 3 - Routing Methods through Interconnect Components)

www.doulos.com Introduction ここではインターコネクトコンポーネントを通じてトランザクションが伝搬していくのを見ていく。すなわち、ルーターがイニシエータといくつかのターゲットメモリの間に配置される。 ルーターはトランザクション、DMI、デバッグ…

Getting Started with TLM-2.0 (Tutorial 2 - Response Status, DMI, and Debug Transport)

www.doulos.com2つ目のチュートリアルでは汎用ペイロードの返答ステータス、デバッグメモリ、デバッグ転送インタフェースを見ていく。 The Response Status of the Generic Payload Example 1ではターゲットがトランザクションを実行できなかった場合、単純…

Getting Started with TLM-2.0 (Tutorial 1 - Sockets, Generic Payload, Blocking Transport)

今日からはGetting Started with TLM-2.0を見ていく。www.doulos.com長いので重要なところだけ訳していく。 Modeling Concepts TLMはプロセス間通信にフォーカスしている。 OSCI TLM-2.0では特に、オンチップのメモリマップドバスのモデリングにフォーカスし…

Learn SystemC with Examples #9 (Clock~Interrupt a thread while busy, template class)

Clock https://www.learnsystemc.com/basic/clocksc_clockはsc_signalから派生したプリミティブチャネルで、クロックのモデリングに使われる。 クロックの値やイベントはsc_signal_in_if<bool>インタフェース経由でアクセスできる。 コンストラクタの各引数の意味</bool>…

Learn SystemC with Examples #8 (Primitive Channel~Customized Data Type)

Primitive Channel https://www.learnsystemc.com/basic/primitive_channelsc_prim_channelとは すべてのプリミティブチャネルの基底クラス updateフェーズへの固有のアクセスを提供する 階層、ポート、プロセスを含まない 階層チャネルと同様、プリミティブ…

Learn SystemC with Examples #7 (Communication: port~Communication: port array)

Communication: port https://www.learnsystemc.com/basic/port通信にはキーとなる概念が3つある。 インタフェース sc_interface から派生した抽象クラス。sc_objectからは派生していない。 純粋仮想関数を持ち、それらはインタフェースを継承したチャネル内…

Learn SystemC with Examples #6 (Signal: read and write~Buffer)

Signal: read and write https://www.learnsystemc.com/basic/signal_readwritesc_signalとは プリミティブチャネルであり、電気信号を運ぶワイヤーをモデリングするために使う evaluate-update方式を使う。これにより、同時read/writeのふるまいが一意にな…

Learn SystemC with Examples #5 (Mutex~FIFO)

Mutex https://www.learnsystemc.com/basic/channel_mutexMutexとは チャネルの一種であり、排他制御ロックをモデリングするためのもの。 lockedとunlockedの2つのステートがある Mutexをロックできるプロセスは同時に1つまで。 Mutexはロックされたプロセス…