summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNilay Vaish <nilay@cs.wisc.edu>2015-08-30 12:24:18 -0500
committerNilay Vaish <nilay@cs.wisc.edu>2015-08-30 12:24:18 -0500
commita60a93eb051d49b86e33ed8add06f65fcdb37604 (patch)
tree6dab89491015cde673e2cb52f29c7c7840ed6005
parentbf8ae288fa81ad66c56eae483eea1814afaa2119 (diff)
downloadgem5-a60a93eb051d49b86e33ed8add06f65fcdb37604.tar.xz
ruby: specify number of vnets for each protocol
The default value for number of virtual networks is being removed. Each protocol should now specify the value it needs.
-rw-r--r--configs/ruby/MESI_Three_Level.py1
-rw-r--r--configs/ruby/MESI_Two_Level.py1
-rw-r--r--configs/ruby/MI_example.py1
-rw-r--r--configs/ruby/MOESI_CMP_directory.py1
-rw-r--r--configs/ruby/MOESI_CMP_token.py1
-rw-r--r--configs/ruby/MOESI_hammer.py1
-rw-r--r--configs/ruby/Network_test.py1
-rw-r--r--src/mem/ruby/network/Network.py6
8 files changed, 12 insertions, 1 deletions
diff --git a/configs/ruby/MESI_Three_Level.py b/configs/ruby/MESI_Three_Level.py
index 262022911..9db9d27cd 100644
--- a/configs/ruby/MESI_Three_Level.py
+++ b/configs/ruby/MESI_Three_Level.py
@@ -260,5 +260,6 @@ def create_system(options, full_system, system, dma_ports, ruby_system):
all_cntrls = all_cntrls + [io_controller]
+ ruby_system.network.number_of_virtual_networks = 3
topology = create_topology(all_cntrls, options)
return (cpu_sequencers, dir_cntrl_nodes, topology)
diff --git a/configs/ruby/MESI_Two_Level.py b/configs/ruby/MESI_Two_Level.py
index e075b3aa5..9997a117b 100644
--- a/configs/ruby/MESI_Two_Level.py
+++ b/configs/ruby/MESI_Two_Level.py
@@ -236,5 +236,6 @@ def create_system(options, full_system, system, dma_ports, ruby_system):
all_cntrls = all_cntrls + [io_controller]
+ ruby_system.network.number_of_virtual_networks = 3
topology = create_topology(all_cntrls, options)
return (cpu_sequencers, dir_cntrl_nodes, topology)
diff --git a/configs/ruby/MI_example.py b/configs/ruby/MI_example.py
index 3e0c21a41..6f28c6ade 100644
--- a/configs/ruby/MI_example.py
+++ b/configs/ruby/MI_example.py
@@ -189,5 +189,6 @@ def create_system(options, full_system, system, dma_ports, ruby_system):
all_cntrls = all_cntrls + [io_controller]
+ ruby_system.network.number_of_virtual_networks = 5
topology = create_topology(all_cntrls, options)
return (cpu_sequencers, dir_cntrl_nodes, topology)
diff --git a/configs/ruby/MOESI_CMP_directory.py b/configs/ruby/MOESI_CMP_directory.py
index 7a430990b..cdf8688f0 100644
--- a/configs/ruby/MOESI_CMP_directory.py
+++ b/configs/ruby/MOESI_CMP_directory.py
@@ -241,5 +241,6 @@ def create_system(options, full_system, system, dma_ports, ruby_system):
all_cntrls = all_cntrls + [io_controller]
+ ruby_system.network.number_of_virtual_networks = 3
topology = create_topology(all_cntrls, options)
return (cpu_sequencers, dir_cntrl_nodes, topology)
diff --git a/configs/ruby/MOESI_CMP_token.py b/configs/ruby/MOESI_CMP_token.py
index cf8897333..23c6d9fef 100644
--- a/configs/ruby/MOESI_CMP_token.py
+++ b/configs/ruby/MOESI_CMP_token.py
@@ -269,5 +269,6 @@ def create_system(options, full_system, system, dma_ports, ruby_system):
all_cntrls = all_cntrls + [io_controller]
+ ruby_system.network.number_of_virtual_networks = 6
topology = create_topology(all_cntrls, options)
return (cpu_sequencers, dir_cntrl_nodes, topology)
diff --git a/configs/ruby/MOESI_hammer.py b/configs/ruby/MOESI_hammer.py
index 606d73de0..0860fb682 100644
--- a/configs/ruby/MOESI_hammer.py
+++ b/configs/ruby/MOESI_hammer.py
@@ -258,5 +258,6 @@ def create_system(options, full_system, system, dma_ports, ruby_system):
all_cntrls = all_cntrls + [io_controller]
+ ruby_system.network.number_of_virtual_networks = 6
topology = create_topology(all_cntrls, options)
return (cpu_sequencers, dir_cntrl_nodes, topology)
diff --git a/configs/ruby/Network_test.py b/configs/ruby/Network_test.py
index eb31b3804..df3985cc1 100644
--- a/configs/ruby/Network_test.py
+++ b/configs/ruby/Network_test.py
@@ -125,5 +125,6 @@ def create_system(options, full_system, system, dma_ports, ruby_system):
all_cntrls = l1_cntrl_nodes + dir_cntrl_nodes
+ ruby_system.network.number_of_virtual_networks = 3
topology = create_topology(all_cntrls, options)
return (cpu_sequencers, dir_cntrl_nodes, topology)
diff --git a/src/mem/ruby/network/Network.py b/src/mem/ruby/network/Network.py
index 8cc38f26f..da0a788b5 100644
--- a/src/mem/ruby/network/Network.py
+++ b/src/mem/ruby/network/Network.py
@@ -39,7 +39,11 @@ class RubyNetwork(ClockedObject):
topology = Param.String("Not Specified",
"the name of the imported topology module")
- number_of_virtual_networks = Param.Int(10, "")
+ number_of_virtual_networks = Param.Unsigned("Number of virtual networks "
+ "used by the coherence protocol in use. The on-chip network "
+ "assumes the protocol numbers vnets starting from 0. Therefore, "
+ "the number of virtual networks should be one more than the "
+ "highest numbered vnet in use.")
control_msg_size = Param.Int(8, "")
ruby_system = Param.RubySystem("")