summaryrefslogtreecommitdiff
path: root/configs/ruby/Ruby.py
diff options
context:
space:
mode:
authorBrad Beckmann <Brad.Beckmann@amd.com>2010-03-21 21:22:20 -0700
committerBrad Beckmann <Brad.Beckmann@amd.com>2010-03-21 21:22:20 -0700
commit1765badda28edcf95bed8f1b3a2ca7270cb830e3 (patch)
tree95e14558515a82360fd3b79550481ac9ffc018d3 /configs/ruby/Ruby.py
parent391b4e64e682ffd0580b0388114620f9de43a231 (diff)
downloadgem5-1765badda28edcf95bed8f1b3a2ca7270cb830e3.tar.xz
ruby: Added a mesh network with directories at the corners
The patch creates a specific mesh network where directories are at the corners. The patch is a good example of how to create an arbitrary network, similar to the old file specified network, while leveraging scripts and loops when possible.
Diffstat (limited to 'configs/ruby/Ruby.py')
-rw-r--r--configs/ruby/Ruby.py10
1 files changed, 10 insertions, 0 deletions
diff --git a/configs/ruby/Ruby.py b/configs/ruby/Ruby.py
index d6889ef1a..22d56f9a1 100644
--- a/configs/ruby/Ruby.py
+++ b/configs/ruby/Ruby.py
@@ -31,6 +31,8 @@ import m5
from m5.objects import *
from m5.defines import buildEnv
from m5.util import addToPath
+addToPath('../ruby/networks')
+from MeshDirCorners import *
protocol = buildEnv['PROTOCOL']
@@ -59,6 +61,14 @@ def create_system(options, physmem, piobus = None, dma_devices = []):
net_topology = makeMesh(all_cntrls,
len(cpu_sequencers),
options.mesh_rows)
+
+ elif options.topology == "mesh_dir_corner":
+ #
+ # The uniform mesh topology assumes one router per cpu
+ #
+ net_topology = makeMeshDirCorners(all_cntrls,
+ len(cpu_sequencers),
+ options.mesh_rows)
if options.garnet_network == "fixed":
network = GarnetNetwork_d(topology = net_topology)