From a60a93eb051d49b86e33ed8add06f65fcdb37604 Mon Sep 17 00:00:00 2001 From: Nilay Vaish Date: Sun, 30 Aug 2015 12:24:18 -0500 Subject: [PATCH] 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. --- configs/ruby/MESI_Three_Level.py | 1 + configs/ruby/MESI_Two_Level.py | 1 + configs/ruby/MI_example.py | 1 + configs/ruby/MOESI_CMP_directory.py | 1 + configs/ruby/MOESI_CMP_token.py | 1 + configs/ruby/MOESI_hammer.py | 1 + configs/ruby/Network_test.py | 1 + src/mem/ruby/network/Network.py | 6 +++++- 8 files changed, 12 insertions(+), 1 deletion(-) 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("") -- 2.30.2