README revision 13373
111986Sandreas.sandberg@arm.comThis directory holds several examples which show how to build and run systemc 211986Sandreas.sandberg@arm.comcode and models within gem5. To build a particular example, set the EXTRAS 311986Sandreas.sandberg@arm.comvariable when running scons so that it gets picked up as part of gem5's build. 411986Sandreas.sandberg@arm.comFor example: 511986Sandreas.sandberg@arm.com 611986Sandreas.sandberg@arm.comscons build/ARM/gem5.opt \ 711986Sandreas.sandberg@arm.com EXTRAS=util/systemc/systemc_within_gem5/systemc_sc_main 811986Sandreas.sandberg@arm.com 911986Sandreas.sandberg@arm.comThen when running gem5, you can use the config.py in the corresponding 1011986Sandreas.sandberg@arm.comdirectory. 1111986Sandreas.sandberg@arm.com 1211986Sandreas.sandberg@arm.combuild/ARM/gem5.opt util/systemc/systemc_within_gem5/systemc_sc_main/config.py \ 1311986Sandreas.sandberg@arm.com --word Hello --word World 1411986Sandreas.sandberg@arm.com 1511986Sandreas.sandberg@arm.com 1611986Sandreas.sandberg@arm.comTo rebuild gem5 excluding the example code, be sure to clear the EXTRAS 1711986Sandreas.sandberg@arm.comvariable: 1811986Sandreas.sandberg@arm.com 1911986Sandreas.sandberg@arm.comscons build/ARM/gem5.opt EXTRAS= 2011986Sandreas.sandberg@arm.com 2111986Sandreas.sandberg@arm.comWhen building your own models, you don't have to use the EXTRAS mechanism and 2211986Sandreas.sandberg@arm.comcan instead put your source files alongside regular gem5 sources. 2311986Sandreas.sandberg@arm.com 2411986Sandreas.sandberg@arm.com 2511986Sandreas.sandberg@arm.comExisting examples: 2611986Sandreas.sandberg@arm.com 2711986Sandreas.sandberg@arm.comsystemc_sc_main - Run code based on an sc_main function. 2811986Sandreas.sandberg@arm.comsystemc_simple_object - Build systemc objects into a gem5 object hierarchy. 2911986Sandreas.sandberg@arm.com 3011986Sandreas.sandberg@arm.com 3111986Sandreas.sandberg@arm.comNote that these directories all have a systemc_ prefix so that when EXTRAS 3211986Sandreas.sandberg@arm.compastes them into the build directory, they won't conflict with any existing 3311986Sandreas.sandberg@arm.comtop level directory. 3411986Sandreas.sandberg@arm.com