Lines Matching refs:self

51     def __init__(self):
55 super(MyCacheSystem, self).__init__()
57 def setup(self, system, cpus, mem_ctrls):
60 ruby system (self). This causes infinite recursion in initialize()
64 self.network = MyNetwork(self)
69 self.number_of_virtual_networks = 3
70 self.network.number_of_virtual_networks = 3
77 self.controllers = \
78 [L1Cache(system, self, cpu) for cpu in cpus] + \
79 [DirController(self, system.mem_ranges, mem_ctrls)]
84 self.sequencers = [RubySequencer(version = i,
86 icache = self.controllers[i].cacheMemory,
87 dcache = self.controllers[i].cacheMemory,
88 clk_domain = self.controllers[i].clk_domain,
93 for i,c in enumerate(self.controllers[0:len(self.sequencers)]):
94 c.sequencer = self.sequencers[i]
96 self.num_of_sequencers = len(self.sequencers)
100 self.network.connectControllers(self.controllers)
101 self.network.setup_buffers()
105 self.sys_port_proxy = RubyPortProxy()
106 system.system_port = self.sys_port_proxy.slave
110 cpu.icache_port = self.sequencers[i].slave
111 cpu.dcache_port = self.sequencers[i].slave
114 cpu.interrupts[0].pio = self.sequencers[i].master
115 cpu.interrupts[0].int_master = self.sequencers[i].slave
116 cpu.interrupts[0].int_slave = self.sequencers[i].master
118 cpu.itb.walker.port = self.sequencers[i].slave
119 cpu.dtb.walker.port = self.sequencers[i].slave
130 def __init__(self, system, ruby_system, cpu):
134 super(L1Cache, self).__init__()
136 self.version = self.versionCount()
138 self.cacheMemory = RubyCache(size = '16kB',
140 start_index_bit = self.getBlockSizeBits(system))
141 self.clk_domain = cpu.clk_domain
142 self.send_evictions = self.sendEvicts(cpu)
143 self.ruby_system = ruby_system
144 self.connectQueues(ruby_system)
146 def getBlockSizeBits(self, system):
152 def sendEvicts(self, cpu):
164 def connectQueues(self, ruby_system):
170 self.mandatoryQueue = MessageBuffer()
176 self.requestToDir = MessageBuffer(ordered = True)
177 self.requestToDir.master = ruby_system.network.slave
178 self.responseToDirOrSibling = MessageBuffer(ordered = True)
179 self.responseToDirOrSibling.master = ruby_system.network.slave
180 self.forwardFromDir = MessageBuffer(ordered = True)
181 self.forwardFromDir.slave = ruby_system.network.master
182 self.responseFromDirOrSibling = MessageBuffer(ordered = True)
183 self.responseFromDirOrSibling.slave = ruby_system.network.master
193 def __init__(self, ruby_system, ranges, mem_ctrls):
198 super(DirController, self).__init__()
199 self.version = self.versionCount()
200 self.addr_ranges = ranges
201 self.ruby_system = ruby_system
202 self.directory = RubyDirectoryMemory()
204 self.memory = mem_ctrls[0].port
205 self.connectQueues(ruby_system)
207 def connectQueues(self, ruby_system):
208 self.requestFromCache = MessageBuffer(ordered = True)
209 self.requestFromCache.slave = ruby_system.network.master
210 self.responseFromCache = MessageBuffer(ordered = True)
211 self.responseFromCache.slave = ruby_system.network.master
213 self.responseToCache = MessageBuffer(ordered = True)
214 self.responseToCache.master = ruby_system.network.slave
215 self.forwardToCache = MessageBuffer(ordered = True)
216 self.forwardToCache.master = ruby_system.network.slave
220 # memory port (see self.memory above) will be directed to this
222 self.responseFromMemory = MessageBuffer()
228 def __init__(self, ruby_system):
229 super(MyNetwork, self).__init__()
230 self.netifs = []
231 self.ruby_system = ruby_system
233 def connectControllers(self, controllers):
238 self.routers = [Switch(router_id = i) for i in range(len(controllers))]
242 self.ext_links = [SimpleExtLink(link_id=i, ext_node=c,
243 int_node=self.routers[i])
249 self.int_links = []
250 for ri in self.routers:
251 for rj in self.routers:
254 self.int_links.append(SimpleIntLink(link_id = link_count,