Bobby R. Bruce has submitted this change. ( 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.
This patch changes the garnet directory structure
to not include the version number. The user will be
informed about the garnet version being used.

Change-Id: Id4763421528305193ae0cd10c159b385a9513553
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/34259
Reviewed-by: Jason Lowe-Power <power...@gmail.com>
Maintainer: Jason Lowe-Power <power...@gmail.com>
Tested-by: kokoro <noreply+kok...@google.com>
---
M configs/network/Network.py
R src/mem/ruby/network/garnet/CommonTypes.hh
R src/mem/ruby/network/garnet/Credit.cc
R src/mem/ruby/network/garnet/Credit.hh
R src/mem/ruby/network/garnet/CreditLink.hh
R src/mem/ruby/network/garnet/CrossbarSwitch.cc
R src/mem/ruby/network/garnet/CrossbarSwitch.hh
R src/mem/ruby/network/garnet/GarnetLink.cc
R src/mem/ruby/network/garnet/GarnetLink.hh
R src/mem/ruby/network/garnet/GarnetLink.py
R src/mem/ruby/network/garnet/GarnetNetwork.cc
R src/mem/ruby/network/garnet/GarnetNetwork.hh
R src/mem/ruby/network/garnet/GarnetNetwork.py
R src/mem/ruby/network/garnet/InputUnit.cc
R src/mem/ruby/network/garnet/InputUnit.hh
R src/mem/ruby/network/garnet/NetworkBridge.cc
R src/mem/ruby/network/garnet/NetworkBridge.hh
R src/mem/ruby/network/garnet/NetworkInterface.cc
R src/mem/ruby/network/garnet/NetworkInterface.hh
R src/mem/ruby/network/garnet/NetworkLink.cc
R src/mem/ruby/network/garnet/NetworkLink.hh
R src/mem/ruby/network/garnet/OutVcState.cc
R src/mem/ruby/network/garnet/OutVcState.hh
R src/mem/ruby/network/garnet/OutputUnit.cc
R src/mem/ruby/network/garnet/OutputUnit.hh
R src/mem/ruby/network/garnet/README.txt
R src/mem/ruby/network/garnet/Router.cc
R src/mem/ruby/network/garnet/Router.hh
R src/mem/ruby/network/garnet/RoutingUnit.cc
R src/mem/ruby/network/garnet/RoutingUnit.hh
R src/mem/ruby/network/garnet/SConscript
R src/mem/ruby/network/garnet/SwitchAllocator.cc
R src/mem/ruby/network/garnet/SwitchAllocator.hh
R src/mem/ruby/network/garnet/VirtualChannel.cc
R src/mem/ruby/network/garnet/VirtualChannel.hh
R src/mem/ruby/network/garnet/flit.cc
R src/mem/ruby/network/garnet/flit.hh
R src/mem/ruby/network/garnet/flitBuffer.cc
R src/mem/ruby/network/garnet/flitBuffer.hh
39 files changed, 190 insertions(+), 168 deletions(-)

Approvals:
  Jason Lowe-Power: Looks good to me, approved; Looks good to me, approved
  kokoro: Regressions pass



diff --git a/configs/network/Network.py b/configs/network/Network.py
index 20d68c0..a907d9a 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', 'garnet'],
+                      help="""'simple'|'garnet' (garnet2.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 garnet/RoutingUnit.cc)
+                            2: Custom (see garnet/RoutingUnit.cc""")
     parser.add_option("--network-fault-model", action="store_true",
                       default=False,
                       help="""enable network fault model:
@@ -77,8 +78,16 @@

 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("Usage of option 'garnet2.0' will be depracated. " \
+            "Please use 'garnet' for using the latest garnet " \
+            "version. Current version: 3.0")
+        options.network = "garnet"
+
+    # Set the network classes based on the command line options
+    if options.network == "garnet":
         NetworkClass = GarnetNetwork
         IntLinkClass = GarnetIntLink
         ExtLinkClass = GarnetExtLink
@@ -101,7 +110,7 @@

 def init_network(options, network, InterfaceClass):

-    if options.network == "garnet2.0":
+    if options.network == "garnet":
         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 +190,6 @@
         network.netifs = netifs

     if options.network_fault_model:
-        assert(options.network == "garnet2.0")
+        assert(options.network == "garnet")
         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/garnet/CommonTypes.hh
similarity index 93%
rename from src/mem/ruby/network/garnet2.0/CommonTypes.hh
rename to src/mem/ruby/network/garnet/CommonTypes.hh
index 643ce8c..affbccc 100644
--- a/src/mem/ruby/network/garnet2.0/CommonTypes.hh
+++ b/src/mem/ruby/network/garnet/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_GARNET_0_COMMONTYPES_HH__
+#define __MEM_RUBY_NETWORK_GARNET_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_GARNET_0_COMMONTYPES_HH__
diff --git a/src/mem/ruby/network/garnet2.0/Credit.cc b/src/mem/ruby/network/garnet/Credit.cc
similarity index 98%
rename from src/mem/ruby/network/garnet2.0/Credit.cc
rename to src/mem/ruby/network/garnet/Credit.cc
index bde9484..b24003f 100644
--- a/src/mem/ruby/network/garnet2.0/Credit.cc
+++ b/src/mem/ruby/network/garnet/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/garnet/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/garnet/Credit.hh
similarity index 89%
rename from src/mem/ruby/network/garnet2.0/Credit.hh
rename to src/mem/ruby/network/garnet/Credit.hh
index bcfd76f..db5823c 100644
--- a/src/mem/ruby/network/garnet2.0/Credit.hh
+++ b/src/mem/ruby/network/garnet/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_GARNET_0_CREDIT_HH__
+#define __MEM_RUBY_NETWORK_GARNET_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/garnet/CommonTypes.hh"
+#include "mem/ruby/network/garnet/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_GARNET_0_CREDIT_HH__
diff --git a/src/mem/ruby/network/garnet2.0/CreditLink.hh b/src/mem/ruby/network/garnet/CreditLink.hh
similarity index 89%
rename from src/mem/ruby/network/garnet2.0/CreditLink.hh
rename to src/mem/ruby/network/garnet/CreditLink.hh
index 13e670d..8735824 100644
--- a/src/mem/ruby/network/garnet2.0/CreditLink.hh
+++ b/src/mem/ruby/network/garnet/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_GARNET_0_CREDITLINK_HH__
+#define __MEM_RUBY_NETWORK_GARNET_0_CREDITLINK_HH__

-#include "mem/ruby/network/garnet2.0/NetworkLink.hh"
+#include "mem/ruby/network/garnet/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_GARNET_0_CREDITLINK_HH__
diff --git a/src/mem/ruby/network/garnet2.0/CrossbarSwitch.cc b/src/mem/ruby/network/garnet/CrossbarSwitch.cc
similarity index 95%
rename from src/mem/ruby/network/garnet2.0/CrossbarSwitch.cc
rename to src/mem/ruby/network/garnet/CrossbarSwitch.cc
index 3148446..6b158df 100644
--- a/src/mem/ruby/network/garnet2.0/CrossbarSwitch.cc
+++ b/src/mem/ruby/network/garnet/CrossbarSwitch.cc
@@ -29,11 +29,11 @@
  */


-#include "mem/ruby/network/garnet2.0/CrossbarSwitch.hh"
+#include "mem/ruby/network/garnet/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/garnet/OutputUnit.hh"
+#include "mem/ruby/network/garnet/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/garnet/CrossbarSwitch.hh
similarity index 89%
rename from src/mem/ruby/network/garnet2.0/CrossbarSwitch.hh
rename to src/mem/ruby/network/garnet/CrossbarSwitch.hh
index 7dee784..ee3a5ec 100644
--- a/src/mem/ruby/network/garnet2.0/CrossbarSwitch.hh
+++ b/src/mem/ruby/network/garnet/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_GARNET_0_CROSSBARSWITCH_HH__
+#define __MEM_RUBY_NETWORK_GARNET_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/garnet/CommonTypes.hh"
+#include "mem/ruby/network/garnet/flitBuffer.hh"

 class Router;

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

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


-#include "mem/ruby/network/garnet2.0/GarnetLink.hh"
+#include "mem/ruby/network/garnet/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/garnet/CreditLink.hh"
+#include "mem/ruby/network/garnet/NetworkBridge.hh"
+#include "mem/ruby/network/garnet/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/garnet/GarnetLink.hh
similarity index 90%
rename from src/mem/ruby/network/garnet2.0/GarnetLink.hh
rename to src/mem/ruby/network/garnet/GarnetLink.hh
index 089bcce..554a0da 100644
--- a/src/mem/ruby/network/garnet2.0/GarnetLink.hh
+++ b/src/mem/ruby/network/garnet/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_GARNET_0_GARNETLINK_HH__
+#define __MEM_RUBY_NETWORK_GARNET_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/garnet/CreditLink.hh"
+#include "mem/ruby/network/garnet/NetworkBridge.hh"
+#include "mem/ruby/network/garnet/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_GARNET_0_GARNETLINK_HH__
diff --git a/src/mem/ruby/network/garnet2.0/GarnetLink.py b/src/mem/ruby/network/garnet/GarnetLink.py
similarity index 95%
rename from src/mem/ruby/network/garnet2.0/GarnetLink.py
rename to src/mem/ruby/network/garnet/GarnetLink.py
index 9f7fe8b..45350b5 100644
--- a/src/mem/ruby/network/garnet2.0/GarnetLink.py
+++ b/src/mem/ruby/network/garnet/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/garnet/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/garnet/CreditLink.hh"

 class NetworkBridge(CreditLink):
     type = 'NetworkBridge'
-    cxx_header = "mem/ruby/network/garnet2.0/NetworkBridge.hh"
+    cxx_header = "mem/ruby/network/garnet/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/garnet/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/garnet/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/garnet/GarnetNetwork.cc
similarity index 97%
rename from src/mem/ruby/network/garnet2.0/GarnetNetwork.cc
rename to src/mem/ruby/network/garnet/GarnetNetwork.cc
index bcc476f..8334107 100644
--- a/src/mem/ruby/network/garnet2.0/GarnetNetwork.cc
+++ b/src/mem/ruby/network/garnet/GarnetNetwork.cc
@@ -29,7 +29,7 @@
  */


-#include "mem/ruby/network/garnet2.0/GarnetNetwork.hh"
+#include "mem/ruby/network/garnet/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/garnet/CommonTypes.hh"
+#include "mem/ruby/network/garnet/CreditLink.hh"
+#include "mem/ruby/network/garnet/GarnetLink.hh"
+#include "mem/ruby/network/garnet/NetworkInterface.hh"
+#include "mem/ruby/network/garnet/NetworkLink.hh"
+#include "mem/ruby/network/garnet/Router.hh"
 #include "mem/ruby/system/RubySystem.hh"

 using namespace std;
@@ -93,6 +93,9 @@
         m_nis.push_back(ni);
         ni->init_net_ptr(this);
     }
+
+    // Print Garnet version
+    inform("Garnet version %s\n", garnetVersion);
 }

 void
diff --git a/src/mem/ruby/network/garnet2.0/GarnetNetwork.hh b/src/mem/ruby/network/garnet/GarnetNetwork.hh
similarity index 96%
rename from src/mem/ruby/network/garnet2.0/GarnetNetwork.hh
rename to src/mem/ruby/network/garnet/GarnetNetwork.hh
index bb4b24a..2f9f543 100644
--- a/src/mem/ruby/network/garnet2.0/GarnetNetwork.hh
+++ b/src/mem/ruby/network/garnet/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_GARNET_0_GARNETNETWORK_HH__
+#define __MEM_RUBY_NETWORK_GARNET_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/garnet/CommonTypes.hh"
 #include "params/GarnetNetwork.hh"

 class FaultModel;
@@ -56,6 +56,8 @@

     void init();

+    const char *garnetVersion = "3.0";
+
     // Configuration (set externally)

     // for 2D topology
@@ -202,4 +204,4 @@
     return out;
 }

-#endif //__MEM_RUBY_NETWORK_GARNET2_0_GARNETNETWORK_HH__
+#endif //__MEM_RUBY_NETWORK_GARNET_0_GARNETNETWORK_HH__
diff --git a/src/mem/ruby/network/garnet2.0/GarnetNetwork.py b/src/mem/ruby/network/garnet/GarnetNetwork.py
similarity index 94%
rename from src/mem/ruby/network/garnet2.0/GarnetNetwork.py
rename to src/mem/ruby/network/garnet/GarnetNetwork.py
index 012ab60..d7a3f0d 100644
--- a/src/mem/ruby/network/garnet2.0/GarnetNetwork.py
+++ b/src/mem/ruby/network/garnet/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/garnet/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/garnet/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/garnet/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/garnet/InputUnit.cc
similarity index 97%
rename from src/mem/ruby/network/garnet2.0/InputUnit.cc
rename to src/mem/ruby/network/garnet/InputUnit.cc
index db24aef..72c1b5c 100644
--- a/src/mem/ruby/network/garnet2.0/InputUnit.cc
+++ b/src/mem/ruby/network/garnet/InputUnit.cc
@@ -29,11 +29,11 @@
  */


-#include "mem/ruby/network/garnet2.0/InputUnit.hh"
+#include "mem/ruby/network/garnet/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/garnet/Credit.hh"
+#include "mem/ruby/network/garnet/Router.hh"

 using namespace std;

diff --git a/src/mem/ruby/network/garnet2.0/InputUnit.hh b/src/mem/ruby/network/garnet/InputUnit.hh
similarity index 89%
rename from src/mem/ruby/network/garnet2.0/InputUnit.hh
rename to src/mem/ruby/network/garnet/InputUnit.hh
index 40ef251..e57f0be 100644
--- a/src/mem/ruby/network/garnet2.0/InputUnit.hh
+++ b/src/mem/ruby/network/garnet/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_GARNET_0_INPUTUNIT_HH__
+#define __MEM_RUBY_NETWORK_GARNET_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/garnet/CommonTypes.hh"
+#include "mem/ruby/network/garnet/CreditLink.hh"
+#include "mem/ruby/network/garnet/NetworkLink.hh"
+#include "mem/ruby/network/garnet/Router.hh"
+#include "mem/ruby/network/garnet/VirtualChannel.hh"
+#include "mem/ruby/network/garnet/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_GARNET_0_INPUTUNIT_HH__
diff --git a/src/mem/ruby/network/garnet2.0/NetworkBridge.cc b/src/mem/ruby/network/garnet/NetworkBridge.cc
similarity index 99%
rename from src/mem/ruby/network/garnet2.0/NetworkBridge.cc
rename to src/mem/ruby/network/garnet/NetworkBridge.cc
index e7d340a..9a1490c 100644
--- a/src/mem/ruby/network/garnet2.0/NetworkBridge.cc
+++ b/src/mem/ruby/network/garnet/NetworkBridge.cc
@@ -34,7 +34,7 @@
  */


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

 #include <cmath>

diff --git a/src/mem/ruby/network/garnet2.0/NetworkBridge.hh b/src/mem/ruby/network/garnet/NetworkBridge.hh
similarity index 86%
rename from src/mem/ruby/network/garnet2.0/NetworkBridge.hh
rename to src/mem/ruby/network/garnet/NetworkBridge.hh
index 0e8ac0c..c6c37cb 100644
--- a/src/mem/ruby/network/garnet2.0/NetworkBridge.hh
+++ b/src/mem/ruby/network/garnet/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_GARNET_0_NETWORK_BRIDGE_HH__
+#define __MEM_RUBY_NETWORK_GARNET_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/garnet/CommonTypes.hh"
+#include "mem/ruby/network/garnet/CreditLink.hh"
+#include "mem/ruby/network/garnet/GarnetLink.hh"
+#include "mem/ruby/network/garnet/NetworkLink.hh"
+#include "mem/ruby/network/garnet/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_GARNET_0_NETWORK_BRIDGE_HH__
diff --git a/src/mem/ruby/network/garnet2.0/NetworkInterface.cc b/src/mem/ruby/network/garnet/NetworkInterface.cc
similarity index 99%
rename from src/mem/ruby/network/garnet2.0/NetworkInterface.cc
rename to src/mem/ruby/network/garnet/NetworkInterface.cc
index 1b3c262..6dbe0d9 100644
--- a/src/mem/ruby/network/garnet2.0/NetworkInterface.cc
+++ b/src/mem/ruby/network/garnet/NetworkInterface.cc
@@ -30,7 +30,7 @@
  */


-#include "mem/ruby/network/garnet2.0/NetworkInterface.hh"
+#include "mem/ruby/network/garnet/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/garnet/Credit.hh"
+#include "mem/ruby/network/garnet/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/garnet/NetworkInterface.hh
similarity index 93%
rename from src/mem/ruby/network/garnet2.0/NetworkInterface.hh
rename to src/mem/ruby/network/garnet/NetworkInterface.hh
index 09a13d9..2f90772 100644
--- a/src/mem/ruby/network/garnet2.0/NetworkInterface.hh
+++ b/src/mem/ruby/network/garnet/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_GARNET_0_NETWORKINTERFACE_HH__
+#define __MEM_RUBY_NETWORK_GARNET_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/garnet/CommonTypes.hh"
+#include "mem/ruby/network/garnet/Credit.hh"
+#include "mem/ruby/network/garnet/CreditLink.hh"
+#include "mem/ruby/network/garnet/GarnetNetwork.hh"
+#include "mem/ruby/network/garnet/NetworkLink.hh"
+#include "mem/ruby/network/garnet/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_GARNET_0_NETWORKINTERFACE_HH__
diff --git a/src/mem/ruby/network/garnet2.0/NetworkLink.cc b/src/mem/ruby/network/garnet/NetworkLink.cc
similarity index 97%
rename from src/mem/ruby/network/garnet2.0/NetworkLink.cc
rename to src/mem/ruby/network/garnet/NetworkLink.cc
index e947781..872159d 100644
--- a/src/mem/ruby/network/garnet2.0/NetworkLink.cc
+++ b/src/mem/ruby/network/garnet/NetworkLink.cc
@@ -30,11 +30,11 @@
  */


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

 #include "base/trace.hh"
 #include "debug/RubyNetwork.hh"
-#include "mem/ruby/network/garnet2.0/CreditLink.hh"
+#include "mem/ruby/network/garnet/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/garnet/NetworkLink.hh
similarity index 92%
rename from src/mem/ruby/network/garnet2.0/NetworkLink.hh
rename to src/mem/ruby/network/garnet/NetworkLink.hh
index 9cf2efb..22b1a7c 100644
--- a/src/mem/ruby/network/garnet2.0/NetworkLink.hh
+++ b/src/mem/ruby/network/garnet/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_GARNET_0_NETWORKLINK_HH__
+#define __MEM_RUBY_NETWORK_GARNET_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/garnet/CommonTypes.hh"
+#include "mem/ruby/network/garnet/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_GARNET_0_NETWORKLINK_HH__
diff --git a/src/mem/ruby/network/garnet2.0/OutVcState.cc b/src/mem/ruby/network/garnet/OutVcState.cc
similarity index 97%
rename from src/mem/ruby/network/garnet2.0/OutVcState.cc
rename to src/mem/ruby/network/garnet/OutVcState.cc
index 812038d..1bb8698 100644
--- a/src/mem/ruby/network/garnet2.0/OutVcState.cc
+++ b/src/mem/ruby/network/garnet/OutVcState.cc
@@ -28,7 +28,7 @@
  */


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

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

diff --git a/src/mem/ruby/network/garnet2.0/OutVcState.hh b/src/mem/ruby/network/garnet/OutVcState.hh
similarity index 89%
rename from src/mem/ruby/network/garnet2.0/OutVcState.hh
rename to src/mem/ruby/network/garnet/OutVcState.hh
index 915c46f..c78af08 100644
--- a/src/mem/ruby/network/garnet2.0/OutVcState.hh
+++ b/src/mem/ruby/network/garnet/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_GARNET_0_OUTVCSTATE_HH__
+#define __MEM_RUBY_NETWORK_GARNET_0_OUTVCSTATE_HH__

-#include "mem/ruby/network/garnet2.0/CommonTypes.hh"
-#include "mem/ruby/network/garnet2.0/GarnetNetwork.hh"
+#include "mem/ruby/network/garnet/CommonTypes.hh"
+#include "mem/ruby/network/garnet/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_GARNET_0_OUTVCSTATE_HH__
diff --git a/src/mem/ruby/network/garnet2.0/OutputUnit.cc b/src/mem/ruby/network/garnet/OutputUnit.cc
similarity index 95%
rename from src/mem/ruby/network/garnet2.0/OutputUnit.cc
rename to src/mem/ruby/network/garnet/OutputUnit.cc
index dfa63e3..ac9673c 100644
--- a/src/mem/ruby/network/garnet2.0/OutputUnit.cc
+++ b/src/mem/ruby/network/garnet/OutputUnit.cc
@@ -29,13 +29,13 @@
  */


-#include "mem/ruby/network/garnet2.0/OutputUnit.hh"
+#include "mem/ruby/network/garnet/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/garnet/Credit.hh"
+#include "mem/ruby/network/garnet/CreditLink.hh"
+#include "mem/ruby/network/garnet/Router.hh"
+#include "mem/ruby/network/garnet/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/garnet/OutputUnit.hh
similarity index 91%
rename from src/mem/ruby/network/garnet2.0/OutputUnit.hh
rename to src/mem/ruby/network/garnet/OutputUnit.hh
index 3e80dde..3cb924d 100644
--- a/src/mem/ruby/network/garnet2.0/OutputUnit.hh
+++ b/src/mem/ruby/network/garnet/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_GARNET_0_OUTPUTUNIT_HH__
+#define __MEM_RUBY_NETWORK_GARNET_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/garnet/CommonTypes.hh"
+#include "mem/ruby/network/garnet/NetworkLink.hh"
+#include "mem/ruby/network/garnet/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_GARNET_0_OUTPUTUNIT_HH__
diff --git a/src/mem/ruby/network/garnet2.0/README.txt b/src/mem/ruby/network/garnet/README.txt
similarity index 89%
rename from src/mem/ruby/network/garnet2.0/README.txt
rename to src/mem/ruby/network/garnet/README.txt
index 817b1d4..573ab60 100644
--- a/src/mem/ruby/network/garnet2.0/README.txt
+++ b/src/mem/ruby/network/garnet/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.
+        * garnet 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/garnet/Router.cc
similarity index 96%
rename from src/mem/ruby/network/garnet2.0/Router.cc
rename to src/mem/ruby/network/garnet/Router.cc
index 9802b69..47cb9be 100644
--- a/src/mem/ruby/network/garnet2.0/Router.cc
+++ b/src/mem/ruby/network/garnet/Router.cc
@@ -30,14 +30,14 @@
  */


-#include "mem/ruby/network/garnet2.0/Router.hh"
+#include "mem/ruby/network/garnet/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/garnet/CreditLink.hh"
+#include "mem/ruby/network/garnet/GarnetNetwork.hh"
+#include "mem/ruby/network/garnet/InputUnit.hh"
+#include "mem/ruby/network/garnet/NetworkLink.hh"
+#include "mem/ruby/network/garnet/OutputUnit.hh"

 using namespace std;

diff --git a/src/mem/ruby/network/garnet2.0/Router.hh b/src/mem/ruby/network/garnet/Router.hh
similarity index 91%
rename from src/mem/ruby/network/garnet2.0/Router.hh
rename to src/mem/ruby/network/garnet/Router.hh
index 312ab4d..59d16bd 100644
--- a/src/mem/ruby/network/garnet2.0/Router.hh
+++ b/src/mem/ruby/network/garnet/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_GARNET_0_ROUTER_HH__
+#define __MEM_RUBY_NETWORK_GARNET_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/garnet/CommonTypes.hh"
+#include "mem/ruby/network/garnet/CrossbarSwitch.hh"
+#include "mem/ruby/network/garnet/GarnetNetwork.hh"
+#include "mem/ruby/network/garnet/RoutingUnit.hh"
+#include "mem/ruby/network/garnet/SwitchAllocator.hh"
+#include "mem/ruby/network/garnet/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_GARNET_0_ROUTER_HH__
diff --git a/src/mem/ruby/network/garnet2.0/RoutingUnit.cc b/src/mem/ruby/network/garnet/RoutingUnit.cc
similarity index 97%
rename from src/mem/ruby/network/garnet2.0/RoutingUnit.cc
rename to src/mem/ruby/network/garnet/RoutingUnit.cc
index 5ba0dec..835f052 100644
--- a/src/mem/ruby/network/garnet2.0/RoutingUnit.cc
+++ b/src/mem/ruby/network/garnet/RoutingUnit.cc
@@ -28,12 +28,12 @@
  */


-#include "mem/ruby/network/garnet2.0/RoutingUnit.hh"
+#include "mem/ruby/network/garnet/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/garnet/InputUnit.hh"
+#include "mem/ruby/network/garnet/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/garnet/RoutingUnit.hh
similarity index 90%
rename from src/mem/ruby/network/garnet2.0/RoutingUnit.hh
rename to src/mem/ruby/network/garnet/RoutingUnit.hh
index a0ed901..8881ea4 100644
--- a/src/mem/ruby/network/garnet2.0/RoutingUnit.hh
+++ b/src/mem/ruby/network/garnet/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_GARNET_0_ROUTINGUNIT_HH__
+#define __MEM_RUBY_NETWORK_GARNET_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/garnet/CommonTypes.hh"
+#include "mem/ruby/network/garnet/GarnetNetwork.hh"
+#include "mem/ruby/network/garnet/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_GARNET_0_ROUTINGUNIT_HH__
diff --git a/src/mem/ruby/network/garnet2.0/SConscript b/src/mem/ruby/network/garnet/SConscript
similarity index 100%
rename from src/mem/ruby/network/garnet2.0/SConscript
rename to src/mem/ruby/network/garnet/SConscript
diff --git a/src/mem/ruby/network/garnet2.0/SwitchAllocator.cc b/src/mem/ruby/network/garnet/SwitchAllocator.cc
similarity index 97%
rename from src/mem/ruby/network/garnet2.0/SwitchAllocator.cc
rename to src/mem/ruby/network/garnet/SwitchAllocator.cc
index 1ed6de1..0b3141e 100644
--- a/src/mem/ruby/network/garnet2.0/SwitchAllocator.cc
+++ b/src/mem/ruby/network/garnet/SwitchAllocator.cc
@@ -29,13 +29,13 @@
  */


-#include "mem/ruby/network/garnet2.0/SwitchAllocator.hh"
+#include "mem/ruby/network/garnet/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/garnet/GarnetNetwork.hh"
+#include "mem/ruby/network/garnet/InputUnit.hh"
+#include "mem/ruby/network/garnet/OutputUnit.hh"
+#include "mem/ruby/network/garnet/Router.hh"

 SwitchAllocator::SwitchAllocator(Router *router)
     : Consumer(router)
diff --git a/src/mem/ruby/network/garnet2.0/SwitchAllocator.hh b/src/mem/ruby/network/garnet/SwitchAllocator.hh
similarity index 92%
rename from src/mem/ruby/network/garnet2.0/SwitchAllocator.hh
rename to src/mem/ruby/network/garnet/SwitchAllocator.hh
index b309735..82ee67e 100644
--- a/src/mem/ruby/network/garnet2.0/SwitchAllocator.hh
+++ b/src/mem/ruby/network/garnet/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_GARNET_0_SWITCHALLOCATOR_HH__
+#define __MEM_RUBY_NETWORK_GARNET_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/garnet/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_GARNET_0_SWITCHALLOCATOR_HH__
diff --git a/src/mem/ruby/network/garnet2.0/VirtualChannel.cc b/src/mem/ruby/network/garnet/VirtualChannel.cc
similarity index 97%
rename from src/mem/ruby/network/garnet2.0/VirtualChannel.cc
rename to src/mem/ruby/network/garnet/VirtualChannel.cc
index 0b53983..1035660 100644
--- a/src/mem/ruby/network/garnet2.0/VirtualChannel.cc
+++ b/src/mem/ruby/network/garnet/VirtualChannel.cc
@@ -29,7 +29,7 @@
  */


-#include "mem/ruby/network/garnet2.0/VirtualChannel.hh"
+#include "mem/ruby/network/garnet/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/garnet/VirtualChannel.hh
similarity index 91%
rename from src/mem/ruby/network/garnet2.0/VirtualChannel.hh
rename to src/mem/ruby/network/garnet/VirtualChannel.hh
index f206299..c538451 100644
--- a/src/mem/ruby/network/garnet2.0/VirtualChannel.hh
+++ b/src/mem/ruby/network/garnet/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_GARNET_0_VIRTUALCHANNEL_HH__
+#define __MEM_RUBY_NETWORK_GARNET_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/garnet/CommonTypes.hh"
+#include "mem/ruby/network/garnet/flitBuffer.hh"

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

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


-#include "mem/ruby/network/garnet2.0/flit.hh"
+#include "mem/ruby/network/garnet/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/garnet/flit.hh
similarity index 95%
rename from src/mem/ruby/network/garnet2.0/flit.hh
rename to src/mem/ruby/network/garnet/flit.hh
index 1bbd152..0396c97 100644
--- a/src/mem/ruby/network/garnet2.0/flit.hh
+++ b/src/mem/ruby/network/garnet/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_GARNET_0_FLIT_HH__
+#define __MEM_RUBY_NETWORK_GARNET_0_FLIT_HH__

 #include <cassert>
 #include <iostream>

 #include "base/types.hh"
-#include "mem/ruby/network/garnet2.0/CommonTypes.hh"
+#include "mem/ruby/network/garnet/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_GARNET_0_FLIT_HH__
diff --git a/src/mem/ruby/network/garnet2.0/flitBuffer.cc b/src/mem/ruby/network/garnet/flitBuffer.cc
similarity index 97%
rename from src/mem/ruby/network/garnet2.0/flitBuffer.cc
rename to src/mem/ruby/network/garnet/flitBuffer.cc
index c721639..6c0c1ad 100644
--- a/src/mem/ruby/network/garnet2.0/flitBuffer.cc
+++ b/src/mem/ruby/network/garnet/flitBuffer.cc
@@ -29,7 +29,7 @@
  */


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

 flitBuffer::flitBuffer()
 {
diff --git a/src/mem/ruby/network/garnet2.0/flitBuffer.hh b/src/mem/ruby/network/garnet/flitBuffer.hh
similarity index 90%
rename from src/mem/ruby/network/garnet2.0/flitBuffer.hh
rename to src/mem/ruby/network/garnet/flitBuffer.hh
index f98ecf6..40af826 100644
--- a/src/mem/ruby/network/garnet2.0/flitBuffer.hh
+++ b/src/mem/ruby/network/garnet/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_GARNET_0_FLITBUFFER_HH__
+#define __MEM_RUBY_NETWORK_GARNET_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/garnet/CommonTypes.hh"
+#include "mem/ruby/network/garnet/flit.hh"

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

-#endif // __MEM_RUBY_NETWORK_GARNET2_0_FLITBUFFER_HH__
+#endif // __MEM_RUBY_NETWORK_GARNET_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: 5
Gerrit-Owner: Srikant Bharadwaj <srikant.bharad...@amd.com>
Gerrit-Reviewer: Bobby R. Bruce <bbr...@ucdavis.edu>
Gerrit-Reviewer: Jason Lowe-Power <power...@gmail.com>
Gerrit-Reviewer: Jieming Yin <bjm...@gmail.com>
Gerrit-Reviewer: Matthew Poremba <matthew.pore...@amd.com>
Gerrit-Reviewer: kokoro <noreply+kok...@google.com>
Gerrit-MessageType: merged
_______________________________________________
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