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) |