MOESI_hammer.py (12065:e3e51756dfef) | MOESI_hammer.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; --- 38 unchanged lines hidden (view full) --- 47def define_options(parser): 48 parser.add_option("--allow-atomic-migration", action="store_true", 49 help="allow migratory sharing for atomic only accessed blocks") 50 parser.add_option("--pf-on", action="store_true", 51 help="Hammer: enable Probe Filter") 52 parser.add_option("--dir-on", action="store_true", 53 help="Hammer: enable Full-bit Directory") 54 | 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; --- 38 unchanged lines hidden (view full) --- 47def define_options(parser): 48 parser.add_option("--allow-atomic-migration", action="store_true", 49 help="allow migratory sharing for atomic only accessed blocks") 50 parser.add_option("--pf-on", action="store_true", 51 help="Hammer: enable Probe Filter") 52 parser.add_option("--dir-on", action="store_true", 53 help="Hammer: enable Full-bit Directory") 54 |
55def create_system(options, full_system, system, dma_ports, ruby_system): | 55def create_system(options, full_system, system, dma_ports, bootmem, 56 ruby_system): |
56 57 if buildEnv['PROTOCOL'] != 'MOESI_hammer': 58 panic("This script requires the MOESI_hammer protocol to be built.") 59 60 cpu_sequencers = [] 61 62 # 63 # The ruby network creation expects the list of nodes in the system to be --- 103 unchanged lines hidden (view full) --- 167 168 # Run each of the ruby memory controllers at a ratio of the frequency of 169 # the ruby system 170 # clk_divider value is a fix to pass regression. 171 ruby_system.memctrl_clk_domain = DerivedClockDomain( 172 clk_domain=ruby_system.clk_domain, 173 clk_divider=3) 174 | 57 58 if buildEnv['PROTOCOL'] != 'MOESI_hammer': 59 panic("This script requires the MOESI_hammer protocol to be built.") 60 61 cpu_sequencers = [] 62 63 # 64 # The ruby network creation expects the list of nodes in the system to be --- 103 unchanged lines hidden (view full) --- 168 169 # Run each of the ruby memory controllers at a ratio of the frequency of 170 # the ruby system 171 # clk_divider value is a fix to pass regression. 172 ruby_system.memctrl_clk_domain = DerivedClockDomain( 173 clk_domain=ruby_system.clk_domain, 174 clk_divider=3) 175 |
175 dir_cntrl_nodes = create_directories(options, system.mem_ranges, 176 ruby_system) | 176 mem_dir_cntrl_nodes, rom_dir_cntrl_node = create_directories( 177 options, system.mem_ranges, bootmem, ruby_system, system) 178 dir_cntrl_nodes = mem_dir_cntrl_nodes[:] 179 if rom_dir_cntrl_node is not None: 180 dir_cntrl_nodes.append(rom_dir_cntrl_node) |
177 for dir_cntrl in dir_cntrl_nodes: 178 pf = ProbeFilter(size = pf_size, assoc = 4, 179 start_index_bit = pf_start_bit) 180 181 dir_cntrl.probeFilter = pf 182 dir_cntrl.probe_filter_enabled = options.pf_on 183 dir_cntrl.full_bit_dir_enabled = options.dir_on 184 --- 64 unchanged lines hidden (view full) --- 249 io_controller.requestToDir = MessageBuffer() 250 io_controller.requestToDir.master = ruby_system.network.slave 251 io_controller.mandatoryQueue = MessageBuffer() 252 253 all_cntrls = all_cntrls + [io_controller] 254 255 ruby_system.network.number_of_virtual_networks = 6 256 topology = create_topology(all_cntrls, options) | 181 for dir_cntrl in dir_cntrl_nodes: 182 pf = ProbeFilter(size = pf_size, assoc = 4, 183 start_index_bit = pf_start_bit) 184 185 dir_cntrl.probeFilter = pf 186 dir_cntrl.probe_filter_enabled = options.pf_on 187 dir_cntrl.full_bit_dir_enabled = options.dir_on 188 --- 64 unchanged lines hidden (view full) --- 253 io_controller.requestToDir = MessageBuffer() 254 io_controller.requestToDir.master = ruby_system.network.slave 255 io_controller.mandatoryQueue = MessageBuffer() 256 257 all_cntrls = all_cntrls + [io_controller] 258 259 ruby_system.network.number_of_virtual_networks = 6 260 topology = create_topology(all_cntrls, options) |
257 return (cpu_sequencers, dir_cntrl_nodes, topology) | 261 return (cpu_sequencers, mem_dir_cntrl_nodes, topology) |