ruby: specify number of vnets for each protocol
authorNilay Vaish <nilay@cs.wisc.edu>
Sun, 30 Aug 2015 17:24:18 +0000 (12:24 -0500)
committerNilay Vaish <nilay@cs.wisc.edu>
Sun, 30 Aug 2015 17:24:18 +0000 (12:24 -0500)
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
configs/ruby/MESI_Two_Level.py
configs/ruby/MI_example.py
configs/ruby/MOESI_CMP_directory.py
configs/ruby/MOESI_CMP_token.py
configs/ruby/MOESI_hammer.py
configs/ruby/Network_test.py
src/mem/ruby/network/Network.py

index 2620229118fccf097c0fcae4275b182246e04010..9db9d27cd1342e8efc031cfe3799f26ef03fd06a 100644 (file)
@@ -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)
index e075b3aa528c5339da9be369098dff96f93ba080..9997a117b2968ddb96abc99722e171053924d977 100644 (file)
@@ -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)
index 3e0c21a417c7aa572b539c84bf7f8a7c971e4b0a..6f28c6adee995535973990afdf391e3294fc9974 100644 (file)
@@ -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)
index 7a430990b485e5b21f9abe5d0778e1eb41faa734..cdf8688f0d39ec4f2c7f2138847619a91b54e473 100644 (file)
@@ -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)
index cf8897333413cce05cda7fb4a29772d93b99b4fa..23c6d9fef99a4ececf3a45599e1eca13269b7202 100644 (file)
@@ -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)
index 606d73de0506da6168e64af33103e4445391bd83..0860fb6822fa2cc37ddbbeaeec7b3bcec80c4f5a 100644 (file)
@@ -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)
index eb31b380489da95c4869cbfde3ac1d7c97259b22..df3985cc1525e3757b395f56ff4709aa8b8de6a9 100644 (file)
@@ -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)
index 8cc38f26fb642bb6f88b5e4b892c0263b86e2aee..da0a788b597fc8b1a0fdc67892b444b9281a897c 100644 (file)
@@ -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("")