Garnet_standalone.py (12065:e3e51756dfef) Garnet_standalone.py (12598:b80b2d9a251b)
1# Copyright (c) 2009 Advanced Micro Devices, Inc.
2# Copyright (c) 2016 Georgia Institute of Technology
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) 2009 Advanced Micro Devices, Inc.
2# Copyright (c) 2016 Georgia Institute of Technology
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 if buildEnv['PROTOCOL'] != 'Garnet_standalone':
47 panic("This script requires Garnet_standalone protocol to be built.")
48
49 cpu_sequencers = []
50
51 #
52 # The Garnet_standalone protocol does not support fs nor dma
53 #

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

94 l1_cntrl_nodes.append(l1_cntrl)
95
96 # Connect the L1 controllers and the network
97 l1_cntrl.mandatoryQueue = MessageBuffer()
98 l1_cntrl.requestFromCache = MessageBuffer()
99 l1_cntrl.responseFromCache = MessageBuffer()
100 l1_cntrl.forwardFromCache = MessageBuffer()
101
47 if buildEnv['PROTOCOL'] != 'Garnet_standalone':
48 panic("This script requires Garnet_standalone protocol to be built.")
49
50 cpu_sequencers = []
51
52 #
53 # The Garnet_standalone protocol does not support fs nor dma
54 #

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

95 l1_cntrl_nodes.append(l1_cntrl)
96
97 # Connect the L1 controllers and the network
98 l1_cntrl.mandatoryQueue = MessageBuffer()
99 l1_cntrl.requestFromCache = MessageBuffer()
100 l1_cntrl.responseFromCache = MessageBuffer()
101 l1_cntrl.forwardFromCache = MessageBuffer()
102
102
103 dir_cntrl_nodes = create_directories(options, system.mem_ranges,
104 ruby_system)
103 mem_dir_cntrl_nodes, rom_dir_cntrl_node = create_directories(
104 options, system.mem_ranges, bootmem, ruby_system, system)
105 dir_cntrl_nodes = mem_dir_cntrl_nodes[:]
106 if rom_dir_cntrl_node is not None:
107 dir_cntrl_nodes.append(rom_dir_cntrl_node)
105 for dir_cntrl in dir_cntrl_nodes:
106 # Connect the directory controllers and the network
107 dir_cntrl.requestToDir = MessageBuffer()
108 dir_cntrl.forwardToDir = MessageBuffer()
109 dir_cntrl.responseToDir = MessageBuffer()
110
111
112 all_cntrls = l1_cntrl_nodes + dir_cntrl_nodes
113 ruby_system.network.number_of_virtual_networks = 3
114 topology = create_topology(all_cntrls, options)
108 for dir_cntrl in dir_cntrl_nodes:
109 # Connect the directory controllers and the network
110 dir_cntrl.requestToDir = MessageBuffer()
111 dir_cntrl.forwardToDir = MessageBuffer()
112 dir_cntrl.responseToDir = MessageBuffer()
113
114
115 all_cntrls = l1_cntrl_nodes + dir_cntrl_nodes
116 ruby_system.network.number_of_virtual_networks = 3
117 topology = create_topology(all_cntrls, options)
115 return (cpu_sequencers, dir_cntrl_nodes, topology)
118 return (cpu_sequencers, mem_dir_cntrl_nodes, topology)