ruby: changes how Topologies are created
Instead of just passing a list of controllers to the makeTopology function in src/mem/ruby/network/topologies/<Topo>.py we pass in a function pointer which knows how to make the topology, possibly with some extra state set in the configs/ruby/<protocol>.py file. Thus, we can move all of the files from network/topologies to configs/topologies. A new class BaseTopology is added which all topologies in configs/topologies must inheirit from and follow its API. --HG-- rename : src/mem/ruby/network/topologies/Crossbar.py => configs/topologies/Crossbar.py rename : src/mem/ruby/network/topologies/Mesh.py => configs/topologies/Mesh.py rename : src/mem/ruby/network/topologies/MeshDirCorners.py => configs/topologies/MeshDirCorners.py rename : src/mem/ruby/network/topologies/Pt2Pt.py => configs/topologies/Pt2Pt.py rename : src/mem/ruby/network/topologies/Torus.py => configs/topologies/Torus.py
This commit is contained in:
@@ -31,6 +31,7 @@ import math
|
||||
import m5
|
||||
from m5.objects import *
|
||||
from m5.defines import buildEnv
|
||||
from Ruby import create_topology
|
||||
|
||||
#
|
||||
# Note: the cache latency is only used by the sequencer on fast path hits
|
||||
@@ -155,4 +156,6 @@ def create_system(options, system, piobus, dma_ports, ruby_system):
|
||||
|
||||
all_cntrls = l1_cntrl_nodes + dir_cntrl_nodes + dma_cntrl_nodes
|
||||
|
||||
return (cpu_sequencers, dir_cntrl_nodes, all_cntrls)
|
||||
topology = create_topology(all_cntrls, options)
|
||||
|
||||
return (cpu_sequencers, dir_cntrl_nodes, topology)
|
||||
|
||||
Reference in New Issue
Block a user