Srikant Bharadwaj has uploaded this change for review. ( https://gem5-review.googlesource.com/c/public/gem5/+/34259 )

Change subject: mem-garnet: Upgrade garnet version to 3.0
......................................................................

mem-garnet: Upgrade garnet version to 3.0

This version of garnet includes HeteroGarnet which
supports heterogenous interconnect systems, flexible
router and link configurations, and better debugging
resources.

Change-Id: Id4763421528305193ae0cd10c159b385a9513553
---
M configs/network/Network.py
R src/mem/ruby/network/garnet3.0/CommonTypes.hh
R src/mem/ruby/network/garnet3.0/Credit.cc
R src/mem/ruby/network/garnet3.0/Credit.hh
R src/mem/ruby/network/garnet3.0/CreditLink.hh
R src/mem/ruby/network/garnet3.0/CrossbarSwitch.cc
R src/mem/ruby/network/garnet3.0/CrossbarSwitch.hh
R src/mem/ruby/network/garnet3.0/GarnetLink.cc
R src/mem/ruby/network/garnet3.0/GarnetLink.hh
R src/mem/ruby/network/garnet3.0/GarnetLink.py
R src/mem/ruby/network/garnet3.0/GarnetNetwork.cc
R src/mem/ruby/network/garnet3.0/GarnetNetwork.hh
R src/mem/ruby/network/garnet3.0/GarnetNetwork.py
R src/mem/ruby/network/garnet3.0/InputUnit.cc
R src/mem/ruby/network/garnet3.0/InputUnit.hh
R src/mem/ruby/network/garnet3.0/NetworkBridge.cc
R src/mem/ruby/network/garnet3.0/NetworkBridge.hh
R src/mem/ruby/network/garnet3.0/NetworkInterface.cc
R src/mem/ruby/network/garnet3.0/NetworkInterface.hh
R src/mem/ruby/network/garnet3.0/NetworkLink.cc
R src/mem/ruby/network/garnet3.0/NetworkLink.hh
R src/mem/ruby/network/garnet3.0/OutVcState.cc
R src/mem/ruby/network/garnet3.0/OutVcState.hh
R src/mem/ruby/network/garnet3.0/OutputUnit.cc
R src/mem/ruby/network/garnet3.0/OutputUnit.hh
R src/mem/ruby/network/garnet3.0/README.txt
R src/mem/ruby/network/garnet3.0/Router.cc
R src/mem/ruby/network/garnet3.0/Router.hh
R src/mem/ruby/network/garnet3.0/RoutingUnit.cc
R src/mem/ruby/network/garnet3.0/RoutingUnit.hh
R src/mem/ruby/network/garnet3.0/SConscript
R src/mem/ruby/network/garnet3.0/SwitchAllocator.cc
R src/mem/ruby/network/garnet3.0/SwitchAllocator.hh
R src/mem/ruby/network/garnet3.0/VirtualChannel.cc
R src/mem/ruby/network/garnet3.0/VirtualChannel.hh
R src/mem/ruby/network/garnet3.0/flit.cc
R src/mem/ruby/network/garnet3.0/flit.hh
R src/mem/ruby/network/garnet3.0/flitBuffer.cc
R src/mem/ruby/network/garnet3.0/flitBuffer.hh
39 files changed, 184 insertions(+), 168 deletions(-)



diff --git a/configs/network/Network.py b/configs/network/Network.py
index 20d68c0..f52725e 100644
--- a/configs/network/Network.py
+++ b/configs/network/Network.py
@@ -31,7 +31,7 @@
 import m5
 from m5.objects import *
 from m5.defines import buildEnv
-from m5.util import addToPath, fatal
+from m5.util import addToPath, fatal, warn

 def define_options(parser):
     # By default, ruby uses the simple timing cpu
@@ -42,8 +42,9 @@
     parser.add_option("--mesh-rows", type="int", default=0,
                       help="the number of rows in the mesh topology")
     parser.add_option("--network", type="choice", default="simple",
-                      choices=['simple', 'garnet2.0'],
-                      help="'simple'|'garnet2.0'")
+                      choices=['simple', 'garnet2.0', 'garnet3.0'],
+                      help="""'simple'|'garnet3.0' (garnet 2.0 will be
+                      deprecated.)""")
     parser.add_option("--router-latency", action="store", type="int",
                       default=1,
help="""number of pipeline stages in the garnet router.
@@ -65,8 +66,8 @@
                       default=0,
                       help="""routing algorithm in network.
                             0: weight-based table
-                            1: XY (for Mesh. see garnet2.0/RoutingUnit.cc)
-                            2: Custom (see garnet2.0/RoutingUnit.cc""")
+                            1: XY (for Mesh. see garnet3.0/RoutingUnit.cc)
+                            2: Custom (see garnet3.0/RoutingUnit.cc""")
     parser.add_option("--network-fault-model", action="store_true",
                       default=False,
                       help="""enable network fault model:
@@ -77,8 +78,15 @@

 def create_network(options, ruby):

-    # Set the network classes based on the command line options
+    # Allow legacy users to use garnet through garnet2.0 option
+    # until next gem5 release.
     if options.network == "garnet2.0":
+        warn("garnet2.0 will be depracated. Please use garnet3.0 for" \
+            " using the latest garnet version.")
+        options.network = "garnet3.0"
+
+    # Set the network classes based on the command line options
+    if options.network == "garnet3.0":
         NetworkClass = GarnetNetwork
         IntLinkClass = GarnetIntLink
         ExtLinkClass = GarnetExtLink
@@ -101,7 +109,7 @@

 def init_network(options, network, InterfaceClass):

-    if options.network == "garnet2.0":
+    if options.network == "garnet3.0":
         network.num_rows = options.mesh_rows
         network.vcs_per_vnet = options.vcs_per_vnet
         network.ni_flit_size = options.link_width_bits / 8
@@ -181,6 +189,6 @@
         network.netifs = netifs

     if options.network_fault_model:
-        assert(options.network == "garnet2.0")
+        assert(options.network == "garnet3.0")
         network.enable_fault_model = True
         network.fault_model = FaultModel()
diff --git a/src/mem/ruby/network/garnet2.0/CommonTypes.hh b/src/mem/ruby/network/garnet3.0/CommonTypes.hh
similarity index 93%
rename from src/mem/ruby/network/garnet2.0/CommonTypes.hh
rename to src/mem/ruby/network/garnet3.0/CommonTypes.hh
index 643ce8c..cf91671 100644
--- a/src/mem/ruby/network/garnet2.0/CommonTypes.hh
+++ b/src/mem/ruby/network/garnet3.0/CommonTypes.hh
@@ -28,8 +28,8 @@
  */


-#ifndef __MEM_RUBY_NETWORK_GARNET2_0_COMMONTYPES_HH__
-#define __MEM_RUBY_NETWORK_GARNET2_0_COMMONTYPES_HH__
+#ifndef __MEM_RUBY_NETWORK_GARNET3_0_COMMONTYPES_HH__
+#define __MEM_RUBY_NETWORK_GARNET3_0_COMMONTYPES_HH__

 #include "mem/ruby/common/NetDest.hh"

@@ -65,4 +65,4 @@

 #define INFINITE_ 10000

-#endif //__MEM_RUBY_NETWORK_GARNET2_0_COMMONTYPES_HH__
+#endif //__MEM_RUBY_NETWORK_GARNET3_0_COMMONTYPES_HH__
diff --git a/src/mem/ruby/network/garnet2.0/Credit.cc b/src/mem/ruby/network/garnet3.0/Credit.cc
similarity index 98%
rename from src/mem/ruby/network/garnet2.0/Credit.cc
rename to src/mem/ruby/network/garnet3.0/Credit.cc
index bde9484..b2ef10c 100644
--- a/src/mem/ruby/network/garnet2.0/Credit.cc
+++ b/src/mem/ruby/network/garnet3.0/Credit.cc
@@ -27,7 +27,7 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */

-#include "mem/ruby/network/garnet2.0/Credit.hh"
+#include "mem/ruby/network/garnet3.0/Credit.hh"

 #include "base/trace.hh"
 #include "debug/RubyNetwork.hh"
diff --git a/src/mem/ruby/network/garnet2.0/Credit.hh b/src/mem/ruby/network/garnet3.0/Credit.hh
similarity index 89%
rename from src/mem/ruby/network/garnet2.0/Credit.hh
rename to src/mem/ruby/network/garnet3.0/Credit.hh
index bcfd76f..d974c06 100644
--- a/src/mem/ruby/network/garnet2.0/Credit.hh
+++ b/src/mem/ruby/network/garnet3.0/Credit.hh
@@ -28,15 +28,15 @@
  */


-#ifndef __MEM_RUBY_NETWORK_GARNET2_0_CREDIT_HH__
-#define __MEM_RUBY_NETWORK_GARNET2_0_CREDIT_HH__
+#ifndef __MEM_RUBY_NETWORK_GARNET3_0_CREDIT_HH__
+#define __MEM_RUBY_NETWORK_GARNET3_0_CREDIT_HH__

 #include <cassert>
 #include <iostream>

 #include "base/types.hh"
-#include "mem/ruby/network/garnet2.0/CommonTypes.hh"
-#include "mem/ruby/network/garnet2.0/flit.hh"
+#include "mem/ruby/network/garnet3.0/CommonTypes.hh"
+#include "mem/ruby/network/garnet3.0/flit.hh"

 // Credit Signal for buffers inside VC
 // Carries m_vc (inherits from flit.hh)
@@ -61,4 +61,4 @@
     bool m_is_free_signal;
 };

-#endif // __MEM_RUBY_NETWORK_GARNET2_0_CREDIT_HH__
+#endif // __MEM_RUBY_NETWORK_GARNET3_0_CREDIT_HH__
diff --git a/src/mem/ruby/network/garnet2.0/CreditLink.hh b/src/mem/ruby/network/garnet3.0/CreditLink.hh
similarity index 89%
rename from src/mem/ruby/network/garnet2.0/CreditLink.hh
rename to src/mem/ruby/network/garnet3.0/CreditLink.hh
index 13e670d..d3eafb2 100644
--- a/src/mem/ruby/network/garnet2.0/CreditLink.hh
+++ b/src/mem/ruby/network/garnet3.0/CreditLink.hh
@@ -28,10 +28,10 @@
  */


-#ifndef __MEM_RUBY_NETWORK_GARNET2_0_CREDITLINK_HH__
-#define __MEM_RUBY_NETWORK_GARNET2_0_CREDITLINK_HH__
+#ifndef __MEM_RUBY_NETWORK_GARNET3_0_CREDITLINK_HH__
+#define __MEM_RUBY_NETWORK_GARNET3_0_CREDITLINK_HH__

-#include "mem/ruby/network/garnet2.0/NetworkLink.hh"
+#include "mem/ruby/network/garnet3.0/NetworkLink.hh"
 #include "params/CreditLink.hh"

 class CreditLink : public NetworkLink
@@ -41,4 +41,4 @@
     CreditLink(const Params *p) : NetworkLink(p) {}
 };

-#endif // __MEM_RUBY_NETWORK_GARNET2_0_CREDITLINK_HH__
+#endif // __MEM_RUBY_NETWORK_GARNET3_0_CREDITLINK_HH__
diff --git a/src/mem/ruby/network/garnet2.0/CrossbarSwitch.cc b/src/mem/ruby/network/garnet3.0/CrossbarSwitch.cc
similarity index 95%
rename from src/mem/ruby/network/garnet2.0/CrossbarSwitch.cc
rename to src/mem/ruby/network/garnet3.0/CrossbarSwitch.cc
index 3148446..b164e7a 100644
--- a/src/mem/ruby/network/garnet2.0/CrossbarSwitch.cc
+++ b/src/mem/ruby/network/garnet3.0/CrossbarSwitch.cc
@@ -29,11 +29,11 @@
  */


-#include "mem/ruby/network/garnet2.0/CrossbarSwitch.hh"
+#include "mem/ruby/network/garnet3.0/CrossbarSwitch.hh"

 #include "debug/RubyNetwork.hh"
-#include "mem/ruby/network/garnet2.0/OutputUnit.hh"
-#include "mem/ruby/network/garnet2.0/Router.hh"
+#include "mem/ruby/network/garnet3.0/OutputUnit.hh"
+#include "mem/ruby/network/garnet3.0/Router.hh"

 CrossbarSwitch::CrossbarSwitch(Router *router)
   : Consumer(router), m_router(router), m_num_vcs(m_router->get_num_vcs()),
diff --git a/src/mem/ruby/network/garnet2.0/CrossbarSwitch.hh b/src/mem/ruby/network/garnet3.0/CrossbarSwitch.hh
similarity index 89%
rename from src/mem/ruby/network/garnet2.0/CrossbarSwitch.hh
rename to src/mem/ruby/network/garnet3.0/CrossbarSwitch.hh
index 7dee784..0acf7cd 100644
--- a/src/mem/ruby/network/garnet2.0/CrossbarSwitch.hh
+++ b/src/mem/ruby/network/garnet3.0/CrossbarSwitch.hh
@@ -29,15 +29,15 @@
  */


-#ifndef __MEM_RUBY_NETWORK_GARNET2_0_CROSSBARSWITCH_HH__
-#define __MEM_RUBY_NETWORK_GARNET2_0_CROSSBARSWITCH_HH__
+#ifndef __MEM_RUBY_NETWORK_GARNET3_0_CROSSBARSWITCH_HH__
+#define __MEM_RUBY_NETWORK_GARNET3_0_CROSSBARSWITCH_HH__

 #include <iostream>
 #include <vector>

 #include "mem/ruby/common/Consumer.hh"
-#include "mem/ruby/network/garnet2.0/CommonTypes.hh"
-#include "mem/ruby/network/garnet2.0/flitBuffer.hh"
+#include "mem/ruby/network/garnet3.0/CommonTypes.hh"
+#include "mem/ruby/network/garnet3.0/flitBuffer.hh"

 class Router;

@@ -68,4 +68,4 @@
     std::vector<flitBuffer> switchBuffers;
 };

-#endif // __MEM_RUBY_NETWORK_GARNET2_0_CROSSBARSWITCH_HH__
+#endif // __MEM_RUBY_NETWORK_GARNET3_0_CROSSBARSWITCH_HH__
diff --git a/src/mem/ruby/network/garnet2.0/GarnetLink.cc b/src/mem/ruby/network/garnet3.0/GarnetLink.cc
similarity index 95%
rename from src/mem/ruby/network/garnet2.0/GarnetLink.cc
rename to src/mem/ruby/network/garnet3.0/GarnetLink.cc
index 99d891f..50e60c1 100644
--- a/src/mem/ruby/network/garnet2.0/GarnetLink.cc
+++ b/src/mem/ruby/network/garnet3.0/GarnetLink.cc
@@ -28,12 +28,12 @@
  */


-#include "mem/ruby/network/garnet2.0/GarnetLink.hh"
+#include "mem/ruby/network/garnet3.0/GarnetLink.hh"

 #include "debug/RubyNetwork.hh"
-#include "mem/ruby/network/garnet2.0/CreditLink.hh"
-#include "mem/ruby/network/garnet2.0/NetworkBridge.hh"
-#include "mem/ruby/network/garnet2.0/NetworkLink.hh"
+#include "mem/ruby/network/garnet3.0/CreditLink.hh"
+#include "mem/ruby/network/garnet3.0/NetworkBridge.hh"
+#include "mem/ruby/network/garnet3.0/NetworkLink.hh"

 GarnetIntLink::GarnetIntLink(const Params *p)
     : BasicIntLink(p)
diff --git a/src/mem/ruby/network/garnet2.0/GarnetLink.hh b/src/mem/ruby/network/garnet3.0/GarnetLink.hh
similarity index 90%
rename from src/mem/ruby/network/garnet2.0/GarnetLink.hh
rename to src/mem/ruby/network/garnet3.0/GarnetLink.hh
index 089bcce..1b05556 100644
--- a/src/mem/ruby/network/garnet2.0/GarnetLink.hh
+++ b/src/mem/ruby/network/garnet3.0/GarnetLink.hh
@@ -28,17 +28,17 @@
  */


-#ifndef __MEM_RUBY_NETWORK_GARNET2_0_GARNETLINK_HH__
-#define __MEM_RUBY_NETWORK_GARNET2_0_GARNETLINK_HH__
+#ifndef __MEM_RUBY_NETWORK_GARNET3_0_GARNETLINK_HH__
+#define __MEM_RUBY_NETWORK_GARNET3_0_GARNETLINK_HH__

 #include <iostream>
 #include <string>
 #include <vector>

 #include "mem/ruby/network/BasicLink.hh"
-#include "mem/ruby/network/garnet2.0/CreditLink.hh"
-#include "mem/ruby/network/garnet2.0/NetworkBridge.hh"
-#include "mem/ruby/network/garnet2.0/NetworkLink.hh"
+#include "mem/ruby/network/garnet3.0/CreditLink.hh"
+#include "mem/ruby/network/garnet3.0/NetworkBridge.hh"
+#include "mem/ruby/network/garnet3.0/NetworkLink.hh"
 #include "params/GarnetExtLink.hh"
 #include "params/GarnetIntLink.hh"

@@ -123,4 +123,4 @@
     return out;
 }

-#endif //__MEM_RUBY_NETWORK_GARNET2_0_GARNETLINK_HH__
+#endif //__MEM_RUBY_NETWORK_GARNET3_0_GARNETLINK_HH__
diff --git a/src/mem/ruby/network/garnet2.0/GarnetLink.py b/src/mem/ruby/network/garnet3.0/GarnetLink.py
similarity index 95%
rename from src/mem/ruby/network/garnet2.0/GarnetLink.py
rename to src/mem/ruby/network/garnet3.0/GarnetLink.py
index d133032..ef472b3 100644
--- a/src/mem/ruby/network/garnet2.0/GarnetLink.py
+++ b/src/mem/ruby/network/garnet3.0/GarnetLink.py
@@ -37,7 +37,7 @@

 class NetworkLink(ClockedObject):
     type = 'NetworkLink'
-    cxx_header = "mem/ruby/network/garnet2.0/NetworkLink.hh"
+    cxx_header = "mem/ruby/network/garnet3.0/NetworkLink.hh"
     link_id = Param.Int(Parent.link_id, "link id")
     link_latency = Param.Cycles(Parent.latency, "link latency")
     vcs_per_vnet = Param.Int(Parent.vcs_per_vnet,
@@ -50,11 +50,11 @@

 class CreditLink(NetworkLink):
     type = 'CreditLink'
-    cxx_header = "mem/ruby/network/garnet2.0/CreditLink.hh"
+    cxx_header = "mem/ruby/network/garnet3.0/CreditLink.hh"

 class NetworkBridge(CreditLink):
     type = 'NetworkBridge'
-    cxx_header = "mem/ruby/network/garnet2.0/NetworkBridge.hh"
+    cxx_header = "mem/ruby/network/garnet3.0/NetworkBridge.hh"
     link = Param.NetworkLink("Associated Network Link")
     vtype = Param.CDCType('LINK_OBJECT',
               "Direction of CDC LINK->OBJECT or OBJECT->LINK")
@@ -64,7 +64,7 @@
 # Interior fixed pipeline links between routers
 class GarnetIntLink(BasicIntLink):
     type = 'GarnetIntLink'
-    cxx_header = "mem/ruby/network/garnet2.0/GarnetLink.hh"
+    cxx_header = "mem/ruby/network/garnet3.0/GarnetLink.hh"
     # The internal link includes one forward link (for flit)
     # and one backward flow-control link (for credit)
     network_link = Param.NetworkLink(NetworkLink(), "forward link")
@@ -101,7 +101,7 @@
 # Exterior fixed pipeline links between a router and a controller
 class GarnetExtLink(BasicExtLink):
     type = 'GarnetExtLink'
-    cxx_header = "mem/ruby/network/garnet2.0/GarnetLink.hh"
+    cxx_header = "mem/ruby/network/garnet3.0/GarnetLink.hh"
     # The external link is bi-directional.
     # It includes two forward links (for flits)
     # and two backward flow-control links (for credits),
diff --git a/src/mem/ruby/network/garnet2.0/GarnetNetwork.cc b/src/mem/ruby/network/garnet3.0/GarnetNetwork.cc
similarity index 97%
rename from src/mem/ruby/network/garnet2.0/GarnetNetwork.cc
rename to src/mem/ruby/network/garnet3.0/GarnetNetwork.cc
index bcc476f..d8d7e24 100644
--- a/src/mem/ruby/network/garnet2.0/GarnetNetwork.cc
+++ b/src/mem/ruby/network/garnet3.0/GarnetNetwork.cc
@@ -29,7 +29,7 @@
  */


-#include "mem/ruby/network/garnet2.0/GarnetNetwork.hh"
+#include "mem/ruby/network/garnet3.0/GarnetNetwork.hh"

 #include <cassert>

@@ -37,12 +37,12 @@
 #include "debug/RubyNetwork.hh"
 #include "mem/ruby/common/NetDest.hh"
 #include "mem/ruby/network/MessageBuffer.hh"
-#include "mem/ruby/network/garnet2.0/CommonTypes.hh"
-#include "mem/ruby/network/garnet2.0/CreditLink.hh"
-#include "mem/ruby/network/garnet2.0/GarnetLink.hh"
-#include "mem/ruby/network/garnet2.0/NetworkInterface.hh"
-#include "mem/ruby/network/garnet2.0/NetworkLink.hh"
-#include "mem/ruby/network/garnet2.0/Router.hh"
+#include "mem/ruby/network/garnet3.0/CommonTypes.hh"
+#include "mem/ruby/network/garnet3.0/CreditLink.hh"
+#include "mem/ruby/network/garnet3.0/GarnetLink.hh"
+#include "mem/ruby/network/garnet3.0/NetworkInterface.hh"
+#include "mem/ruby/network/garnet3.0/NetworkLink.hh"
+#include "mem/ruby/network/garnet3.0/Router.hh"
 #include "mem/ruby/system/RubySystem.hh"

 using namespace std;
diff --git a/src/mem/ruby/network/garnet2.0/GarnetNetwork.hh b/src/mem/ruby/network/garnet3.0/GarnetNetwork.hh
similarity index 96%
rename from src/mem/ruby/network/garnet2.0/GarnetNetwork.hh
rename to src/mem/ruby/network/garnet3.0/GarnetNetwork.hh
index bb4b24a..459e0c1 100644
--- a/src/mem/ruby/network/garnet2.0/GarnetNetwork.hh
+++ b/src/mem/ruby/network/garnet3.0/GarnetNetwork.hh
@@ -29,15 +29,15 @@
  */


-#ifndef __MEM_RUBY_NETWORK_GARNET2_0_GARNETNETWORK_HH__
-#define __MEM_RUBY_NETWORK_GARNET2_0_GARNETNETWORK_HH__
+#ifndef __MEM_RUBY_NETWORK_GARNET3_0_GARNETNETWORK_HH__
+#define __MEM_RUBY_NETWORK_GARNET3_0_GARNETNETWORK_HH__

 #include <iostream>
 #include <vector>

 #include "mem/ruby/network/Network.hh"
 #include "mem/ruby/network/fault_model/FaultModel.hh"
-#include "mem/ruby/network/garnet2.0/CommonTypes.hh"
+#include "mem/ruby/network/garnet3.0/CommonTypes.hh"
 #include "params/GarnetNetwork.hh"

 class FaultModel;
@@ -202,4 +202,4 @@
     return out;
 }

-#endif //__MEM_RUBY_NETWORK_GARNET2_0_GARNETNETWORK_HH__
+#endif //__MEM_RUBY_NETWORK_GARNET3_0_GARNETNETWORK_HH__
diff --git a/src/mem/ruby/network/garnet2.0/GarnetNetwork.py b/src/mem/ruby/network/garnet3.0/GarnetNetwork.py
similarity index 94%
rename from src/mem/ruby/network/garnet2.0/GarnetNetwork.py
rename to src/mem/ruby/network/garnet3.0/GarnetNetwork.py
index 012ab60..a9235cb 100644
--- a/src/mem/ruby/network/garnet2.0/GarnetNetwork.py
+++ b/src/mem/ruby/network/garnet3.0/GarnetNetwork.py
@@ -36,7 +36,7 @@

 class GarnetNetwork(RubyNetwork):
     type = 'GarnetNetwork'
-    cxx_header = "mem/ruby/network/garnet2.0/GarnetNetwork.hh"
+    cxx_header = "mem/ruby/network/garnet3.0/GarnetNetwork.hh"
num_rows = Param.Int(0, "number of rows if 2D (mesh/torus/..) topology");
     ni_flit_size = Param.UInt32(16, "network interface flit size in bytes")
     vcs_per_vnet = Param.UInt32(4, "virtual channels per virtual network");
@@ -52,7 +52,7 @@
 class GarnetNetworkInterface(ClockedObject):
     type = 'GarnetNetworkInterface'
     cxx_class = 'NetworkInterface'
-    cxx_header = "mem/ruby/network/garnet2.0/NetworkInterface.hh"
+    cxx_header = "mem/ruby/network/garnet3.0/NetworkInterface.hh"

     id = Param.UInt32("ID in relation to other network interfaces")
     vcs_per_vnet = Param.UInt32(Parent.vcs_per_vnet,
@@ -65,7 +65,7 @@
 class GarnetRouter(BasicRouter):
     type = 'GarnetRouter'
     cxx_class = 'Router'
-    cxx_header = "mem/ruby/network/garnet2.0/Router.hh"
+    cxx_header = "mem/ruby/network/garnet3.0/Router.hh"
     vcs_per_vnet = Param.UInt32(Parent.vcs_per_vnet,
                               "virtual channels per virtual network")
     virt_nets = Param.UInt32(Parent.number_of_virtual_networks,
diff --git a/src/mem/ruby/network/garnet2.0/InputUnit.cc b/src/mem/ruby/network/garnet3.0/InputUnit.cc
similarity index 97%
rename from src/mem/ruby/network/garnet2.0/InputUnit.cc
rename to src/mem/ruby/network/garnet3.0/InputUnit.cc
index db24aef..918355a 100644
--- a/src/mem/ruby/network/garnet2.0/InputUnit.cc
+++ b/src/mem/ruby/network/garnet3.0/InputUnit.cc
@@ -29,11 +29,11 @@
  */


-#include "mem/ruby/network/garnet2.0/InputUnit.hh"
+#include "mem/ruby/network/garnet3.0/InputUnit.hh"

 #include "debug/RubyNetwork.hh"
-#include "mem/ruby/network/garnet2.0/Credit.hh"
-#include "mem/ruby/network/garnet2.0/Router.hh"
+#include "mem/ruby/network/garnet3.0/Credit.hh"
+#include "mem/ruby/network/garnet3.0/Router.hh"

 using namespace std;

diff --git a/src/mem/ruby/network/garnet2.0/InputUnit.hh b/src/mem/ruby/network/garnet3.0/InputUnit.hh
similarity index 89%
rename from src/mem/ruby/network/garnet2.0/InputUnit.hh
rename to src/mem/ruby/network/garnet3.0/InputUnit.hh
index 40ef251..c6aeb3f 100644
--- a/src/mem/ruby/network/garnet2.0/InputUnit.hh
+++ b/src/mem/ruby/network/garnet3.0/InputUnit.hh
@@ -29,19 +29,19 @@
  */


-#ifndef __MEM_RUBY_NETWORK_GARNET2_0_INPUTUNIT_HH__
-#define __MEM_RUBY_NETWORK_GARNET2_0_INPUTUNIT_HH__
+#ifndef __MEM_RUBY_NETWORK_GARNET3_0_INPUTUNIT_HH__
+#define __MEM_RUBY_NETWORK_GARNET3_0_INPUTUNIT_HH__

 #include <iostream>
 #include <vector>

 #include "mem/ruby/common/Consumer.hh"
-#include "mem/ruby/network/garnet2.0/CommonTypes.hh"
-#include "mem/ruby/network/garnet2.0/CreditLink.hh"
-#include "mem/ruby/network/garnet2.0/NetworkLink.hh"
-#include "mem/ruby/network/garnet2.0/Router.hh"
-#include "mem/ruby/network/garnet2.0/VirtualChannel.hh"
-#include "mem/ruby/network/garnet2.0/flitBuffer.hh"
+#include "mem/ruby/network/garnet3.0/CommonTypes.hh"
+#include "mem/ruby/network/garnet3.0/CreditLink.hh"
+#include "mem/ruby/network/garnet3.0/NetworkLink.hh"
+#include "mem/ruby/network/garnet3.0/Router.hh"
+#include "mem/ruby/network/garnet3.0/VirtualChannel.hh"
+#include "mem/ruby/network/garnet3.0/flitBuffer.hh"

 class InputUnit : public Consumer
 {
@@ -163,4 +163,4 @@
     std::vector<double> m_num_buffer_reads;
 };

-#endif // __MEM_RUBY_NETWORK_GARNET2_0_INPUTUNIT_HH__
+#endif // __MEM_RUBY_NETWORK_GARNET3_0_INPUTUNIT_HH__
diff --git a/src/mem/ruby/network/garnet2.0/NetworkBridge.cc b/src/mem/ruby/network/garnet3.0/NetworkBridge.cc
similarity index 99%
rename from src/mem/ruby/network/garnet2.0/NetworkBridge.cc
rename to src/mem/ruby/network/garnet3.0/NetworkBridge.cc
index e7d340a..2f94fc8 100644
--- a/src/mem/ruby/network/garnet2.0/NetworkBridge.cc
+++ b/src/mem/ruby/network/garnet3.0/NetworkBridge.cc
@@ -34,7 +34,7 @@
  */


-#include "mem/ruby/network/garnet2.0/NetworkBridge.hh"
+#include "mem/ruby/network/garnet3.0/NetworkBridge.hh"

 #include <cmath>

diff --git a/src/mem/ruby/network/garnet2.0/NetworkBridge.hh b/src/mem/ruby/network/garnet3.0/NetworkBridge.hh
similarity index 86%
rename from src/mem/ruby/network/garnet2.0/NetworkBridge.hh
rename to src/mem/ruby/network/garnet3.0/NetworkBridge.hh
index 0e8ac0c..2ac4582 100644
--- a/src/mem/ruby/network/garnet2.0/NetworkBridge.hh
+++ b/src/mem/ruby/network/garnet3.0/NetworkBridge.hh
@@ -33,19 +33,19 @@
  * Authors: Srikant Bharadwaj
  */

-#ifndef __MEM_RUBY_NETWORK_GARNET2_0_NETWORK_BRIDGE_HH__
-#define __MEM_RUBY_NETWORK_GARNET2_0_NETWORK_BRIDGE_HH__
+#ifndef __MEM_RUBY_NETWORK_GARNET3_0_NETWORK_BRIDGE_HH__
+#define __MEM_RUBY_NETWORK_GARNET3_0_NETWORK_BRIDGE_HH__

 #include <iostream>
 #include <queue>
 #include <vector>

 #include "mem/ruby/common/Consumer.hh"
-#include "mem/ruby/network/garnet2.0/CommonTypes.hh"
-#include "mem/ruby/network/garnet2.0/CreditLink.hh"
-#include "mem/ruby/network/garnet2.0/GarnetLink.hh"
-#include "mem/ruby/network/garnet2.0/NetworkLink.hh"
-#include "mem/ruby/network/garnet2.0/flitBuffer.hh"
+#include "mem/ruby/network/garnet3.0/CommonTypes.hh"
+#include "mem/ruby/network/garnet3.0/CreditLink.hh"
+#include "mem/ruby/network/garnet3.0/GarnetLink.hh"
+#include "mem/ruby/network/garnet3.0/NetworkLink.hh"
+#include "mem/ruby/network/garnet3.0/flitBuffer.hh"
 #include "params/NetworkBridge.hh"

 class GarnetNetwork;
@@ -97,4 +97,4 @@

 };

-#endif // __MEM_RUBY_NETWORK_GARNET2_0_NETWORK_BRIDGE_HH__
+#endif // __MEM_RUBY_NETWORK_GARNET3_0_NETWORK_BRIDGE_HH__
diff --git a/src/mem/ruby/network/garnet2.0/NetworkInterface.cc b/src/mem/ruby/network/garnet3.0/NetworkInterface.cc
similarity index 99%
rename from src/mem/ruby/network/garnet2.0/NetworkInterface.cc
rename to src/mem/ruby/network/garnet3.0/NetworkInterface.cc
index 1b3c262..4102f51 100644
--- a/src/mem/ruby/network/garnet2.0/NetworkInterface.cc
+++ b/src/mem/ruby/network/garnet3.0/NetworkInterface.cc
@@ -30,7 +30,7 @@
  */


-#include "mem/ruby/network/garnet2.0/NetworkInterface.hh"
+#include "mem/ruby/network/garnet3.0/NetworkInterface.hh"

 #include <cassert>
 #include <cmath>
@@ -38,8 +38,8 @@
 #include "base/cast.hh"
 #include "debug/RubyNetwork.hh"
 #include "mem/ruby/network/MessageBuffer.hh"
-#include "mem/ruby/network/garnet2.0/Credit.hh"
-#include "mem/ruby/network/garnet2.0/flitBuffer.hh"
+#include "mem/ruby/network/garnet3.0/Credit.hh"
+#include "mem/ruby/network/garnet3.0/flitBuffer.hh"
 #include "mem/ruby/slicc_interface/Message.hh"

 using namespace std;
diff --git a/src/mem/ruby/network/garnet2.0/NetworkInterface.hh b/src/mem/ruby/network/garnet3.0/NetworkInterface.hh
similarity index 93%
rename from src/mem/ruby/network/garnet2.0/NetworkInterface.hh
rename to src/mem/ruby/network/garnet3.0/NetworkInterface.hh
index 09a13d9..881d220 100644
--- a/src/mem/ruby/network/garnet2.0/NetworkInterface.hh
+++ b/src/mem/ruby/network/garnet3.0/NetworkInterface.hh
@@ -30,19 +30,19 @@
  */


-#ifndef __MEM_RUBY_NETWORK_GARNET2_0_NETWORKINTERFACE_HH__
-#define __MEM_RUBY_NETWORK_GARNET2_0_NETWORKINTERFACE_HH__
+#ifndef __MEM_RUBY_NETWORK_GARNET3_0_NETWORKINTERFACE_HH__
+#define __MEM_RUBY_NETWORK_GARNET3_0_NETWORKINTERFACE_HH__

 #include <iostream>
 #include <vector>

 #include "mem/ruby/common/Consumer.hh"
-#include "mem/ruby/network/garnet2.0/CommonTypes.hh"
-#include "mem/ruby/network/garnet2.0/Credit.hh"
-#include "mem/ruby/network/garnet2.0/CreditLink.hh"
-#include "mem/ruby/network/garnet2.0/GarnetNetwork.hh"
-#include "mem/ruby/network/garnet2.0/NetworkLink.hh"
-#include "mem/ruby/network/garnet2.0/OutVcState.hh"
+#include "mem/ruby/network/garnet3.0/CommonTypes.hh"
+#include "mem/ruby/network/garnet3.0/Credit.hh"
+#include "mem/ruby/network/garnet3.0/CreditLink.hh"
+#include "mem/ruby/network/garnet3.0/GarnetNetwork.hh"
+#include "mem/ruby/network/garnet3.0/NetworkLink.hh"
+#include "mem/ruby/network/garnet3.0/OutVcState.hh"
 #include "mem/ruby/slicc_interface/Message.hh"
 #include "params/GarnetNetworkInterface.hh"

@@ -297,4 +297,4 @@
     OutputPort *getOutportForVnet(int vnet);
 };

-#endif // __MEM_RUBY_NETWORK_GARNET2_0_NETWORKINTERFACE_HH__
+#endif // __MEM_RUBY_NETWORK_GARNET3_0_NETWORKINTERFACE_HH__
diff --git a/src/mem/ruby/network/garnet2.0/NetworkLink.cc b/src/mem/ruby/network/garnet3.0/NetworkLink.cc
similarity index 97%
rename from src/mem/ruby/network/garnet2.0/NetworkLink.cc
rename to src/mem/ruby/network/garnet3.0/NetworkLink.cc
index e947781..46c345d 100644
--- a/src/mem/ruby/network/garnet2.0/NetworkLink.cc
+++ b/src/mem/ruby/network/garnet3.0/NetworkLink.cc
@@ -30,11 +30,11 @@
  */


-#include "mem/ruby/network/garnet2.0/NetworkLink.hh"
+#include "mem/ruby/network/garnet3.0/NetworkLink.hh"

 #include "base/trace.hh"
 #include "debug/RubyNetwork.hh"
-#include "mem/ruby/network/garnet2.0/CreditLink.hh"
+#include "mem/ruby/network/garnet3.0/CreditLink.hh"

 NetworkLink::NetworkLink(const Params *p)
     : ClockedObject(p), Consumer(this), m_id(p->link_id),
diff --git a/src/mem/ruby/network/garnet2.0/NetworkLink.hh b/src/mem/ruby/network/garnet3.0/NetworkLink.hh
similarity index 92%
rename from src/mem/ruby/network/garnet2.0/NetworkLink.hh
rename to src/mem/ruby/network/garnet3.0/NetworkLink.hh
index 9cf2efb..1ab3235 100644
--- a/src/mem/ruby/network/garnet2.0/NetworkLink.hh
+++ b/src/mem/ruby/network/garnet3.0/NetworkLink.hh
@@ -30,15 +30,15 @@
  */


-#ifndef __MEM_RUBY_NETWORK_GARNET2_0_NETWORKLINK_HH__
-#define __MEM_RUBY_NETWORK_GARNET2_0_NETWORKLINK_HH__
+#ifndef __MEM_RUBY_NETWORK_GARNET3_0_NETWORKLINK_HH__
+#define __MEM_RUBY_NETWORK_GARNET3_0_NETWORKLINK_HH__

 #include <iostream>
 #include <vector>

 #include "mem/ruby/common/Consumer.hh"
-#include "mem/ruby/network/garnet2.0/CommonTypes.hh"
-#include "mem/ruby/network/garnet2.0/flitBuffer.hh"
+#include "mem/ruby/network/garnet3.0/CommonTypes.hh"
+#include "mem/ruby/network/garnet3.0/flitBuffer.hh"
 #include "params/NetworkLink.hh"
 #include "sim/clocked_object.hh"

@@ -97,4 +97,4 @@

 };

-#endif // __MEM_RUBY_NETWORK_GARNET2_0_NETWORKLINK_HH__
+#endif // __MEM_RUBY_NETWORK_GARNET3_0_NETWORKLINK_HH__
diff --git a/src/mem/ruby/network/garnet2.0/OutVcState.cc b/src/mem/ruby/network/garnet3.0/OutVcState.cc
similarity index 97%
rename from src/mem/ruby/network/garnet2.0/OutVcState.cc
rename to src/mem/ruby/network/garnet3.0/OutVcState.cc
index 812038d..563b1f3 100644
--- a/src/mem/ruby/network/garnet2.0/OutVcState.cc
+++ b/src/mem/ruby/network/garnet3.0/OutVcState.cc
@@ -28,7 +28,7 @@
  */


-#include "mem/ruby/network/garnet2.0/OutVcState.hh"
+#include "mem/ruby/network/garnet3.0/OutVcState.hh"

 #include "mem/ruby/system/RubySystem.hh"

diff --git a/src/mem/ruby/network/garnet2.0/OutVcState.hh b/src/mem/ruby/network/garnet3.0/OutVcState.hh
similarity index 89%
rename from src/mem/ruby/network/garnet2.0/OutVcState.hh
rename to src/mem/ruby/network/garnet3.0/OutVcState.hh
index 915c46f..72efe34 100644
--- a/src/mem/ruby/network/garnet2.0/OutVcState.hh
+++ b/src/mem/ruby/network/garnet3.0/OutVcState.hh
@@ -28,11 +28,11 @@
  */


-#ifndef __MEM_RUBY_NETWORK_GARNET2_0_OUTVCSTATE_HH__
-#define __MEM_RUBY_NETWORK_GARNET2_0_OUTVCSTATE_HH__
+#ifndef __MEM_RUBY_NETWORK_GARNET3_0_OUTVCSTATE_HH__
+#define __MEM_RUBY_NETWORK_GARNET3_0_OUTVCSTATE_HH__

-#include "mem/ruby/network/garnet2.0/CommonTypes.hh"
-#include "mem/ruby/network/garnet2.0/GarnetNetwork.hh"
+#include "mem/ruby/network/garnet3.0/CommonTypes.hh"
+#include "mem/ruby/network/garnet3.0/GarnetNetwork.hh"

 class OutVcState
 {
@@ -64,4 +64,4 @@
     int m_max_credit_count;
 };

-#endif //__MEM_RUBY_NETWORK_GARNET2_0_OUTVCSTATE_HH__
+#endif //__MEM_RUBY_NETWORK_GARNET3_0_OUTVCSTATE_HH__
diff --git a/src/mem/ruby/network/garnet2.0/OutputUnit.cc b/src/mem/ruby/network/garnet3.0/OutputUnit.cc
similarity index 95%
rename from src/mem/ruby/network/garnet2.0/OutputUnit.cc
rename to src/mem/ruby/network/garnet3.0/OutputUnit.cc
index dfa63e3..8be6e16 100644
--- a/src/mem/ruby/network/garnet2.0/OutputUnit.cc
+++ b/src/mem/ruby/network/garnet3.0/OutputUnit.cc
@@ -29,13 +29,13 @@
  */


-#include "mem/ruby/network/garnet2.0/OutputUnit.hh"
+#include "mem/ruby/network/garnet3.0/OutputUnit.hh"

 #include "debug/RubyNetwork.hh"
-#include "mem/ruby/network/garnet2.0/Credit.hh"
-#include "mem/ruby/network/garnet2.0/CreditLink.hh"
-#include "mem/ruby/network/garnet2.0/Router.hh"
-#include "mem/ruby/network/garnet2.0/flitBuffer.hh"
+#include "mem/ruby/network/garnet3.0/Credit.hh"
+#include "mem/ruby/network/garnet3.0/CreditLink.hh"
+#include "mem/ruby/network/garnet3.0/Router.hh"
+#include "mem/ruby/network/garnet3.0/flitBuffer.hh"

 OutputUnit::OutputUnit(int id, PortDirection direction, Router *router,
   uint32_t consumerVcs)
diff --git a/src/mem/ruby/network/garnet2.0/OutputUnit.hh b/src/mem/ruby/network/garnet3.0/OutputUnit.hh
similarity index 91%
rename from src/mem/ruby/network/garnet2.0/OutputUnit.hh
rename to src/mem/ruby/network/garnet3.0/OutputUnit.hh
index 3e80dde..fe560a1 100644
--- a/src/mem/ruby/network/garnet2.0/OutputUnit.hh
+++ b/src/mem/ruby/network/garnet3.0/OutputUnit.hh
@@ -29,17 +29,17 @@
  */


-#ifndef __MEM_RUBY_NETWORK_GARNET2_0_OUTPUTUNIT_HH__
-#define __MEM_RUBY_NETWORK_GARNET2_0_OUTPUTUNIT_HH__
+#ifndef __MEM_RUBY_NETWORK_GARNET3_0_OUTPUTUNIT_HH__
+#define __MEM_RUBY_NETWORK_GARNET3_0_OUTPUTUNIT_HH__

 #include <iostream>
 #include <vector>

 #include "base/compiler.hh"
 #include "mem/ruby/common/Consumer.hh"
-#include "mem/ruby/network/garnet2.0/CommonTypes.hh"
-#include "mem/ruby/network/garnet2.0/NetworkLink.hh"
-#include "mem/ruby/network/garnet2.0/OutVcState.hh"
+#include "mem/ruby/network/garnet3.0/CommonTypes.hh"
+#include "mem/ruby/network/garnet3.0/NetworkLink.hh"
+#include "mem/ruby/network/garnet3.0/OutVcState.hh"

 class CreditLink;
 class Router;
@@ -111,4 +111,4 @@
     std::vector<OutVcState> outVcState;
 };

-#endif // __MEM_RUBY_NETWORK_GARNET2_0_OUTPUTUNIT_HH__
+#endif // __MEM_RUBY_NETWORK_GARNET3_0_OUTPUTUNIT_HH__
diff --git a/src/mem/ruby/network/garnet2.0/README.txt b/src/mem/ruby/network/garnet3.0/README.txt
similarity index 89%
rename from src/mem/ruby/network/garnet2.0/README.txt
rename to src/mem/ruby/network/garnet3.0/README.txt
index 817b1d4..6425c02 100644
--- a/src/mem/ruby/network/garnet2.0/README.txt
+++ b/src/mem/ruby/network/garnet3.0/README.txt
@@ -1,6 +1,6 @@
-README for Garnet2.0
+README for Garnet3.0
 Written By: Tushar Krishna (tus...@ece.gatech.edu)
-Last Updated: Jul 9, 2016
+Last Updated: Sep 9, 2020
 -------------------------------------------------------

 Garnet Network Parameters and Setup:
@@ -15,7 +15,7 @@
 - NetworkInterface.cc::wakeup()
* Every NI connected to one coherence protocol controller on one end, and one router on the other. * receives messages from coherence protocol buffer in appropriate vnet and converts them into network packets and sends them into the network. - * garnet2.0 adds the ability to capture a network trace at this point. + * garnet3.0 adds the ability to capture a network trace at this point. * receives flits from the network, extracts the protocol message and sends it to the coherence protocol buffer in appropriate vnet.
     * manages flow-control (i.e., credits) with its attached router.
* The consuming flit/credit output link of the NI is put in the global event queue with a timestamp set to next cycle.
@@ -69,3 +69,11 @@
       The eventqueue calls the wakeup function in the consumer.


+If a clock domain crossing(CDC) or Serializer-Deserializer unit is
+instantiated, then the Network Brisge takes over the flit in HeteroGarnet.
+- NetworkBridge::wakeup()
+    * Check if SerDes is enabled and do appropriate calculations for
+    serializing or deserializing the flits
+    * Check if CDC is enabled and schedule all the flits according
+    to the consumers clock domain.
+
diff --git a/src/mem/ruby/network/garnet2.0/Router.cc b/src/mem/ruby/network/garnet3.0/Router.cc
similarity index 96%
rename from src/mem/ruby/network/garnet2.0/Router.cc
rename to src/mem/ruby/network/garnet3.0/Router.cc
index 9802b69..61cedc7 100644
--- a/src/mem/ruby/network/garnet2.0/Router.cc
+++ b/src/mem/ruby/network/garnet3.0/Router.cc
@@ -30,14 +30,14 @@
  */


-#include "mem/ruby/network/garnet2.0/Router.hh"
+#include "mem/ruby/network/garnet3.0/Router.hh"

 #include "debug/RubyNetwork.hh"
-#include "mem/ruby/network/garnet2.0/CreditLink.hh"
-#include "mem/ruby/network/garnet2.0/GarnetNetwork.hh"
-#include "mem/ruby/network/garnet2.0/InputUnit.hh"
-#include "mem/ruby/network/garnet2.0/NetworkLink.hh"
-#include "mem/ruby/network/garnet2.0/OutputUnit.hh"
+#include "mem/ruby/network/garnet3.0/CreditLink.hh"
+#include "mem/ruby/network/garnet3.0/GarnetNetwork.hh"
+#include "mem/ruby/network/garnet3.0/InputUnit.hh"
+#include "mem/ruby/network/garnet3.0/NetworkLink.hh"
+#include "mem/ruby/network/garnet3.0/OutputUnit.hh"

 using namespace std;

diff --git a/src/mem/ruby/network/garnet2.0/Router.hh b/src/mem/ruby/network/garnet3.0/Router.hh
similarity index 91%
rename from src/mem/ruby/network/garnet2.0/Router.hh
rename to src/mem/ruby/network/garnet3.0/Router.hh
index 312ab4d..a0f6786 100644
--- a/src/mem/ruby/network/garnet2.0/Router.hh
+++ b/src/mem/ruby/network/garnet3.0/Router.hh
@@ -29,8 +29,8 @@
  */


-#ifndef __MEM_RUBY_NETWORK_GARNET2_0_ROUTER_HH__
-#define __MEM_RUBY_NETWORK_GARNET2_0_ROUTER_HH__
+#ifndef __MEM_RUBY_NETWORK_GARNET3_0_ROUTER_HH__
+#define __MEM_RUBY_NETWORK_GARNET3_0_ROUTER_HH__

 #include <iostream>
 #include <memory>
@@ -39,12 +39,12 @@
 #include "mem/ruby/common/Consumer.hh"
 #include "mem/ruby/common/NetDest.hh"
 #include "mem/ruby/network/BasicRouter.hh"
-#include "mem/ruby/network/garnet2.0/CommonTypes.hh"
-#include "mem/ruby/network/garnet2.0/CrossbarSwitch.hh"
-#include "mem/ruby/network/garnet2.0/GarnetNetwork.hh"
-#include "mem/ruby/network/garnet2.0/RoutingUnit.hh"
-#include "mem/ruby/network/garnet2.0/SwitchAllocator.hh"
-#include "mem/ruby/network/garnet2.0/flit.hh"
+#include "mem/ruby/network/garnet3.0/CommonTypes.hh"
+#include "mem/ruby/network/garnet3.0/CrossbarSwitch.hh"
+#include "mem/ruby/network/garnet3.0/GarnetNetwork.hh"
+#include "mem/ruby/network/garnet3.0/RoutingUnit.hh"
+#include "mem/ruby/network/garnet3.0/SwitchAllocator.hh"
+#include "mem/ruby/network/garnet3.0/flit.hh"
 #include "params/GarnetRouter.hh"

 class NetworkLink;
@@ -154,4 +154,4 @@
     Stats::Scalar m_crossbar_activity;
 };

-#endif // __MEM_RUBY_NETWORK_GARNET2_0_ROUTER_HH__
+#endif // __MEM_RUBY_NETWORK_GARNET3_0_ROUTER_HH__
diff --git a/src/mem/ruby/network/garnet2.0/RoutingUnit.cc b/src/mem/ruby/network/garnet3.0/RoutingUnit.cc
similarity index 98%
rename from src/mem/ruby/network/garnet2.0/RoutingUnit.cc
rename to src/mem/ruby/network/garnet3.0/RoutingUnit.cc
index 5ba0dec..7b71d4f 100644
--- a/src/mem/ruby/network/garnet2.0/RoutingUnit.cc
+++ b/src/mem/ruby/network/garnet3.0/RoutingUnit.cc
@@ -28,12 +28,12 @@
  */


-#include "mem/ruby/network/garnet2.0/RoutingUnit.hh"
+#include "mem/ruby/network/garnet3.0/RoutingUnit.hh"

 #include "base/cast.hh"
 #include "debug/RubyNetwork.hh"
-#include "mem/ruby/network/garnet2.0/InputUnit.hh"
-#include "mem/ruby/network/garnet2.0/Router.hh"
+#include "mem/ruby/network/garnet3.0/InputUnit.hh"
+#include "mem/ruby/network/garnet3.0/Router.hh"
 #include "mem/ruby/slicc_interface/Message.hh"

 RoutingUnit::RoutingUnit(Router *router)
diff --git a/src/mem/ruby/network/garnet2.0/RoutingUnit.hh b/src/mem/ruby/network/garnet3.0/RoutingUnit.hh
similarity index 91%
rename from src/mem/ruby/network/garnet2.0/RoutingUnit.hh
rename to src/mem/ruby/network/garnet3.0/RoutingUnit.hh
index a0ed901..036170a 100644
--- a/src/mem/ruby/network/garnet2.0/RoutingUnit.hh
+++ b/src/mem/ruby/network/garnet3.0/RoutingUnit.hh
@@ -28,14 +28,14 @@
  */


-#ifndef __MEM_RUBY_NETWORK_GARNET2_0_ROUTINGUNIT_HH__
-#define __MEM_RUBY_NETWORK_GARNET2_0_ROUTINGUNIT_HH__
+#ifndef __MEM_RUBY_NETWORK_GARNET3_0_ROUTINGUNIT_HH__
+#define __MEM_RUBY_NETWORK_GARNET3_0_ROUTINGUNIT_HH__

 #include "mem/ruby/common/Consumer.hh"
 #include "mem/ruby/common/NetDest.hh"
-#include "mem/ruby/network/garnet2.0/CommonTypes.hh"
-#include "mem/ruby/network/garnet2.0/GarnetNetwork.hh"
-#include "mem/ruby/network/garnet2.0/flit.hh"
+#include "mem/ruby/network/garnet3.0/CommonTypes.hh"
+#include "mem/ruby/network/garnet3.0/GarnetNetwork.hh"
+#include "mem/ruby/network/garnet3.0/flit.hh"

 class InputUnit;
 class Router;
@@ -88,4 +88,4 @@
     std::map<PortDirection, int> m_outports_dirn2idx;
 };

-#endif // __MEM_RUBY_NETWORK_GARNET2_0_ROUTINGUNIT_HH__
+#endif // __MEM_RUBY_NETWORK_GARNET3_0_ROUTINGUNIT_HH__
diff --git a/src/mem/ruby/network/garnet2.0/SConscript b/src/mem/ruby/network/garnet3.0/SConscript
similarity index 100%
rename from src/mem/ruby/network/garnet2.0/SConscript
rename to src/mem/ruby/network/garnet3.0/SConscript
diff --git a/src/mem/ruby/network/garnet2.0/SwitchAllocator.cc b/src/mem/ruby/network/garnet3.0/SwitchAllocator.cc
similarity index 97%
rename from src/mem/ruby/network/garnet2.0/SwitchAllocator.cc
rename to src/mem/ruby/network/garnet3.0/SwitchAllocator.cc
index 1ed6de1..2d1e4e2 100644
--- a/src/mem/ruby/network/garnet2.0/SwitchAllocator.cc
+++ b/src/mem/ruby/network/garnet3.0/SwitchAllocator.cc
@@ -29,13 +29,13 @@
  */


-#include "mem/ruby/network/garnet2.0/SwitchAllocator.hh"
+#include "mem/ruby/network/garnet3.0/SwitchAllocator.hh"

 #include "debug/RubyNetwork.hh"
-#include "mem/ruby/network/garnet2.0/GarnetNetwork.hh"
-#include "mem/ruby/network/garnet2.0/InputUnit.hh"
-#include "mem/ruby/network/garnet2.0/OutputUnit.hh"
-#include "mem/ruby/network/garnet2.0/Router.hh"
+#include "mem/ruby/network/garnet3.0/GarnetNetwork.hh"
+#include "mem/ruby/network/garnet3.0/InputUnit.hh"
+#include "mem/ruby/network/garnet3.0/OutputUnit.hh"
+#include "mem/ruby/network/garnet3.0/Router.hh"

 SwitchAllocator::SwitchAllocator(Router *router)
     : Consumer(router)
diff --git a/src/mem/ruby/network/garnet2.0/SwitchAllocator.hh b/src/mem/ruby/network/garnet3.0/SwitchAllocator.hh
similarity index 92%
rename from src/mem/ruby/network/garnet2.0/SwitchAllocator.hh
rename to src/mem/ruby/network/garnet3.0/SwitchAllocator.hh
index b309735..6352491 100644
--- a/src/mem/ruby/network/garnet2.0/SwitchAllocator.hh
+++ b/src/mem/ruby/network/garnet3.0/SwitchAllocator.hh
@@ -29,14 +29,14 @@
  */


-#ifndef __MEM_RUBY_NETWORK_GARNET2_0_SWITCHALLOCATOR_HH__
-#define __MEM_RUBY_NETWORK_GARNET2_0_SWITCHALLOCATOR_HH__
+#ifndef __MEM_RUBY_NETWORK_GARNET3_0_SWITCHALLOCATOR_HH__
+#define __MEM_RUBY_NETWORK_GARNET3_0_SWITCHALLOCATOR_HH__

 #include <iostream>
 #include <vector>

 #include "mem/ruby/common/Consumer.hh"
-#include "mem/ruby/network/garnet2.0/CommonTypes.hh"
+#include "mem/ruby/network/garnet3.0/CommonTypes.hh"

 class Router;
 class InputUnit;
@@ -83,4 +83,4 @@
     std::vector<std::vector<int>> m_vc_winners; // a list for each outport
 };

-#endif // __MEM_RUBY_NETWORK_GARNET2_0_SWITCHALLOCATOR_HH__
+#endif // __MEM_RUBY_NETWORK_GARNET3_0_SWITCHALLOCATOR_HH__
diff --git a/src/mem/ruby/network/garnet2.0/VirtualChannel.cc b/src/mem/ruby/network/garnet3.0/VirtualChannel.cc
similarity index 97%
rename from src/mem/ruby/network/garnet2.0/VirtualChannel.cc
rename to src/mem/ruby/network/garnet3.0/VirtualChannel.cc
index 0b53983..d8dea68 100644
--- a/src/mem/ruby/network/garnet2.0/VirtualChannel.cc
+++ b/src/mem/ruby/network/garnet3.0/VirtualChannel.cc
@@ -29,7 +29,7 @@
  */


-#include "mem/ruby/network/garnet2.0/VirtualChannel.hh"
+#include "mem/ruby/network/garnet3.0/VirtualChannel.hh"

 VirtualChannel::VirtualChannel()
   : inputBuffer(), m_vc_state(IDLE_, Tick(0)), m_output_port(-1),
diff --git a/src/mem/ruby/network/garnet2.0/VirtualChannel.hh b/src/mem/ruby/network/garnet3.0/VirtualChannel.hh
similarity index 91%
rename from src/mem/ruby/network/garnet2.0/VirtualChannel.hh
rename to src/mem/ruby/network/garnet3.0/VirtualChannel.hh
index f206299..1ad91e0 100644
--- a/src/mem/ruby/network/garnet2.0/VirtualChannel.hh
+++ b/src/mem/ruby/network/garnet3.0/VirtualChannel.hh
@@ -29,13 +29,13 @@
  */


-#ifndef __MEM_RUBY_NETWORK_GARNET2_0_VIRTUALCHANNEL_HH__
-#define __MEM_RUBY_NETWORK_GARNET2_0_VIRTUALCHANNEL_HH__
+#ifndef __MEM_RUBY_NETWORK_GARNET3_0_VIRTUALCHANNEL_HH__
+#define __MEM_RUBY_NETWORK_GARNET3_0_VIRTUALCHANNEL_HH__

 #include <utility>

-#include "mem/ruby/network/garnet2.0/CommonTypes.hh"
-#include "mem/ruby/network/garnet2.0/flitBuffer.hh"
+#include "mem/ruby/network/garnet3.0/CommonTypes.hh"
+#include "mem/ruby/network/garnet3.0/flitBuffer.hh"

 class VirtualChannel
 {
@@ -96,4 +96,4 @@
     int m_output_vc;
 };

-#endif // __MEM_RUBY_NETWORK_GARNET2_0_VIRTUALCHANNEL_HH__
+#endif // __MEM_RUBY_NETWORK_GARNET3_0_VIRTUALCHANNEL_HH__
diff --git a/src/mem/ruby/network/garnet2.0/flit.cc b/src/mem/ruby/network/garnet3.0/flit.cc
similarity index 98%
rename from src/mem/ruby/network/garnet2.0/flit.cc
rename to src/mem/ruby/network/garnet3.0/flit.cc
index 28a79d4..bfbfe6e 100644
--- a/src/mem/ruby/network/garnet2.0/flit.cc
+++ b/src/mem/ruby/network/garnet3.0/flit.cc
@@ -28,7 +28,7 @@
  */


-#include "mem/ruby/network/garnet2.0/flit.hh"
+#include "mem/ruby/network/garnet3.0/flit.hh"

 #include "base/intmath.hh"
 #include "debug/RubyNetwork.hh"
diff --git a/src/mem/ruby/network/garnet2.0/flit.hh b/src/mem/ruby/network/garnet3.0/flit.hh
similarity index 95%
rename from src/mem/ruby/network/garnet2.0/flit.hh
rename to src/mem/ruby/network/garnet3.0/flit.hh
index 1bbd152..4cd410a 100644
--- a/src/mem/ruby/network/garnet2.0/flit.hh
+++ b/src/mem/ruby/network/garnet3.0/flit.hh
@@ -28,14 +28,14 @@
  */


-#ifndef __MEM_RUBY_NETWORK_GARNET2_0_FLIT_HH__
-#define __MEM_RUBY_NETWORK_GARNET2_0_FLIT_HH__
+#ifndef __MEM_RUBY_NETWORK_GARNET3_0_FLIT_HH__
+#define __MEM_RUBY_NETWORK_GARNET3_0_FLIT_HH__

 #include <cassert>
 #include <iostream>

 #include "base/types.hh"
-#include "mem/ruby/network/garnet2.0/CommonTypes.hh"
+#include "mem/ruby/network/garnet3.0/CommonTypes.hh"
 #include "mem/ruby/slicc_interface/Message.hh"

 class flit
@@ -127,4 +127,4 @@
     return out;
 }

-#endif // __MEM_RUBY_NETWORK_GARNET2_0_FLIT_HH__
+#endif // __MEM_RUBY_NETWORK_GARNET3_0_FLIT_HH__
diff --git a/src/mem/ruby/network/garnet2.0/flitBuffer.cc b/src/mem/ruby/network/garnet3.0/flitBuffer.cc
similarity index 97%
rename from src/mem/ruby/network/garnet2.0/flitBuffer.cc
rename to src/mem/ruby/network/garnet3.0/flitBuffer.cc
index c721639..973eca0 100644
--- a/src/mem/ruby/network/garnet2.0/flitBuffer.cc
+++ b/src/mem/ruby/network/garnet3.0/flitBuffer.cc
@@ -29,7 +29,7 @@
  */


-#include "mem/ruby/network/garnet2.0/flitBuffer.hh"
+#include "mem/ruby/network/garnet3.0/flitBuffer.hh"

 flitBuffer::flitBuffer()
 {
diff --git a/src/mem/ruby/network/garnet2.0/flitBuffer.hh b/src/mem/ruby/network/garnet3.0/flitBuffer.hh
similarity index 90%
rename from src/mem/ruby/network/garnet2.0/flitBuffer.hh
rename to src/mem/ruby/network/garnet3.0/flitBuffer.hh
index f98ecf6..e51c08b 100644
--- a/src/mem/ruby/network/garnet2.0/flitBuffer.hh
+++ b/src/mem/ruby/network/garnet3.0/flitBuffer.hh
@@ -28,15 +28,15 @@
  */


-#ifndef __MEM_RUBY_NETWORK_GARNET2_0_FLITBUFFER_HH__
-#define __MEM_RUBY_NETWORK_GARNET2_0_FLITBUFFER_HH__
+#ifndef __MEM_RUBY_NETWORK_GARNET3_0_FLITBUFFER_HH__
+#define __MEM_RUBY_NETWORK_GARNET3_0_FLITBUFFER_HH__

 #include <algorithm>
 #include <iostream>
 #include <vector>

-#include "mem/ruby/network/garnet2.0/CommonTypes.hh"
-#include "mem/ruby/network/garnet2.0/flit.hh"
+#include "mem/ruby/network/garnet3.0/CommonTypes.hh"
+#include "mem/ruby/network/garnet3.0/flit.hh"

 class flitBuffer
 {
@@ -88,4 +88,4 @@
     return out;
 }

-#endif // __MEM_RUBY_NETWORK_GARNET2_0_FLITBUFFER_HH__
+#endif // __MEM_RUBY_NETWORK_GARNET3_0_FLITBUFFER_HH__

--
To view, visit https://gem5-review.googlesource.com/c/public/gem5/+/34259
To unsubscribe, or for help writing mail filters, visit https://gem5-review.googlesource.com/settings

Gerrit-Project: public/gem5
Gerrit-Branch: develop
Gerrit-Change-Id: Id4763421528305193ae0cd10c159b385a9513553
Gerrit-Change-Number: 34259
Gerrit-PatchSet: 1
Gerrit-Owner: Srikant Bharadwaj <srikant.bharad...@amd.com>
Gerrit-MessageType: newchange
_______________________________________________
gem5-dev mailing list -- gem5-dev@gem5.org
To unsubscribe send an email to gem5-dev-le...@gem5.org
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s

Reply via email to