MOESI_CMP_directory.py (12065:e3e51756dfef) MOESI_CMP_directory.py (12598:b80b2d9a251b)
1# Copyright (c) 2006-2007 The Regents of The University of Michigan
2# Copyright (c) 2009 Advanced Micro Devices, Inc.
3# All rights reserved.
4#
5# Redistribution and use in source and binary forms, with or without
6# modification, are permitted provided that the following conditions are
7# met: redistributions of source code must retain the above copyright
8# notice, this list of conditions and the following disclaimer;

--- 29 unchanged lines hidden (view full) ---

38# Declare caches used by the protocol
39#
40class L1Cache(RubyCache): pass
41class L2Cache(RubyCache): pass
42
43def define_options(parser):
44 return
45
1# Copyright (c) 2006-2007 The Regents of The University of Michigan
2# Copyright (c) 2009 Advanced Micro Devices, Inc.
3# All rights reserved.
4#
5# Redistribution and use in source and binary forms, with or without
6# modification, are permitted provided that the following conditions are
7# met: redistributions of source code must retain the above copyright
8# notice, this list of conditions and the following disclaimer;

--- 29 unchanged lines hidden (view full) ---

38# Declare caches used by the protocol
39#
40class L1Cache(RubyCache): pass
41class L2Cache(RubyCache): pass
42
43def define_options(parser):
44 return
45
46def create_system(options, full_system, system, dma_ports, ruby_system):
46def create_system(options, full_system, system, dma_ports, bootmem,
47 ruby_system):
47
48 if buildEnv['PROTOCOL'] != 'MOESI_CMP_directory':
49 panic("This script requires the MOESI_CMP_directory protocol to be built.")
50
51 cpu_sequencers = []
52
53 #
54 # The ruby network creation expects the list of nodes in the system to be

--- 105 unchanged lines hidden (view full) ---

160 # Run each of the ruby memory controllers at a ratio of the frequency of
161 # the ruby system.
162 # clk_divider value is a fix to pass regression.
163 ruby_system.memctrl_clk_domain = DerivedClockDomain(
164 clk_domain=ruby_system.clk_domain,
165 clk_divider=3)
166
167
48
49 if buildEnv['PROTOCOL'] != 'MOESI_CMP_directory':
50 panic("This script requires the MOESI_CMP_directory protocol to be built.")
51
52 cpu_sequencers = []
53
54 #
55 # The ruby network creation expects the list of nodes in the system to be

--- 105 unchanged lines hidden (view full) ---

161 # Run each of the ruby memory controllers at a ratio of the frequency of
162 # the ruby system.
163 # clk_divider value is a fix to pass regression.
164 ruby_system.memctrl_clk_domain = DerivedClockDomain(
165 clk_domain=ruby_system.clk_domain,
166 clk_divider=3)
167
168
168 dir_cntrl_nodes = create_directories(options, system.mem_ranges,
169 ruby_system)
169 mem_dir_cntrl_nodes, rom_dir_cntrl_node = create_directories(
170 options, system.mem_ranges, bootmem, ruby_system, system)
171 dir_cntrl_nodes = mem_dir_cntrl_nodes[:]
172 if rom_dir_cntrl_node is not None:
173 dir_cntrl_nodes.append(rom_dir_cntrl_node)
170 for dir_cntrl in dir_cntrl_nodes:
171 # Connect the directory controllers and the network
172 dir_cntrl.requestToDir = MessageBuffer()
173 dir_cntrl.requestToDir.slave = ruby_system.network.master
174 dir_cntrl.responseToDir = MessageBuffer()
175 dir_cntrl.responseToDir.slave = ruby_system.network.master
176 dir_cntrl.responseFromDir = MessageBuffer()
177 dir_cntrl.responseFromDir.master = ruby_system.network.slave

--- 53 unchanged lines hidden (view full) ---

231 io_controller.respToDir.master = ruby_system.network.slave
232 io_controller.triggerQueue = MessageBuffer(ordered = True)
233
234 all_cntrls = all_cntrls + [io_controller]
235
236
237 ruby_system.network.number_of_virtual_networks = 3
238 topology = create_topology(all_cntrls, options)
174 for dir_cntrl in dir_cntrl_nodes:
175 # Connect the directory controllers and the network
176 dir_cntrl.requestToDir = MessageBuffer()
177 dir_cntrl.requestToDir.slave = ruby_system.network.master
178 dir_cntrl.responseToDir = MessageBuffer()
179 dir_cntrl.responseToDir.slave = ruby_system.network.master
180 dir_cntrl.responseFromDir = MessageBuffer()
181 dir_cntrl.responseFromDir.master = ruby_system.network.slave

--- 53 unchanged lines hidden (view full) ---

235 io_controller.respToDir.master = ruby_system.network.slave
236 io_controller.triggerQueue = MessageBuffer(ordered = True)
237
238 all_cntrls = all_cntrls + [io_controller]
239
240
241 ruby_system.network.number_of_virtual_networks = 3
242 topology = create_topology(all_cntrls, options)
239 return (cpu_sequencers, dir_cntrl_nodes, topology)
243 return (cpu_sequencers, mem_dir_cntrl_nodes, topology)