[root]
type=Root
children=system
time_sync_enable=false
time_sync_period=100000000
time_sync_spin_threshold=100000

[system]
type=System
children=cpu0 cpu1 cpu2 cpu3 cpu4 cpu5 cpu6 cpu7 dir_cntrl0 funcmem l1_cntrl0 l1_cntrl1 l1_cntrl2 l1_cntrl3 l1_cntrl4 l1_cntrl5 l1_cntrl6 l1_cntrl7 l2_cntrl0 physmem ruby
mem_mode=timing
physmem=system.physmem
work_begin_ckpt_count=0
work_begin_cpu_id_exit=-1
work_begin_exit_count=0
work_cpus_ckpt_count=0
work_end_ckpt_count=0
work_end_exit_count=0
work_item_id=-1

[system.cpu0]
type=MemTest
atomic=false
issue_dmas=false
max_loads=100000
memory_size=65536
percent_dest_unaligned=50
percent_functional=0
percent_reads=65
percent_source_unaligned=50
percent_uncacheable=0
progress_interval=10000
trace_addr=0
functional=system.funcmem.port[0]
test=system.ruby.cpu_ruby_ports0.port[0]

[system.cpu1]
type=MemTest
atomic=false
issue_dmas=false
max_loads=100000
memory_size=65536
percent_dest_unaligned=50
percent_functional=0
percent_reads=65
percent_source_unaligned=50
percent_uncacheable=0
progress_interval=10000
trace_addr=0
functional=system.funcmem.port[1]
test=system.ruby.cpu_ruby_ports1.port[0]

[system.cpu2]
type=MemTest
atomic=false
issue_dmas=false
max_loads=100000
memory_size=65536
percent_dest_unaligned=50
percent_functional=0
percent_reads=65
percent_source_unaligned=50
percent_uncacheable=0
progress_interval=10000
trace_addr=0
functional=system.funcmem.port[2]
test=system.ruby.cpu_ruby_ports2.port[0]

[system.cpu3]
type=MemTest
atomic=false
issue_dmas=false
max_loads=100000
memory_size=65536
percent_dest_unaligned=50
percent_functional=0
percent_reads=65
percent_source_unaligned=50
percent_uncacheable=0
progress_interval=10000
trace_addr=0
functional=system.funcmem.port[3]
test=system.ruby.cpu_ruby_ports3.port[0]

[system.cpu4]
type=MemTest
atomic=false
issue_dmas=false
max_loads=100000
memory_size=65536
percent_dest_unaligned=50
percent_functional=0
percent_reads=65
percent_source_unaligned=50
percent_uncacheable=0
progress_interval=10000
trace_addr=0
functional=system.funcmem.port[4]
test=system.ruby.cpu_ruby_ports4.port[0]

[system.cpu5]
type=MemTest
atomic=false
issue_dmas=false
max_loads=100000
memory_size=65536
percent_dest_unaligned=50
percent_functional=0
percent_reads=65
percent_source_unaligned=50
percent_uncacheable=0
progress_interval=10000
trace_addr=0
functional=system.funcmem.port[5]
test=system.ruby.cpu_ruby_ports5.port[0]

[system.cpu6]
type=MemTest
atomic=false
issue_dmas=false
max_loads=100000
memory_size=65536
percent_dest_unaligned=50
percent_functional=0
percent_reads=65
percent_source_unaligned=50
percent_uncacheable=0
progress_interval=10000
trace_addr=0
functional=system.funcmem.port[6]
test=system.ruby.cpu_ruby_ports6.port[0]

[system.cpu7]
type=MemTest
atomic=false
issue_dmas=false
max_loads=100000
memory_size=65536
percent_dest_unaligned=50
percent_functional=0
percent_reads=65
percent_source_unaligned=50
percent_uncacheable=0
progress_interval=10000
trace_addr=0
functional=system.funcmem.port[7]
test=system.ruby.cpu_ruby_ports7.port[0]

[system.dir_cntrl0]
type=Directory_Controller
children=directory memBuffer
buffer_size=0
directory=system.dir_cntrl0.directory
directory_latency=6
memBuffer=system.dir_cntrl0.memBuffer
number_of_TBEs=256
recycle_latency=10
transitions_per_cycle=32
version=0

[system.dir_cntrl0.directory]
type=RubyDirectoryMemory
map_levels=4
numa_high_bit=6
size=134217728
use_map=false
version=0

[system.dir_cntrl0.memBuffer]
type=RubyMemoryControl
bank_bit_0=8
bank_busy_time=11
bank_queue_size=12
banks_per_rank=8
basic_bus_busy_time=2
dimm_bit_0=12
dimms_per_channel=2
mem_bus_cycle_multiplier=10
mem_ctl_latency=12
mem_fixed_delay=0
mem_random_arbitrate=0
rank_bit_0=11
rank_rank_delay=1
ranks_per_dimm=2
read_write_delay=2
refresh_period=1560
tFaw=0
version=0

[system.funcmem]
type=PhysicalMemory
file=
latency=30
latency_var=0
null=false
range=0:134217727
zero=false
port=system.cpu0.functional system.cpu1.functional system.cpu2.functional system.cpu3.functional system.cpu4.functional system.cpu5.functional system.cpu6.functional system.cpu7.functional

[system.l1_cntrl0]
type=L1Cache_Controller
children=L1DcacheMemory L1IcacheMemory
L1DcacheMemory=system.l1_cntrl0.L1DcacheMemory
L1IcacheMemory=system.l1_cntrl0.L1IcacheMemory
buffer_size=0
l2_select_num_bits=0
number_of_TBEs=256
recycle_latency=10
request_latency=2
sequencer=system.ruby.cpu_ruby_ports0
transitions_per_cycle=32
version=0

[system.l1_cntrl0.L1DcacheMemory]
type=RubyCache
assoc=2
latency=3
replacement_policy=PSEUDO_LRU
size=256
start_index_bit=6

[system.l1_cntrl0.L1IcacheMemory]
type=RubyCache
assoc=2
latency=3
replacement_policy=PSEUDO_LRU
size=256
start_index_bit=6

[system.l1_cntrl1]
type=L1Cache_Controller
children=L1DcacheMemory L1IcacheMemory
L1DcacheMemory=system.l1_cntrl1.L1DcacheMemory
L1IcacheMemory=system.l1_cntrl1.L1IcacheMemory
buffer_size=0
l2_select_num_bits=0
number_of_TBEs=256
recycle_latency=10
request_latency=2
sequencer=system.ruby.cpu_ruby_ports1
transitions_per_cycle=32
version=1

[system.l1_cntrl1.L1DcacheMemory]
type=RubyCache
assoc=2
latency=3
replacement_policy=PSEUDO_LRU
size=256
start_index_bit=6

[system.l1_cntrl1.L1IcacheMemory]
type=RubyCache
assoc=2
latency=3
replacement_policy=PSEUDO_LRU
size=256
start_index_bit=6

[system.l1_cntrl2]
type=L1Cache_Controller
children=L1DcacheMemory L1IcacheMemory
L1DcacheMemory=system.l1_cntrl2.L1DcacheMemory
L1IcacheMemory=system.l1_cntrl2.L1IcacheMemory
buffer_size=0
l2_select_num_bits=0
number_of_TBEs=256
recycle_latency=10
request_latency=2
sequencer=system.ruby.cpu_ruby_ports2
transitions_per_cycle=32
version=2

[system.l1_cntrl2.L1DcacheMemory]
type=RubyCache
assoc=2
latency=3
replacement_policy=PSEUDO_LRU
size=256
start_index_bit=6

[system.l1_cntrl2.L1IcacheMemory]
type=RubyCache
assoc=2
latency=3
replacement_policy=PSEUDO_LRU
size=256
start_index_bit=6

[system.l1_cntrl3]
type=L1Cache_Controller
children=L1DcacheMemory L1IcacheMemory
L1DcacheMemory=system.l1_cntrl3.L1DcacheMemory
L1IcacheMemory=system.l1_cntrl3.L1IcacheMemory
buffer_size=0
l2_select_num_bits=0
number_of_TBEs=256
recycle_latency=10
request_latency=2
sequencer=system.ruby.cpu_ruby_ports3
transitions_per_cycle=32
version=3

[system.l1_cntrl3.L1DcacheMemory]
type=RubyCache
assoc=2
latency=3
replacement_policy=PSEUDO_LRU
size=256
start_index_bit=6

[system.l1_cntrl3.L1IcacheMemory]
type=RubyCache
assoc=2
latency=3
replacement_policy=PSEUDO_LRU
size=256
start_index_bit=6

[system.l1_cntrl4]
type=L1Cache_Controller
children=L1DcacheMemory L1IcacheMemory
L1DcacheMemory=system.l1_cntrl4.L1DcacheMemory
L1IcacheMemory=system.l1_cntrl4.L1IcacheMemory
buffer_size=0
l2_select_num_bits=0
number_of_TBEs=256
recycle_latency=10
request_latency=2
sequencer=system.ruby.cpu_ruby_ports4
transitions_per_cycle=32
version=4

[system.l1_cntrl4.L1DcacheMemory]
type=RubyCache
assoc=2
latency=3
replacement_policy=PSEUDO_LRU
size=256
start_index_bit=6

[system.l1_cntrl4.L1IcacheMemory]
type=RubyCache
assoc=2
latency=3
replacement_policy=PSEUDO_LRU
size=256
start_index_bit=6

[system.l1_cntrl5]
type=L1Cache_Controller
children=L1DcacheMemory L1IcacheMemory
L1DcacheMemory=system.l1_cntrl5.L1DcacheMemory
L1IcacheMemory=system.l1_cntrl5.L1IcacheMemory
buffer_size=0
l2_select_num_bits=0
number_of_TBEs=256
recycle_latency=10
request_latency=2
sequencer=system.ruby.cpu_ruby_ports5
transitions_per_cycle=32
version=5

[system.l1_cntrl5.L1DcacheMemory]
type=RubyCache
assoc=2
latency=3
replacement_policy=PSEUDO_LRU
size=256
start_index_bit=6

[system.l1_cntrl5.L1IcacheMemory]
type=RubyCache
assoc=2
latency=3
replacement_policy=PSEUDO_LRU
size=256
start_index_bit=6

[system.l1_cntrl6]
type=L1Cache_Controller
children=L1DcacheMemory L1IcacheMemory
L1DcacheMemory=system.l1_cntrl6.L1DcacheMemory
L1IcacheMemory=system.l1_cntrl6.L1IcacheMemory
buffer_size=0
l2_select_num_bits=0
number_of_TBEs=256
recycle_latency=10
request_latency=2
sequencer=system.ruby.cpu_ruby_ports6
transitions_per_cycle=32
version=6

[system.l1_cntrl6.L1DcacheMemory]
type=RubyCache
assoc=2
latency=3
replacement_policy=PSEUDO_LRU
size=256
start_index_bit=6

[system.l1_cntrl6.L1IcacheMemory]
type=RubyCache
assoc=2
latency=3
replacement_policy=PSEUDO_LRU
size=256
start_index_bit=6

[system.l1_cntrl7]
type=L1Cache_Controller
children=L1DcacheMemory L1IcacheMemory
L1DcacheMemory=system.l1_cntrl7.L1DcacheMemory
L1IcacheMemory=system.l1_cntrl7.L1IcacheMemory
buffer_size=0
l2_select_num_bits=0
number_of_TBEs=256
recycle_latency=10
request_latency=2
sequencer=system.ruby.cpu_ruby_ports7
transitions_per_cycle=32
version=7

[system.l1_cntrl7.L1DcacheMemory]
type=RubyCache
assoc=2
latency=3
replacement_policy=PSEUDO_LRU
size=256
start_index_bit=6

[system.l1_cntrl7.L1IcacheMemory]
type=RubyCache
assoc=2
latency=3
replacement_policy=PSEUDO_LRU
size=256
start_index_bit=6

[system.l2_cntrl0]
type=L2Cache_Controller
children=L2cacheMemory
L2cacheMemory=system.l2_cntrl0.L2cacheMemory
buffer_size=0
number_of_TBEs=256
recycle_latency=10
request_latency=2
response_latency=2
transitions_per_cycle=32
version=0

[system.l2_cntrl0.L2cacheMemory]
type=RubyCache
assoc=2
latency=15
replacement_policy=PSEUDO_LRU
size=512
start_index_bit=6

[system.physmem]
type=PhysicalMemory
file=
latency=30
latency_var=0
null=false
range=0:134217727
zero=false
port=system.ruby.cpu_ruby_ports0.physMemPort system.ruby.cpu_ruby_ports1.physMemPort system.ruby.cpu_ruby_ports2.physMemPort system.ruby.cpu_ruby_ports3.physMemPort system.ruby.cpu_ruby_ports4.physMemPort system.ruby.cpu_ruby_ports5.physMemPort system.ruby.cpu_ruby_ports6.physMemPort system.ruby.cpu_ruby_ports7.physMemPort

[system.ruby]
type=RubySystem
children=cpu_ruby_ports0 cpu_ruby_ports1 cpu_ruby_ports2 cpu_ruby_ports3 cpu_ruby_ports4 cpu_ruby_ports5 cpu_ruby_ports6 cpu_ruby_ports7 network profiler tracer
block_size_bytes=64
clock=1
mem_size=134217728
network=system.ruby.network
no_mem_vec=false
profiler=system.ruby.profiler
random_seed=1234
randomization=false
stats_filename=ruby.stats
tracer=system.ruby.tracer

[system.ruby.cpu_ruby_ports0]
type=RubySequencer
access_phys_mem=true
dcache=system.l1_cntrl0.L1DcacheMemory
deadlock_threshold=1000000
icache=system.l1_cntrl0.L1IcacheMemory
max_outstanding_requests=16
physmem=system.physmem
using_ruby_tester=false
version=0
physMemPort=system.physmem.port[0]
port=system.cpu0.test

[system.ruby.cpu_ruby_ports1]
type=RubySequencer
access_phys_mem=true
dcache=system.l1_cntrl1.L1DcacheMemory
deadlock_threshold=1000000
icache=system.l1_cntrl1.L1IcacheMemory
max_outstanding_requests=16
physmem=system.physmem
using_ruby_tester=false
version=1
physMemPort=system.physmem.port[1]
port=system.cpu1.test

[system.ruby.cpu_ruby_ports2]
type=RubySequencer
access_phys_mem=true
dcache=system.l1_cntrl2.L1DcacheMemory
deadlock_threshold=1000000
icache=system.l1_cntrl2.L1IcacheMemory
max_outstanding_requests=16
physmem=system.physmem
using_ruby_tester=false
version=2
physMemPort=system.physmem.port[2]
port=system.cpu2.test

[system.ruby.cpu_ruby_ports3]
type=RubySequencer
access_phys_mem=true
dcache=system.l1_cntrl3.L1DcacheMemory
deadlock_threshold=1000000
icache=system.l1_cntrl3.L1IcacheMemory
max_outstanding_requests=16
physmem=system.physmem
using_ruby_tester=false
version=3
physMemPort=system.physmem.port[3]
port=system.cpu3.test

[system.ruby.cpu_ruby_ports4]
type=RubySequencer
access_phys_mem=true
dcache=system.l1_cntrl4.L1DcacheMemory
deadlock_threshold=1000000
icache=system.l1_cntrl4.L1IcacheMemory
max_outstanding_requests=16
physmem=system.physmem
using_ruby_tester=false
version=4
physMemPort=system.physmem.port[4]
port=system.cpu4.test

[system.ruby.cpu_ruby_ports5]
type=RubySequencer
access_phys_mem=true
dcache=system.l1_cntrl5.L1DcacheMemory
deadlock_threshold=1000000
icache=system.l1_cntrl5.L1IcacheMemory
max_outstanding_requests=16
physmem=system.physmem
using_ruby_tester=false
version=5
physMemPort=system.physmem.port[5]
port=system.cpu5.test

[system.ruby.cpu_ruby_ports6]
type=RubySequencer
access_phys_mem=true
dcache=system.l1_cntrl6.L1DcacheMemory
deadlock_threshold=1000000
icache=system.l1_cntrl6.L1IcacheMemory
max_outstanding_requests=16
physmem=system.physmem
using_ruby_tester=false
version=6
physMemPort=system.physmem.port[6]
port=system.cpu6.test

[system.ruby.cpu_ruby_ports7]
type=RubySequencer
access_phys_mem=true
dcache=system.l1_cntrl7.L1DcacheMemory
deadlock_threshold=1000000
icache=system.l1_cntrl7.L1IcacheMemory
max_outstanding_requests=16
physmem=system.physmem
using_ruby_tester=false
version=7
physMemPort=system.physmem.port[7]
port=system.cpu7.test

[system.ruby.network]
type=SimpleNetwork
children=topology
adaptive_routing=false
buffer_size=0
control_msg_size=8
endpoint_bandwidth=10000
link_latency=1
number_of_virtual_networks=10
topology=system.ruby.network.topology

[system.ruby.network.topology]
type=Topology
children=ext_links0 ext_links1 ext_links2 ext_links3 ext_links4 ext_links5 ext_links6 ext_links7 ext_links8 ext_links9 int_links0 int_links1 int_links2 int_links3 int_links4 int_links5 int_links6 int_links7 int_links8 int_links9
description=Crossbar
ext_links=system.ruby.network.topology.ext_links0 system.ruby.network.topology.ext_links1 system.ruby.network.topology.ext_links2 system.ruby.network.topology.ext_links3 system.ruby.network.topology.ext_links4 system.ruby.network.topology.ext_links5 system.ruby.network.topology.ext_links6 system.ruby.network.topology.ext_links7 system.ruby.network.topology.ext_links8 system.ruby.network.topology.ext_links9
int_links=system.ruby.network.topology.int_links0 system.ruby.network.topology.int_links1 system.ruby.network.topology.int_links2 system.ruby.network.topology.int_links3 system.ruby.network.topology.int_links4 system.ruby.network.topology.int_links5 system.ruby.network.topology.int_links6 system.ruby.network.topology.int_links7 system.ruby.network.topology.int_links8 system.ruby.network.topology.int_links9
num_int_nodes=11
print_config=false

[system.ruby.network.topology.ext_links0]
type=ExtLink
bw_multiplier=64
ext_node=system.l1_cntrl0
int_node=0
latency=1
weight=1

[system.ruby.network.topology.ext_links1]
type=ExtLink
bw_multiplier=64
ext_node=system.l1_cntrl1
int_node=1
latency=1
weight=1

[system.ruby.network.topology.ext_links2]
type=ExtLink
bw_multiplier=64
ext_node=system.l1_cntrl2
int_node=2
latency=1
weight=1

[system.ruby.network.topology.ext_links3]
type=ExtLink
bw_multiplier=64
ext_node=system.l1_cntrl3
int_node=3
latency=1
weight=1

[system.ruby.network.topology.ext_links4]
type=ExtLink
bw_multiplier=64
ext_node=system.l1_cntrl4
int_node=4
latency=1
weight=1

[system.ruby.network.topology.ext_links5]
type=ExtLink
bw_multiplier=64
ext_node=system.l1_cntrl5
int_node=5
latency=1
weight=1

[system.ruby.network.topology.ext_links6]
type=ExtLink
bw_multiplier=64
ext_node=system.l1_cntrl6
int_node=6
latency=1
weight=1

[system.ruby.network.topology.ext_links7]
type=ExtLink
bw_multiplier=64
ext_node=system.l1_cntrl7
int_node=7
latency=1
weight=1

[system.ruby.network.topology.ext_links8]
type=ExtLink
bw_multiplier=64
ext_node=system.l2_cntrl0
int_node=8
latency=1
weight=1

[system.ruby.network.topology.ext_links9]
type=ExtLink
bw_multiplier=64
ext_node=system.dir_cntrl0
int_node=9
latency=1
weight=1

[system.ruby.network.topology.int_links0]
type=IntLink
bw_multiplier=16
latency=1
node_a=0
node_b=10
weight=1

[system.ruby.network.topology.int_links1]
type=IntLink
bw_multiplier=16
latency=1
node_a=1
node_b=10
weight=1

[system.ruby.network.topology.int_links2]
type=IntLink
bw_multiplier=16
latency=1
node_a=2
node_b=10
weight=1

[system.ruby.network.topology.int_links3]
type=IntLink
bw_multiplier=16
latency=1
node_a=3
node_b=10
weight=1

[system.ruby.network.topology.int_links4]
type=IntLink
bw_multiplier=16
latency=1
node_a=4
node_b=10
weight=1

[system.ruby.network.topology.int_links5]
type=IntLink
bw_multiplier=16
latency=1
node_a=5
node_b=10
weight=1

[system.ruby.network.topology.int_links6]
type=IntLink
bw_multiplier=16
latency=1
node_a=6
node_b=10
weight=1

[system.ruby.network.topology.int_links7]
type=IntLink
bw_multiplier=16
latency=1
node_a=7
node_b=10
weight=1

[system.ruby.network.topology.int_links8]
type=IntLink
bw_multiplier=16
latency=1
node_a=8
node_b=10
weight=1

[system.ruby.network.topology.int_links9]
type=IntLink
bw_multiplier=16
latency=1
node_a=9
node_b=10
weight=1

[system.ruby.profiler]
type=RubyProfiler
all_instructions=false
hot_lines=false
num_of_sequencers=8

[system.ruby.tracer]
type=RubyTracer
warmup_length=100000

