blob: 87e5b4266b4612b672d7b444f83d5b5e09bc5c93 [file] [log] [blame]
{
"name": null,
"sim_quantum": 0,
"system": {
"kernel": "",
"mmap_using_noreserve": false,
"kernel_addr_check": true,
"symbolfile": "",
"readfile": "",
"thermal_model": null,
"cxx_class": "System",
"work_begin_cpu_id_exit": -1,
"load_offset": 0,
"work_begin_exit_count": 0,
"p_state_clk_gate_min": 1,
"memories": [
"system.mem_ctrls"
],
"work_begin_ckpt_count": 0,
"clk_domain": {
"name": "clk_domain",
"clock": [
1
],
"init_perf_level": 0,
"voltage_domain": "system.voltage_domain",
"eventq_index": 0,
"cxx_class": "SrcClockDomain",
"path": "system.clk_domain",
"type": "SrcClockDomain",
"domain_id": -1
},
"mem_ranges": [
"0:268435455:0:0:0:0"
],
"eventq_index": 0,
"default_p_state": "UNDEFINED",
"p_state_clk_gate_max": 1000000000,
"dvfs_handler": {
"enable": false,
"name": "dvfs_handler",
"sys_clk_domain": "system.clk_domain",
"transition_latency": 100000,
"eventq_index": 0,
"cxx_class": "DVFSHandler",
"domains": [],
"path": "system.dvfs_handler",
"type": "DVFSHandler"
},
"work_end_exit_count": 0,
"type": "System",
"voltage_domain": {
"name": "voltage_domain",
"eventq_index": 0,
"voltage": [
"1.0"
],
"cxx_class": "VoltageDomain",
"path": "system.voltage_domain",
"type": "VoltageDomain"
},
"cache_line_size": 64,
"boot_osflags": "a",
"system_port": {
"peer": "system.sys_port_proxy.slave[0]",
"role": "MASTER"
},
"sys_port_proxy": {
"system": "system",
"support_inst_reqs": true,
"slave": {
"peer": [
"system.system_port"
],
"role": "SLAVE"
},
"name": "sys_port_proxy",
"p_state_clk_gate_min": 1,
"no_retry_on_stall": false,
"p_state_clk_gate_bins": 20,
"support_data_reqs": true,
"cxx_class": "RubyPortProxy",
"clk_domain": "system.clk_domain",
"power_model": null,
"is_cpu_sequencer": true,
"version": 0,
"eventq_index": 0,
"using_ruby_tester": false,
"default_p_state": "UNDEFINED",
"p_state_clk_gate_max": 1000000000,
"path": "system.sys_port_proxy",
"type": "RubyPortProxy",
"ruby_system": "system.ruby"
},
"power_model": null,
"work_cpus_ckpt_count": 0,
"thermal_components": [],
"path": "system",
"ruby": {
"all_instructions": false,
"memory_size_bits": 48,
"cxx_class": "RubySystem",
"l1_cntrl0": {
"requestFromCache": {
"ordered": true,
"name": "requestFromCache",
"cxx_class": "MessageBuffer",
"randomization": false,
"eventq_index": 0,
"master": {
"peer": "system.ruby.network.slave[0]",
"role": "MASTER"
},
"buffer_size": 0,
"path": "system.ruby.l1_cntrl0.requestFromCache",
"type": "MessageBuffer"
},
"forwardToCache": {
"ordered": true,
"name": "forwardToCache",
"cxx_class": "MessageBuffer",
"slave": {
"peer": "system.ruby.network.master[0]",
"role": "SLAVE"
},
"randomization": false,
"eventq_index": 0,
"buffer_size": 0,
"path": "system.ruby.l1_cntrl0.forwardToCache",
"type": "MessageBuffer"
},
"system": "system",
"cluster_id": 0,
"sequencer": {
"no_retry_on_stall": false,
"deadlock_threshold": 500000,
"using_ruby_tester": false,
"system": "system",
"dcache": "system.ruby.l1_cntrl0.cacheMemory",
"cxx_class": "Sequencer",
"garnet_standalone": false,
"clk_domain": "system.cpu.clk_domain",
"icache_hit_latency": 1,
"version": 0,
"eventq_index": 0,
"default_p_state": "UNDEFINED",
"p_state_clk_gate_max": 1000000000,
"type": "RubySequencer",
"icache": "system.ruby.l1_cntrl0.cacheMemory",
"slave": {
"peer": [
"system.cpu.icache_port",
"system.cpu.dcache_port"
],
"role": "SLAVE"
},
"p_state_clk_gate_min": 1,
"power_model": null,
"coreid": 99,
"path": "system.ruby.l1_cntrl0.sequencer",
"ruby_system": "system.ruby",
"support_inst_reqs": true,
"name": "sequencer",
"max_outstanding_requests": 16,
"p_state_clk_gate_bins": 20,
"dcache_hit_latency": 1,
"support_data_reqs": true,
"is_cpu_sequencer": true
},
"cxx_class": "L1Cache_Controller",
"issue_latency": 2,
"type": "L1Cache_Controller",
"recycle_latency": 10,
"clk_domain": "system.cpu.clk_domain",
"version": 0,
"eventq_index": 0,
"default_p_state": "UNDEFINED",
"p_state_clk_gate_max": 1000000000,
"number_of_TBEs": 256,
"p_state_clk_gate_min": 1,
"responseToCache": {
"ordered": true,
"name": "responseToCache",
"cxx_class": "MessageBuffer",
"slave": {
"peer": "system.ruby.network.master[1]",
"role": "SLAVE"
},
"randomization": false,
"eventq_index": 0,
"buffer_size": 0,
"path": "system.ruby.l1_cntrl0.responseToCache",
"type": "MessageBuffer"
},
"transitions_per_cycle": 4,
"responseFromCache": {
"ordered": true,
"name": "responseFromCache",
"cxx_class": "MessageBuffer",
"randomization": false,
"eventq_index": 0,
"master": {
"peer": "system.ruby.network.slave[1]",
"role": "MASTER"
},
"buffer_size": 0,
"path": "system.ruby.l1_cntrl0.responseFromCache",
"type": "MessageBuffer"
},
"power_model": null,
"cache_response_latency": 12,
"buffer_size": 0,
"send_evictions": false,
"cacheMemory": {
"size": 256,
"resourceStalls": false,
"is_icache": false,
"name": "cacheMemory",
"eventq_index": 0,
"dataAccessLatency": 1,
"tagArrayBanks": 1,
"tagAccessLatency": 1,
"replacement_policy": {
"name": "replacement_policy",
"eventq_index": 0,
"assoc": 2,
"cxx_class": "PseudoLRUPolicy",
"path": "system.ruby.l1_cntrl0.cacheMemory.replacement_policy",
"block_size": 64,
"type": "PseudoLRUReplacementPolicy",
"size": 256
},
"assoc": 2,
"start_index_bit": 6,
"cxx_class": "CacheMemory",
"path": "system.ruby.l1_cntrl0.cacheMemory",
"block_size": 0,
"type": "RubyCache",
"dataArrayBanks": 1,
"ruby_system": "system.ruby"
},
"ruby_system": "system.ruby",
"name": "l1_cntrl0",
"addr_ranges": [
"0:18446744073709551615:0:0:0:0"
],
"p_state_clk_gate_bins": 20,
"mandatoryQueue": {
"ordered": false,
"name": "mandatoryQueue",
"cxx_class": "MessageBuffer",
"randomization": false,
"eventq_index": 0,
"buffer_size": 0,
"path": "system.ruby.l1_cntrl0.mandatoryQueue",
"type": "MessageBuffer"
},
"path": "system.ruby.l1_cntrl0"
},
"network": {
"int_link_buffers": [
{
"ordered": true,
"name": "int_link_buffers00",
"cxx_class": "MessageBuffer",
"randomization": false,
"eventq_index": 0,
"buffer_size": 0,
"path": "system.ruby.network.int_link_buffers00",
"type": "MessageBuffer"
},
{
"ordered": true,
"name": "int_link_buffers01",
"cxx_class": "MessageBuffer",
"randomization": false,
"eventq_index": 0,
"buffer_size": 0,
"path": "system.ruby.network.int_link_buffers01",
"type": "MessageBuffer"
},
{
"ordered": true,
"name": "int_link_buffers02",
"cxx_class": "MessageBuffer",
"randomization": false,
"eventq_index": 0,
"buffer_size": 0,
"path": "system.ruby.network.int_link_buffers02",
"type": "MessageBuffer"
},
{
"ordered": true,
"name": "int_link_buffers03",
"cxx_class": "MessageBuffer",
"randomization": false,
"eventq_index": 0,
"buffer_size": 0,
"path": "system.ruby.network.int_link_buffers03",
"type": "MessageBuffer"
},
{
"ordered": true,
"name": "int_link_buffers04",
"cxx_class": "MessageBuffer",
"randomization": false,
"eventq_index": 0,
"buffer_size": 0,
"path": "system.ruby.network.int_link_buffers04",
"type": "MessageBuffer"
},
{
"ordered": true,
"name": "int_link_buffers05",
"cxx_class": "MessageBuffer",
"randomization": false,
"eventq_index": 0,
"buffer_size": 0,
"path": "system.ruby.network.int_link_buffers05",
"type": "MessageBuffer"
},
{
"ordered": true,
"name": "int_link_buffers06",
"cxx_class": "MessageBuffer",
"randomization": false,
"eventq_index": 0,
"buffer_size": 0,
"path": "system.ruby.network.int_link_buffers06",
"type": "MessageBuffer"
},
{
"ordered": true,
"name": "int_link_buffers07",
"cxx_class": "MessageBuffer",
"randomization": false,
"eventq_index": 0,
"buffer_size": 0,
"path": "system.ruby.network.int_link_buffers07",
"type": "MessageBuffer"
},
{
"ordered": true,
"name": "int_link_buffers08",
"cxx_class": "MessageBuffer",
"randomization": false,
"eventq_index": 0,
"buffer_size": 0,
"path": "system.ruby.network.int_link_buffers08",
"type": "MessageBuffer"
},
{
"ordered": true,
"name": "int_link_buffers09",
"cxx_class": "MessageBuffer",
"randomization": false,
"eventq_index": 0,
"buffer_size": 0,
"path": "system.ruby.network.int_link_buffers09",
"type": "MessageBuffer"
},
{
"ordered": true,
"name": "int_link_buffers10",
"cxx_class": "MessageBuffer",
"randomization": false,
"eventq_index": 0,
"buffer_size": 0,
"path": "system.ruby.network.int_link_buffers10",
"type": "MessageBuffer"
},
{
"ordered": true,
"name": "int_link_buffers11",
"cxx_class": "MessageBuffer",
"randomization": false,
"eventq_index": 0,
"buffer_size": 0,
"path": "system.ruby.network.int_link_buffers11",
"type": "MessageBuffer"
},
{
"ordered": true,
"name": "int_link_buffers12",
"cxx_class": "MessageBuffer",
"randomization": false,
"eventq_index": 0,
"buffer_size": 0,
"path": "system.ruby.network.int_link_buffers12",
"type": "MessageBuffer"
},
{
"ordered": true,
"name": "int_link_buffers13",
"cxx_class": "MessageBuffer",
"randomization": false,
"eventq_index": 0,
"buffer_size": 0,
"path": "system.ruby.network.int_link_buffers13",
"type": "MessageBuffer"
},
{
"ordered": true,
"name": "int_link_buffers14",
"cxx_class": "MessageBuffer",
"randomization": false,
"eventq_index": 0,
"buffer_size": 0,
"path": "system.ruby.network.int_link_buffers14",
"type": "MessageBuffer"
},
{
"ordered": true,
"name": "int_link_buffers15",
"cxx_class": "MessageBuffer",
"randomization": false,
"eventq_index": 0,
"buffer_size": 0,
"path": "system.ruby.network.int_link_buffers15",
"type": "MessageBuffer"
},
{
"ordered": true,
"name": "int_link_buffers16",
"cxx_class": "MessageBuffer",
"randomization": false,
"eventq_index": 0,
"buffer_size": 0,
"path": "system.ruby.network.int_link_buffers16",
"type": "MessageBuffer"
},
{
"ordered": true,
"name": "int_link_buffers17",
"cxx_class": "MessageBuffer",
"randomization": false,
"eventq_index": 0,
"buffer_size": 0,
"path": "system.ruby.network.int_link_buffers17",
"type": "MessageBuffer"
},
{
"ordered": true,
"name": "int_link_buffers18",
"cxx_class": "MessageBuffer",
"randomization": false,
"eventq_index": 0,
"buffer_size": 0,
"path": "system.ruby.network.int_link_buffers18",
"type": "MessageBuffer"
},
{
"ordered": true,
"name": "int_link_buffers19",
"cxx_class": "MessageBuffer",
"randomization": false,
"eventq_index": 0,
"buffer_size": 0,
"path": "system.ruby.network.int_link_buffers19",
"type": "MessageBuffer"
},
{
"ordered": true,
"name": "int_link_buffers20",
"cxx_class": "MessageBuffer",
"randomization": false,
"eventq_index": 0,
"buffer_size": 0,
"path": "system.ruby.network.int_link_buffers20",
"type": "MessageBuffer"
},
{
"ordered": true,
"name": "int_link_buffers21",
"cxx_class": "MessageBuffer",
"randomization": false,
"eventq_index": 0,
"buffer_size": 0,
"path": "system.ruby.network.int_link_buffers21",
"type": "MessageBuffer"
},
{
"ordered": true,
"name": "int_link_buffers22",
"cxx_class": "MessageBuffer",
"randomization": false,
"eventq_index": 0,
"buffer_size": 0,
"path": "system.ruby.network.int_link_buffers22",
"type": "MessageBuffer"
},
{
"ordered": true,
"name": "int_link_buffers23",
"cxx_class": "MessageBuffer",
"randomization": false,
"eventq_index": 0,
"buffer_size": 0,
"path": "system.ruby.network.int_link_buffers23",
"type": "MessageBuffer"
},
{
"ordered": true,
"name": "int_link_buffers24",
"cxx_class": "MessageBuffer",
"randomization": false,
"eventq_index": 0,
"buffer_size": 0,
"path": "system.ruby.network.int_link_buffers24",
"type": "MessageBuffer"
},
{
"ordered": true,
"name": "int_link_buffers25",
"cxx_class": "MessageBuffer",
"randomization": false,
"eventq_index": 0,
"buffer_size": 0,
"path": "system.ruby.network.int_link_buffers25",
"type": "MessageBuffer"
},
{
"ordered": true,
"name": "int_link_buffers26",
"cxx_class": "MessageBuffer",
"randomization": false,
"eventq_index": 0,
"buffer_size": 0,
"path": "system.ruby.network.int_link_buffers26",
"type": "MessageBuffer"
},
{
"ordered": true,
"name": "int_link_buffers27",
"cxx_class": "MessageBuffer",
"randomization": false,
"eventq_index": 0,
"buffer_size": 0,
"path": "system.ruby.network.int_link_buffers27",
"type": "MessageBuffer"
},
{
"ordered": true,
"name": "int_link_buffers28",
"cxx_class": "MessageBuffer",
"randomization": false,
"eventq_index": 0,
"buffer_size": 0,
"path": "system.ruby.network.int_link_buffers28",
"type": "MessageBuffer"
},
{
"ordered": true,
"name": "int_link_buffers29",
"cxx_class": "MessageBuffer",
"randomization": false,
"eventq_index": 0,
"buffer_size": 0,
"path": "system.ruby.network.int_link_buffers29",
"type": "MessageBuffer"
},
{
"ordered": true,
"name": "int_link_buffers30",
"cxx_class": "MessageBuffer",
"randomization": false,
"eventq_index": 0,
"buffer_size": 0,
"path": "system.ruby.network.int_link_buffers30",
"type": "MessageBuffer"
},
{
"ordered": true,
"name": "int_link_buffers31",
"cxx_class": "MessageBuffer",
"randomization": false,
"eventq_index": 0,
"buffer_size": 0,
"path": "system.ruby.network.int_link_buffers31",
"type": "MessageBuffer"
},
{
"ordered": true,
"name": "int_link_buffers32",
"cxx_class": "MessageBuffer",
"randomization": false,
"eventq_index": 0,
"buffer_size": 0,
"path": "system.ruby.network.int_link_buffers32",
"type": "MessageBuffer"
},
{
"ordered": true,
"name": "int_link_buffers33",
"cxx_class": "MessageBuffer",
"randomization": false,
"eventq_index": 0,
"buffer_size": 0,
"path": "system.ruby.network.int_link_buffers33",
"type": "MessageBuffer"
},
{
"ordered": true,
"name": "int_link_buffers34",
"cxx_class": "MessageBuffer",
"randomization": false,
"eventq_index": 0,
"buffer_size": 0,
"path": "system.ruby.network.int_link_buffers34",
"type": "MessageBuffer"
},
{
"ordered": true,
"name": "int_link_buffers35",
"cxx_class": "MessageBuffer",
"randomization": false,
"eventq_index": 0,
"buffer_size": 0,
"path": "system.ruby.network.int_link_buffers35",
"type": "MessageBuffer"
},
{
"ordered": true,
"name": "int_link_buffers36",
"cxx_class": "MessageBuffer",
"randomization": false,
"eventq_index": 0,
"buffer_size": 0,
"path": "system.ruby.network.int_link_buffers36",
"type": "MessageBuffer"
},
{
"ordered": true,
"name": "int_link_buffers37",
"cxx_class": "MessageBuffer",
"randomization": false,
"eventq_index": 0,
"buffer_size": 0,
"path": "system.ruby.network.int_link_buffers37",
"type": "MessageBuffer"
},
{
"ordered": true,
"name": "int_link_buffers38",
"cxx_class": "MessageBuffer",
"randomization": false,
"eventq_index": 0,
"buffer_size": 0,
"path": "system.ruby.network.int_link_buffers38",
"type": "MessageBuffer"
},
{
"ordered": true,
"name": "int_link_buffers39",
"cxx_class": "MessageBuffer",
"randomization": false,
"eventq_index": 0,
"buffer_size": 0,
"path": "system.ruby.network.int_link_buffers39",
"type": "MessageBuffer"
}
],
"cxx_class": "SimpleNetwork",
"clk_domain": "system.ruby.clk_domain",
"adaptive_routing": false,
"eventq_index": 0,
"default_p_state": "UNDEFINED",
"p_state_clk_gate_max": 1000000000,
"master": {
"peer": [
"system.ruby.l1_cntrl0.forwardToCache.slave",
"system.ruby.l1_cntrl0.responseToCache.slave",
"system.ruby.dir_cntrl0.requestToDir.slave",
"system.ruby.dir_cntrl0.dmaRequestToDir.slave"
],
"role": "MASTER"
},
"topology": "Crossbar",
"type": "SimpleNetwork",
"slave": {
"peer": [
"system.ruby.l1_cntrl0.requestFromCache.master",
"system.ruby.l1_cntrl0.responseFromCache.master",
"system.ruby.dir_cntrl0.responseFromDir.master",
"system.ruby.dir_cntrl0.dmaResponseFromDir.master",
"system.ruby.dir_cntrl0.forwardFromDir.master"
],
"role": "SLAVE"
},
"p_state_clk_gate_min": 1,
"int_links": [
{
"latency": 1,
"name": "int_links0",
"weight": 1,
"src_node": "system.ruby.network.routers0",
"dst_inport": "",
"link_id": 2,
"dst_node": "system.ruby.network.routers2",
"eventq_index": 0,
"src_outport": "",
"cxx_class": "SimpleIntLink",
"path": "system.ruby.network.int_links0",
"type": "SimpleIntLink",
"bandwidth_factor": 16
},
{
"latency": 1,
"name": "int_links1",
"weight": 1,
"src_node": "system.ruby.network.routers1",
"dst_inport": "",
"link_id": 3,
"dst_node": "system.ruby.network.routers2",
"eventq_index": 0,
"src_outport": "",
"cxx_class": "SimpleIntLink",
"path": "system.ruby.network.int_links1",
"type": "SimpleIntLink",
"bandwidth_factor": 16
},
{
"latency": 1,
"name": "int_links2",
"weight": 1,
"src_node": "system.ruby.network.routers2",
"dst_inport": "",
"link_id": 4,
"dst_node": "system.ruby.network.routers0",
"eventq_index": 0,
"src_outport": "",
"cxx_class": "SimpleIntLink",
"path": "system.ruby.network.int_links2",
"type": "SimpleIntLink",
"bandwidth_factor": 16
},
{
"latency": 1,
"name": "int_links3",
"weight": 1,
"src_node": "system.ruby.network.routers2",
"dst_inport": "",
"link_id": 5,
"dst_node": "system.ruby.network.routers1",
"eventq_index": 0,
"src_outport": "",
"cxx_class": "SimpleIntLink",
"path": "system.ruby.network.int_links3",
"type": "SimpleIntLink",
"bandwidth_factor": 16
}
],
"routers": [
{
"router_id": 0,
"latency": 1,
"name": "routers0",
"p_state_clk_gate_min": 1,
"virt_nets": 5,
"p_state_clk_gate_bins": 20,
"cxx_class": "Switch",
"clk_domain": "system.ruby.clk_domain",
"power_model": null,
"eventq_index": 0,
"default_p_state": "UNDEFINED",
"p_state_clk_gate_max": 1000000000,
"path": "system.ruby.network.routers0",
"type": "Switch",
"port_buffers": [
{
"ordered": true,
"name": "port_buffers00",
"cxx_class": "MessageBuffer",
"randomization": false,
"eventq_index": 0,
"buffer_size": 0,
"path": "system.ruby.network.routers0.port_buffers00",
"type": "MessageBuffer"
},
{
"ordered": true,
"name": "port_buffers01",
"cxx_class": "MessageBuffer",
"randomization": false,
"eventq_index": 0,
"buffer_size": 0,
"path": "system.ruby.network.routers0.port_buffers01",
"type": "MessageBuffer"
},
{
"ordered": true,
"name": "port_buffers02",
"cxx_class": "MessageBuffer",
"randomization": false,
"eventq_index": 0,
"buffer_size": 0,
"path": "system.ruby.network.routers0.port_buffers02",
"type": "MessageBuffer"
},
{
"ordered": true,
"name": "port_buffers03",
"cxx_class": "MessageBuffer",
"randomization": false,
"eventq_index": 0,
"buffer_size": 0,
"path": "system.ruby.network.routers0.port_buffers03",
"type": "MessageBuffer"
},
{
"ordered": true,
"name": "port_buffers04",
"cxx_class": "MessageBuffer",
"randomization": false,
"eventq_index": 0,
"buffer_size": 0,
"path": "system.ruby.network.routers0.port_buffers04",
"type": "MessageBuffer"
},
{
"ordered": true,
"name": "port_buffers05",
"cxx_class": "MessageBuffer",
"randomization": false,
"eventq_index": 0,
"buffer_size": 0,
"path": "system.ruby.network.routers0.port_buffers05",
"type": "MessageBuffer"
},
{
"ordered": true,
"name": "port_buffers06",
"cxx_class": "MessageBuffer",
"randomization": false,
"eventq_index": 0,
"buffer_size": 0,
"path": "system.ruby.network.routers0.port_buffers06",
"type": "MessageBuffer"
},
{
"ordered": true,
"name": "port_buffers07",
"cxx_class": "MessageBuffer",
"randomization": false,
"eventq_index": 0,
"buffer_size": 0,
"path": "system.ruby.network.routers0.port_buffers07",
"type": "MessageBuffer"
},
{
"ordered": true,
"name": "port_buffers08",
"cxx_class": "MessageBuffer",
"randomization": false,
"eventq_index": 0,
"buffer_size": 0,
"path": "system.ruby.network.routers0.port_buffers08",
"type": "MessageBuffer"
},
{
"ordered": true,
"name": "port_buffers09",
"cxx_class": "MessageBuffer",
"randomization": false,
"eventq_index": 0,
"buffer_size": 0,
"path": "system.ruby.network.routers0.port_buffers09",
"type": "MessageBuffer"
},
{
"ordered": true,
"name": "port_buffers10",
"cxx_class": "MessageBuffer",
"randomization": false,
"eventq_index": 0,
"buffer_size": 0,
"path": "system.ruby.network.routers0.port_buffers10",
"type": "MessageBuffer"
},
{
"ordered": true,
"name": "port_buffers11",
"cxx_class": "MessageBuffer",
"randomization": false,
"eventq_index": 0,
"buffer_size": 0,
"path": "system.ruby.network.routers0.port_buffers11",
"type": "MessageBuffer"
},
{
"ordered": true,
"name": "port_buffers12",
"cxx_class": "MessageBuffer",
"randomization": false,
"eventq_index": 0,
"buffer_size": 0,
"path": "system.ruby.network.routers0.port_buffers12",
"type": "MessageBuffer"
},
{
"ordered": true,
"name": "port_buffers13",
"cxx_class": "MessageBuffer",
"randomization": false,
"eventq_index": 0,
"buffer_size": 0,
"path": "system.ruby.network.routers0.port_buffers13",
"type": "MessageBuffer"
},
{
"ordered": true,
"name": "port_buffers14",
"cxx_class": "MessageBuffer",
"randomization": false,
"eventq_index": 0,
"buffer_size": 0,
"path": "system.ruby.network.routers0.port_buffers14",
"type": "MessageBuffer"
}
]
},
{
"router_id": 1,
"latency": 1,
"name": "routers1",
"p_state_clk_gate_min": 1,
"virt_nets": 5,
"p_state_clk_gate_bins": 20,
"cxx_class": "Switch",
"clk_domain": "system.ruby.clk_domain",
"power_model": null,
"eventq_index": 0,
"default_p_state": "UNDEFINED",
"p_state_clk_gate_max": 1000000000,
"path": "system.ruby.network.routers1",
"type": "Switch",
"port_buffers": [
{
"ordered": true,
"name": "port_buffers00",
"cxx_class": "MessageBuffer",
"randomization": false,
"eventq_index": 0,
"buffer_size": 0,
"path": "system.ruby.network.routers1.port_buffers00",
"type": "MessageBuffer"
},
{
"ordered": true,
"name": "port_buffers01",
"cxx_class": "MessageBuffer",
"randomization": false,
"eventq_index": 0,
"buffer_size": 0,
"path": "system.ruby.network.routers1.port_buffers01",
"type": "MessageBuffer"
},
{
"ordered": true,
"name": "port_buffers02",
"cxx_class": "MessageBuffer",
"randomization": false,
"eventq_index": 0,
"buffer_size": 0,
"path": "system.ruby.network.routers1.port_buffers02",
"type": "MessageBuffer"
},
{
"ordered": true,
"name": "port_buffers03",
"cxx_class": "MessageBuffer",
"randomization": false,
"eventq_index": 0,
"buffer_size": 0,
"path": "system.ruby.network.routers1.port_buffers03",
"type": "MessageBuffer"
},
{
"ordered": true,
"name": "port_buffers04",
"cxx_class": "MessageBuffer",
"randomization": false,
"eventq_index": 0,
"buffer_size": 0,
"path": "system.ruby.network.routers1.port_buffers04",
"type": "MessageBuffer"
},
{
"ordered": true,
"name": "port_buffers05",
"cxx_class": "MessageBuffer",
"randomization": false,
"eventq_index": 0,
"buffer_size": 0,
"path": "system.ruby.network.routers1.port_buffers05",
"type": "MessageBuffer"
},
{
"ordered": true,
"name": "port_buffers06",
"cxx_class": "MessageBuffer",
"randomization": false,
"eventq_index": 0,
"buffer_size": 0,
"path": "system.ruby.network.routers1.port_buffers06",
"type": "MessageBuffer"
},
{
"ordered": true,
"name": "port_buffers07",
"cxx_class": "MessageBuffer",
"randomization": false,
"eventq_index": 0,
"buffer_size": 0,
"path": "system.ruby.network.routers1.port_buffers07",
"type": "MessageBuffer"
},
{
"ordered": true,
"name": "port_buffers08",
"cxx_class": "MessageBuffer",
"randomization": false,
"eventq_index": 0,
"buffer_size": 0,
"path": "system.ruby.network.routers1.port_buffers08",
"type": "MessageBuffer"
},
{
"ordered": true,
"name": "port_buffers09",
"cxx_class": "MessageBuffer",
"randomization": false,
"eventq_index": 0,
"buffer_size": 0,
"path": "system.ruby.network.routers1.port_buffers09",
"type": "MessageBuffer"
},
{
"ordered": true,
"name": "port_buffers10",
"cxx_class": "MessageBuffer",
"randomization": false,
"eventq_index": 0,
"buffer_size": 0,
"path": "system.ruby.network.routers1.port_buffers10",
"type": "MessageBuffer"
},
{
"ordered": true,
"name": "port_buffers11",
"cxx_class": "MessageBuffer",
"randomization": false,
"eventq_index": 0,
"buffer_size": 0,
"path": "system.ruby.network.routers1.port_buffers11",
"type": "MessageBuffer"
},
{
"ordered": true,
"name": "port_buffers12",
"cxx_class": "MessageBuffer",
"randomization": false,
"eventq_index": 0,
"buffer_size": 0,
"path": "system.ruby.network.routers1.port_buffers12",
"type": "MessageBuffer"
},
{
"ordered": true,
"name": "port_buffers13",
"cxx_class": "MessageBuffer",
"randomization": false,
"eventq_index": 0,
"buffer_size": 0,
"path": "system.ruby.network.routers1.port_buffers13",
"type": "MessageBuffer"
},
{
"ordered": true,
"name": "port_buffers14",
"cxx_class": "MessageBuffer",
"randomization": false,
"eventq_index": 0,
"buffer_size": 0,
"path": "system.ruby.network.routers1.port_buffers14",
"type": "MessageBuffer"
}
]
},
{
"router_id": 2,
"latency": 1,
"name": "routers2",
"p_state_clk_gate_min": 1,
"virt_nets": 5,
"p_state_clk_gate_bins": 20,
"cxx_class": "Switch",
"clk_domain": "system.ruby.clk_domain",
"power_model": null,
"eventq_index": 0,
"default_p_state": "UNDEFINED",
"p_state_clk_gate_max": 1000000000,
"path": "system.ruby.network.routers2",
"type": "Switch",
"port_buffers": [
{
"ordered": true,
"name": "port_buffers00",
"cxx_class": "MessageBuffer",
"randomization": false,
"eventq_index": 0,
"buffer_size": 0,
"path": "system.ruby.network.routers2.port_buffers00",
"type": "MessageBuffer"
},
{
"ordered": true,
"name": "port_buffers01",
"cxx_class": "MessageBuffer",
"randomization": false,
"eventq_index": 0,
"buffer_size": 0,
"path": "system.ruby.network.routers2.port_buffers01",
"type": "MessageBuffer"
},
{
"ordered": true,
"name": "port_buffers02",
"cxx_class": "MessageBuffer",
"randomization": false,
"eventq_index": 0,
"buffer_size": 0,
"path": "system.ruby.network.routers2.port_buffers02",
"type": "MessageBuffer"
},
{
"ordered": true,
"name": "port_buffers03",
"cxx_class": "MessageBuffer",
"randomization": false,
"eventq_index": 0,
"buffer_size": 0,
"path": "system.ruby.network.routers2.port_buffers03",
"type": "MessageBuffer"
},
{
"ordered": true,
"name": "port_buffers04",
"cxx_class": "MessageBuffer",
"randomization": false,
"eventq_index": 0,
"buffer_size": 0,
"path": "system.ruby.network.routers2.port_buffers04",
"type": "MessageBuffer"
},
{
"ordered": true,
"name": "port_buffers05",
"cxx_class": "MessageBuffer",
"randomization": false,
"eventq_index": 0,
"buffer_size": 0,
"path": "system.ruby.network.routers2.port_buffers05",
"type": "MessageBuffer"
},
{
"ordered": true,
"name": "port_buffers06",
"cxx_class": "MessageBuffer",
"randomization": false,
"eventq_index": 0,
"buffer_size": 0,
"path": "system.ruby.network.routers2.port_buffers06",
"type": "MessageBuffer"
},
{
"ordered": true,
"name": "port_buffers07",
"cxx_class": "MessageBuffer",
"randomization": false,
"eventq_index": 0,
"buffer_size": 0,
"path": "system.ruby.network.routers2.port_buffers07",
"type": "MessageBuffer"
},
{
"ordered": true,
"name": "port_buffers08",
"cxx_class": "MessageBuffer",
"randomization": false,
"eventq_index": 0,
"buffer_size": 0,
"path": "system.ruby.network.routers2.port_buffers08",
"type": "MessageBuffer"
},
{
"ordered": true,
"name": "port_buffers09",
"cxx_class": "MessageBuffer",
"randomization": false,
"eventq_index": 0,
"buffer_size": 0,
"path": "system.ruby.network.routers2.port_buffers09",
"type": "MessageBuffer"
},
{
"ordered": true,
"name": "port_buffers10",
"cxx_class": "MessageBuffer",
"randomization": false,
"eventq_index": 0,
"buffer_size": 0,
"path": "system.ruby.network.routers2.port_buffers10",
"type": "MessageBuffer"
},
{
"ordered": true,
"name": "port_buffers11",
"cxx_class": "MessageBuffer",
"randomization": false,
"eventq_index": 0,
"buffer_size": 0,
"path": "system.ruby.network.routers2.port_buffers11",
"type": "MessageBuffer"
},
{
"ordered": true,
"name": "port_buffers12",
"cxx_class": "MessageBuffer",
"randomization": false,
"eventq_index": 0,
"buffer_size": 0,
"path": "system.ruby.network.routers2.port_buffers12",
"type": "MessageBuffer"
},
{
"ordered": true,
"name": "port_buffers13",
"cxx_class": "MessageBuffer",
"randomization": false,
"eventq_index": 0,
"buffer_size": 0,
"path": "system.ruby.network.routers2.port_buffers13",
"type": "MessageBuffer"
},
{
"ordered": true,
"name": "port_buffers14",
"cxx_class": "MessageBuffer",
"randomization": false,
"eventq_index": 0,
"buffer_size": 0,
"path": "system.ruby.network.routers2.port_buffers14",
"type": "MessageBuffer"
},
{
"ordered": true,
"name": "port_buffers15",
"cxx_class": "MessageBuffer",
"randomization": false,
"eventq_index": 0,
"buffer_size": 0,
"path": "system.ruby.network.routers2.port_buffers15",
"type": "MessageBuffer"
},
{
"ordered": true,
"name": "port_buffers16",
"cxx_class": "MessageBuffer",
"randomization": false,
"eventq_index": 0,
"buffer_size": 0,
"path": "system.ruby.network.routers2.port_buffers16",
"type": "MessageBuffer"
},
{
"ordered": true,
"name": "port_buffers17",
"cxx_class": "MessageBuffer",
"randomization": false,
"eventq_index": 0,
"buffer_size": 0,
"path": "system.ruby.network.routers2.port_buffers17",
"type": "MessageBuffer"
},
{
"ordered": true,
"name": "port_buffers18",
"cxx_class": "MessageBuffer",
"randomization": false,
"eventq_index": 0,
"buffer_size": 0,
"path": "system.ruby.network.routers2.port_buffers18",
"type": "MessageBuffer"
},
{
"ordered": true,
"name": "port_buffers19",
"cxx_class": "MessageBuffer",
"randomization": false,
"eventq_index": 0,
"buffer_size": 0,
"path": "system.ruby.network.routers2.port_buffers19",
"type": "MessageBuffer"
}
]
}
],
"power_model": null,
"netifs": [],
"control_msg_size": 8,
"buffer_size": 0,
"endpoint_bandwidth": 1000,
"ruby_system": "system.ruby",
"name": "network",
"p_state_clk_gate_bins": 20,
"ext_links": [
{
"latency": 1,
"name": "ext_links0",
"weight": 1,
"ext_node": "system.ruby.l1_cntrl0",
"link_id": 0,
"eventq_index": 0,
"cxx_class": "SimpleExtLink",
"path": "system.ruby.network.ext_links0",
"int_node": "system.ruby.network.routers0",
"type": "SimpleExtLink",
"bandwidth_factor": 16
},
{
"latency": 1,
"name": "ext_links1",
"weight": 1,
"ext_node": "system.ruby.dir_cntrl0",
"link_id": 1,
"eventq_index": 0,
"cxx_class": "SimpleExtLink",
"path": "system.ruby.network.ext_links1",
"int_node": "system.ruby.network.routers1",
"type": "SimpleExtLink",
"bandwidth_factor": 16
}
],
"number_of_virtual_networks": 5,
"path": "system.ruby.network"
},
"clk_domain": {
"name": "clk_domain",
"clock": [
1
],
"init_perf_level": 0,
"voltage_domain": "system.voltage_domain",
"eventq_index": 0,
"cxx_class": "SrcClockDomain",
"path": "system.ruby.clk_domain",
"type": "SrcClockDomain",
"domain_id": -1
},
"randomization": false,
"eventq_index": 0,
"default_p_state": "UNDEFINED",
"p_state_clk_gate_max": 1000000000,
"phys_mem": null,
"type": "RubySystem",
"p_state_clk_gate_min": 1,
"hot_lines": false,
"power_model": null,
"path": "system.ruby",
"memctrl_clk_domain": {
"name": "memctrl_clk_domain",
"clk_domain": "system.ruby.clk_domain",
"eventq_index": 0,
"cxx_class": "DerivedClockDomain",
"path": "system.ruby.memctrl_clk_domain",
"type": "DerivedClockDomain",
"clk_divider": 3
},
"name": "ruby",
"p_state_clk_gate_bins": 20,
"block_size_bytes": 64,
"access_backing_store": false,
"number_of_virtual_networks": 5,
"num_of_sequencers": 1,
"dir_cntrl0": {
"system": "system",
"cluster_id": 0,
"responseFromMemory": {
"ordered": false,
"name": "responseFromMemory",
"cxx_class": "MessageBuffer",
"randomization": false,
"eventq_index": 0,
"buffer_size": 0,
"path": "system.ruby.dir_cntrl0.responseFromMemory",
"type": "MessageBuffer"
},
"cxx_class": "Directory_Controller",
"forwardFromDir": {
"ordered": false,
"name": "forwardFromDir",
"cxx_class": "MessageBuffer",
"randomization": false,
"eventq_index": 0,
"master": {
"peer": "system.ruby.network.slave[4]",
"role": "MASTER"
},
"buffer_size": 0,
"path": "system.ruby.dir_cntrl0.forwardFromDir",
"type": "MessageBuffer"
},
"dmaRequestToDir": {
"ordered": true,
"name": "dmaRequestToDir",
"cxx_class": "MessageBuffer",
"slave": {
"peer": "system.ruby.network.master[3]",
"role": "SLAVE"
},
"randomization": false,
"eventq_index": 0,
"buffer_size": 0,
"path": "system.ruby.dir_cntrl0.dmaRequestToDir",
"type": "MessageBuffer"
},
"type": "Directory_Controller",
"recycle_latency": 10,
"clk_domain": "system.ruby.clk_domain",
"version": 0,
"eventq_index": 0,
"default_p_state": "UNDEFINED",
"p_state_clk_gate_max": 1000000000,
"directory_latency": 12,
"number_of_TBEs": 256,
"to_memory_controller_latency": 1,
"p_state_clk_gate_min": 1,
"responseFromDir": {
"ordered": false,
"name": "responseFromDir",
"cxx_class": "MessageBuffer",
"randomization": false,
"eventq_index": 0,
"master": {
"peer": "system.ruby.network.slave[2]",
"role": "MASTER"
},
"buffer_size": 0,
"path": "system.ruby.dir_cntrl0.responseFromDir",
"type": "MessageBuffer"
},
"transitions_per_cycle": 32,
"memory": {
"peer": "system.mem_ctrls.port",
"role": "MASTER"
},
"power_model": null,
"addr_ranges": [
"0:268435455:5:0:0:0"
],
"buffer_size": 0,
"ruby_system": "system.ruby",
"requestToDir": {
"ordered": true,
"name": "requestToDir",
"cxx_class": "MessageBuffer",
"slave": {
"peer": "system.ruby.network.master[2]",
"role": "SLAVE"
},
"randomization": false,
"eventq_index": 0,
"buffer_size": 0,
"path": "system.ruby.dir_cntrl0.requestToDir",
"type": "MessageBuffer"
},
"dmaResponseFromDir": {
"ordered": true,
"name": "dmaResponseFromDir",
"cxx_class": "MessageBuffer",
"randomization": false,
"eventq_index": 0,
"master": {
"peer": "system.ruby.network.slave[3]",
"role": "MASTER"
},
"buffer_size": 0,
"path": "system.ruby.dir_cntrl0.dmaResponseFromDir",
"type": "MessageBuffer"
},
"name": "dir_cntrl0",
"p_state_clk_gate_bins": 20,
"directory": {
"name": "directory",
"addr_ranges": [
"0:268435455:5:0:0:0"
],
"eventq_index": 0,
"cxx_class": "DirectoryMemory",
"path": "system.ruby.dir_cntrl0.directory",
"type": "RubyDirectoryMemory"
},
"path": "system.ruby.dir_cntrl0"
}
},
"work_end_ckpt_count": 0,
"mem_mode": "timing",
"name": "system",
"init_param": 0,
"p_state_clk_gate_bins": 20,
"load_addr_mask": 1099511627775,
"cpu": {
"do_statistics_insts": true,
"numThreads": 1,
"itb": {
"name": "itb",
"eventq_index": 0,
"cxx_class": "RiscvISA::TLB",
"path": "system.cpu.itb",
"type": "RiscvTLB",
"size": 64
},
"system": "system",
"function_trace": false,
"do_checkpoint_insts": true,
"cxx_class": "TimingSimpleCPU",
"max_loads_all_threads": 0,
"clk_domain": {
"name": "clk_domain",
"clock": [
1
],
"init_perf_level": 0,
"voltage_domain": "system.voltage_domain",
"eventq_index": 0,
"cxx_class": "SrcClockDomain",
"path": "system.cpu.clk_domain",
"type": "SrcClockDomain",
"domain_id": -1
},
"function_trace_start": 0,
"cpu_id": 0,
"checker": null,
"eventq_index": 0,
"default_p_state": "UNDEFINED",
"p_state_clk_gate_max": 1000000000,
"do_quiesce": true,
"type": "TimingSimpleCPU",
"profile": 0,
"icache_port": {
"peer": "system.ruby.l1_cntrl0.sequencer.slave[0]",
"role": "MASTER"
},
"p_state_clk_gate_bins": 20,
"p_state_clk_gate_min": 1,
"syscallRetryLatency": 10000,
"interrupts": [
{
"eventq_index": 0,
"path": "system.cpu.interrupts",
"type": "RiscvInterrupts",
"name": "interrupts",
"cxx_class": "RiscvISA::Interrupts"
}
],
"dcache_port": {
"peer": "system.ruby.l1_cntrl0.sequencer.slave[1]",
"role": "MASTER"
},
"socket_id": 0,
"power_model": null,
"max_insts_all_threads": 0,
"path": "system.cpu",
"max_loads_any_thread": 0,
"switched_out": false,
"workload": [
{
"uid": 100,
"pid": 100,
"kvmInSE": false,
"cxx_class": "Process",
"executable": "/home/ar4jc/gem5/tests/testing/../test-progs/hello/bin/riscv/linux/hello",
"drivers": [],
"system": "system",
"gid": 100,
"eventq_index": 0,
"env": [],
"maxStackSize": 67108864,
"ppid": 0,
"type": "Process",
"cwd": "",
"pgid": 100,
"simpoint": 0,
"euid": 100,
"input": "cin",
"path": "system.cpu.workload",
"name": "workload",
"cmd": [
"hello"
],
"errout": "cerr",
"useArchPT": false,
"egid": 100,
"output": "cout"
}
],
"name": "cpu",
"wait_for_remote_gdb": false,
"dtb": {
"name": "dtb",
"eventq_index": 0,
"cxx_class": "RiscvISA::TLB",
"path": "system.cpu.dtb",
"type": "RiscvTLB",
"size": 64
},
"simpoint_start_insts": [],
"max_insts_any_thread": 0,
"progress_interval": 0,
"branchPred": null,
"isa": [
{
"eventq_index": 0,
"path": "system.cpu.isa",
"type": "RiscvISA",
"name": "isa",
"cxx_class": "RiscvISA::ISA"
}
],
"tracer": {
"eventq_index": 0,
"path": "system.cpu.tracer",
"type": "ExeTracer",
"name": "tracer",
"cxx_class": "Trace::ExeTracer"
}
},
"multi_thread": false,
"mem_ctrls": [
{
"static_frontend_latency": 10,
"tRFC": 260,
"activation_limit": 4,
"in_addr_map": true,
"IDD3N2": "0.0",
"tWTR": 8,
"IDD52": "0.0",
"clk_domain": "system.clk_domain",
"channels": 1,
"write_buffer_size": 64,
"device_bus_width": 8,
"VDD": "1.5",
"write_high_thresh_perc": 85,
"cxx_class": "DRAMCtrl",
"bank_groups_per_rank": 0,
"IDD2N2": "0.0",
"port": {
"peer": "system.ruby.dir_cntrl0.memory",
"role": "SLAVE"
},
"tCCD_L": 0,
"IDD2N": "0.032",
"p_state_clk_gate_min": 1,
"null": false,
"IDD2P1": "0.032",
"eventq_index": 0,
"tRRD": 6,
"tRTW": 3,
"IDD4R": "0.157",
"burst_length": 8,
"tRTP": 8,
"IDD4W": "0.125",
"tWR": 15,
"banks_per_rank": 8,
"devices_per_rank": 8,
"IDD2P02": "0.0",
"default_p_state": "UNDEFINED",
"p_state_clk_gate_max": 1000000000,
"IDD6": "0.02",
"IDD5": "0.235",
"tRCD": 14,
"type": "DRAMCtrl",
"IDD3P02": "0.0",
"tRRD_L": 0,
"IDD0": "0.055",
"IDD62": "0.0",
"min_writes_per_switch": 16,
"mem_sched_policy": "frfcfs",
"IDD02": "0.0",
"IDD2P0": "0.0",
"ranks_per_channel": 2,
"page_policy": "open_adaptive",
"IDD4W2": "0.0",
"tCS": 3,
"power_model": null,
"tCL": 14,
"read_buffer_size": 32,
"conf_table_reported": true,
"tCK": 1,
"tRAS": 35,
"tRP": 14,
"tBURST": 5,
"path": "system.mem_ctrls",
"tXP": 6,
"tXS": 270,
"addr_mapping": "RoRaBaCoCh",
"IDD3P0": "0.0",
"IDD3P1": "0.038",
"IDD3N": "0.038",
"name": "mem_ctrls",
"tXSDLL": 0,
"device_size": 536870912,
"kvm_map": true,
"dll": true,
"tXAW": 30,
"write_low_thresh_perc": 50,
"range": "0:268435455:5:19:0:0",
"VDD2": "0.0",
"IDD2P12": "0.0",
"p_state_clk_gate_bins": 20,
"tXPDLL": 0,
"IDD4R2": "0.0",
"device_rowbuffer_size": 1024,
"static_backend_latency": 10,
"max_accesses_per_row": 16,
"IDD3P12": "0.0",
"tREFI": 7800
}
],
"exit_on_work_items": false,
"work_item_id": -1,
"num_work_ids": 16
},
"time_sync_period": 100000000,
"eventq_index": 0,
"time_sync_spin_threshold": 100000,
"cxx_class": "Root",
"path": "root",
"time_sync_enable": false,
"type": "Root",
"full_system": false
}