Files
gem5/util/systemc/systemc_within_gem5
Matthias Jung a52274a075 systemc: gem5 initiator TLM target example
This example shows how to connect a simple TLM target to a gem5 traffic
generator. It uses the systemc_within_gem5 feature.

Change-Id: I9755cc662c5c034cffe03d99dcbe6bed23176b16
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/60269
Maintainer: Jason Lowe-Power <power.jg@gmail.com>
Reviewed-by: Jason Lowe-Power <power.jg@gmail.com>
Tested-by: kokoro <noreply+kokoro@google.com>
2022-06-08 17:33:12 +00:00
..
2022-05-13 18:49:48 +00:00

This directory holds several examples which show how to build and run systemc
code and models within gem5. To build a particular example, set the EXTRAS
variable when running scons so that it gets picked up as part of gem5's build.
For example:

scons build/ARM/gem5.opt \
          EXTRAS=util/systemc/systemc_within_gem5/systemc_sc_main

Then when running gem5, you can use the config.py in the corresponding
directory.

build/ARM/gem5.opt util/systemc/systemc_within_gem5/systemc_sc_main/config.py \
        --word Hello --word World


To rebuild gem5 excluding the example code, be sure to clear the EXTRAS
variable:

scons build/ARM/gem5.opt EXTRAS=

When building your own models, you don't have to use the EXTRAS mechanism and
can instead put your source files alongside regular gem5 sources.


Existing examples:

systemc_sc_main - Run code based on an sc_main function.
systemc_simple_object - Build systemc objects into a gem5 object hierarchy.
systemc_tlm - Simple LT-Based TLM system


Note that these directories all have a systemc_ prefix so that when EXTRAS
pastes them into the build directory, they won't conflict with any existing
top level directory.