diff options
author | Tushar Krishna <tushar@ece.gatech.edu> | 2016-10-06 14:35:20 -0400 |
---|---|---|
committer | Tushar Krishna <tushar@ece.gatech.edu> | 2016-10-06 14:35:20 -0400 |
commit | 0962d768270696395dacfbd2ceabe4ee1035a496 (patch) | |
tree | 21feb5b3453c613dd4c35f0177b5333f97a5d967 /src/mem/ruby/network/Topology.hh | |
parent | 003c08fa90f8b3eb7fbbbc96e0caa5f46bf58196 (diff) | |
download | gem5-0962d768270696395dacfbd2ceabe4ee1035a496.tar.xz |
config: add port directions and per-router delay in topology.
This patch adds port direction names to the links during topology
creation, which can be used for better printed names for the links
or for users to code up their own adaptive routing algorithms.
It also adds support for every router to have an independent latency
value to support heterogeneous topologies with the subsequent
garnet2.0 patch.
Diffstat (limited to 'src/mem/ruby/network/Topology.hh')
-rw-r--r-- | src/mem/ruby/network/Topology.hh | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/mem/ruby/network/Topology.hh b/src/mem/ruby/network/Topology.hh index 7e0b12c63..1a5f4b19d 100644 --- a/src/mem/ruby/network/Topology.hh +++ b/src/mem/ruby/network/Topology.hh @@ -52,11 +52,14 @@ class NetDest; class Network; typedef std::vector<std::vector<int> > Matrix; +typedef std::string PortDirection; struct LinkEntry { BasicLink *link; LinkDirection direction; + PortDirection src_outport_dirn; + PortDirection dst_inport_dirn; }; typedef std::map<std::pair<SwitchID, SwitchID>, LinkEntry> LinkMap; @@ -72,7 +75,9 @@ class Topology void print(std::ostream& out) const { out << "[Topology]"; } private: - void addLink(SwitchID src, SwitchID dest, BasicLink* link); + void addLink(SwitchID src, SwitchID dest, BasicLink* link, + PortDirection src_outport_dirn = "", + PortDirection dest_inport_dirn = ""); void makeLink(Network *net, SwitchID src, SwitchID dest, const NetDest& routing_table_entry); |