diff options
Diffstat (limited to 'util/tlm/examples/master_port')
-rw-r--r-- | util/tlm/examples/master_port/SConscript (renamed from util/tlm/examples/master_port/tlm.py) | 47 | ||||
-rw-r--r-- | util/tlm/examples/master_port/SConstruct | 78 |
2 files changed, 8 insertions, 117 deletions
diff --git a/util/tlm/examples/master_port/tlm.py b/util/tlm/examples/master_port/SConscript index 0b017a6d1..b6caa8a77 100644 --- a/util/tlm/examples/master_port/tlm.py +++ b/util/tlm/examples/master_port/SConscript @@ -1,4 +1,5 @@ -# +#!python + # Copyright (c) 2016, Dresden University of Technology (TU Dresden) # All rights reserved. # @@ -30,46 +31,14 @@ # SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # # Authors: Christian Menard -# -import m5 -from m5.objects import * - -import os - -# Base System Architecture: -# +-----+ ^ -# | TLM | | TLM World -# +--+--+ | (see main.cc) -# | v -# +----------v-----------+ External Port (see sc_master_port.*) -# | Membus | ^ -# +----------+-----------+ | -# | | gem5 World -# +---v----+ | -# | Memory | | -# +--------+ v -# +Import('env') +Import('deps') -# Create a system with a Crossbar and a simple Memory: -system = System() -system.membus = IOXBar(width = 16) -system.physmem = SimpleMemory(range = AddrRange('512MB')) -system.clk_domain = SrcClockDomain(clock = '1.5GHz', - voltage_domain = VoltageDomain(voltage = '1V')) +env = env.Clone() -# Create a external TLM port: -system.tlm = ExternalMaster() -system.tlm.port_type = "tlm_master" -system.tlm.port_data = "transactor" +src = [File('main.cc'), File('traffic_generator.cc')] -# Route the connections: -system.system_port = system.membus.slave -system.physmem.port = system.membus.master -system.tlm.port = system.membus.slave -system.mem_mode = 'timing' +bin = env.Program('gem5.sc', src + deps) -# Start the simulation: -root = Root(full_system = False, system = system) -m5.instantiate() -m5.simulate() +Return('bin') diff --git a/util/tlm/examples/master_port/SConstruct b/util/tlm/examples/master_port/SConstruct deleted file mode 100644 index a896a34e4..000000000 --- a/util/tlm/examples/master_port/SConstruct +++ /dev/null @@ -1,78 +0,0 @@ -#!python - -# Copyright (c) 2016, Dresden University of Technology (TU Dresden) -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are -# met: -# -# 1. Redistributions of source code must retain the above copyright notice, -# this list of conditions and the following disclaimer. -# -# 2. Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# -# 3. Neither the name of the copyright holder nor the names of its -# contributors may be used to endorse or promote products derived from -# this software without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED -# TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER -# OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# -# Authors: Christian Menard - -import os - -gem5_arch = 'ARM' -gem5_variant = 'opt' -#gem5_variant = 'debug' - -gem5_root = '#../../../..' - -target = 'gem5.' + gem5_variant + '.sc' - -env = Environment() - -# Import PKG_CONFIG_PATH from the external environment -if os.environ.has_key('PKG_CONFIG_PATH'): - env['ENV']['PKG_CONFIG_PATH'] = os.environ['PKG_CONFIG_PATH'] - -# search for SystemC -env.ParseConfig('pkg-config --cflags --libs systemc') - -# add include dirs -env.Append(CPPPATH=[gem5_root + '/build/' + gem5_arch, - gem5_root + '/util/systemc', - gem5_root + '/util/tlm', - '../common']) - -env.Append(LIBS=['gem5_' + gem5_variant]) -env.Append(LIBPATH=[gem5_root + '/build/' + gem5_arch]) - -env.Append(CXXFLAGS=['-std=c++11', - '-DSC_INCLUDE_DYNAMIC_PROCESSES', - '-DTRACING_ON']) - -if gem5_variant == 'debug': - env.Append(CXXFLAGS=['-g', '-DDEBUG']) - -src_systemc = [gem5_root + '/util/systemc/sc_gem5_control.cc', - gem5_root + '/util/systemc/sc_logger.cc', - gem5_root + '/util/systemc/sc_module.cc', - gem5_root + '/util/systemc/stats.cc'] - -src_tlm = Glob(gem5_root + '/util/tlm/*.cc') -src_main = Glob('*.cc') + Glob('../common/*.cc') - -main = env.Program(target, src_systemc + src_tlm + src_main) |