MI_example.py (12065:e3e51756dfef) MI_example.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;

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

37#
38# Declare caches used by the protocol
39#
40class L1Cache(RubyCache): pass
41
42def define_options(parser):
43 return
44
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;

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

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

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

120
121 # Run each of the ruby memory controllers at a ratio of the frequency of
122 # the ruby system.
123 # clk_divider value is a fix to pass regression.
124 ruby_system.memctrl_clk_domain = DerivedClockDomain(
125 clk_domain=ruby_system.clk_domain,
126 clk_divider=3)
127
47
48 if buildEnv['PROTOCOL'] != 'MI_example':
49 panic("This script requires the MI_example 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

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

121
122 # Run each of the ruby memory controllers at a ratio of the frequency of
123 # the ruby system.
124 # clk_divider value is a fix to pass regression.
125 ruby_system.memctrl_clk_domain = DerivedClockDomain(
126 clk_domain=ruby_system.clk_domain,
127 clk_divider=3)
128
128 dir_cntrl_nodes = create_directories(options, system.mem_ranges,
129 ruby_system)
129 mem_dir_cntrl_nodes, rom_dir_cntrl_node = create_directories(
130 options, system.mem_ranges, bootmem, ruby_system, system)
131 dir_cntrl_nodes = mem_dir_cntrl_nodes[:]
132 if rom_dir_cntrl_node is not None:
133 dir_cntrl_nodes.append(rom_dir_cntrl_node)
130 for dir_cntrl in dir_cntrl_nodes:
131 # Connect the directory controllers and the network
132 dir_cntrl.requestToDir = MessageBuffer(ordered = True)
133 dir_cntrl.requestToDir.slave = ruby_system.network.master
134 dir_cntrl.dmaRequestToDir = MessageBuffer(ordered = True)
135 dir_cntrl.dmaRequestToDir.slave = ruby_system.network.master
136
137 dir_cntrl.responseFromDir = MessageBuffer()

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

183 io_controller.requestToDir.master = ruby_system.network.slave
184 io_controller.responseFromDir = MessageBuffer(ordered = True)
185 io_controller.responseFromDir.slave = ruby_system.network.master
186
187 all_cntrls = all_cntrls + [io_controller]
188
189 ruby_system.network.number_of_virtual_networks = 5
190 topology = create_topology(all_cntrls, options)
134 for dir_cntrl in dir_cntrl_nodes:
135 # Connect the directory controllers and the network
136 dir_cntrl.requestToDir = MessageBuffer(ordered = True)
137 dir_cntrl.requestToDir.slave = ruby_system.network.master
138 dir_cntrl.dmaRequestToDir = MessageBuffer(ordered = True)
139 dir_cntrl.dmaRequestToDir.slave = ruby_system.network.master
140
141 dir_cntrl.responseFromDir = MessageBuffer()

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

187 io_controller.requestToDir.master = ruby_system.network.slave
188 io_controller.responseFromDir = MessageBuffer(ordered = True)
189 io_controller.responseFromDir.slave = ruby_system.network.master
190
191 all_cntrls = all_cntrls + [io_controller]
192
193 ruby_system.network.number_of_virtual_networks = 5
194 topology = create_topology(all_cntrls, options)
191 return (cpu_sequencers, dir_cntrl_nodes, topology)
195 return (cpu_sequencers, mem_dir_cntrl_nodes, topology)