scope refactoring: adding modules definitions to VCD trace
This commit is contained in:
@@ -6,125 +6,196 @@
|
||||
"../rtl/VX_define.vh",
|
||||
"../rtl/cache/VX_cache_config.vh"
|
||||
],
|
||||
"parameters": {
|
||||
"L3_ENABLE": "`L3_ENABLE",
|
||||
"L2_ENABLE": "`L2_ENABLE",
|
||||
"NUM_CLUSTERS": "`NUM_CLUSTERS",
|
||||
"NUM_CORES": "`NUM_CORES",
|
||||
"DNUM_BANKS": "`DNUM_BANKS",
|
||||
"INUM_BANKS": "`INUM_BANKS",
|
||||
"SNUM_BANKS": "`SNUM_BANKS",
|
||||
"L2NUM_BANKS": "`L2NUM_BANKS",
|
||||
"L3NUM_BANKS": "`L3NUM_BANKS"
|
||||
"modules": {
|
||||
"*": {
|
||||
"enabled": "(`NUM_CLUSTERS > 0)",
|
||||
"submodules": {
|
||||
"afu": {"type":"vortex_afu"}
|
||||
}
|
||||
},
|
||||
"vortex_afu": {
|
||||
"submodules": {
|
||||
"vortex": {"type":"Vortex"}
|
||||
}
|
||||
},
|
||||
"Vortex": {
|
||||
"submodules": {
|
||||
"cluster": {"type":"VX_cluster", "count":"`NUM_CLUSTERS"},
|
||||
"l3cache": {"type":"VX_cache", "enabled":"`L3_ENABLE", "params":{"NUM_BANKS":"`L3NUM_BANKS"}}
|
||||
}
|
||||
},
|
||||
"VX_cluster": {
|
||||
"submodules": {
|
||||
"core": {"type":"VX_core", "count":"`NUM_CORES"},
|
||||
"l2cache": {"type":"VX_cache", "enabled":"`L2_ENABLE", "params":{"NUM_BANKS":"`L2NUM_BANKS"}}
|
||||
}
|
||||
},
|
||||
"VX_core": {
|
||||
"submodules": {
|
||||
"pipeline": {"type":"VX_pipeline", "enabled":false},
|
||||
"mem_unit": {"type":"VX_mem_unit", "enabled":true}
|
||||
}
|
||||
},
|
||||
"VX_pipeline": {
|
||||
"submodules": {
|
||||
"fetch": {"type":"VX_fetch", "enabled":true},
|
||||
"decode": {"type":"VX_decode", "enabled":true},
|
||||
"issue": {"type":"VX_issue", "enabled":true},
|
||||
"execute": {"type":"VX_execute", "enabled":true},
|
||||
"commit": {"type":"VX_commit", "enabled":true}
|
||||
}
|
||||
},
|
||||
"VX_fetch": {
|
||||
"submodules": {
|
||||
"warp_sched": {"type":"VX_warp_sched"},
|
||||
"icache_stage": {"type":"VX_icache_stage"}
|
||||
}
|
||||
},
|
||||
"VX_warp_sched": {},
|
||||
"VX_icache_stage": {},
|
||||
"VX_decode": {},
|
||||
"VX_issue": {},
|
||||
"VX_execute": {
|
||||
"submodules": {
|
||||
"lsu_unit": {"type":"VX_lsu_unit"},
|
||||
"gpu_unit": {"type":"VX_gpu_unit"}
|
||||
}
|
||||
},
|
||||
"VX_commit": {},
|
||||
"VX_lsu_unit": {},
|
||||
"VX_gpu_unit": {},
|
||||
"VX_mem_unit": {
|
||||
"submodules": {
|
||||
"smem": {"type":"VX_cache", "params":{"NUM_BANKS":"`SNUM_BANKS"}},
|
||||
"dcache": {"type":"VX_cache", "params":{"NUM_BANKS":"`DNUM_BANKS"}},
|
||||
"icache": {"type":"VX_cache", "params":{"NUM_BANKS":"`INUM_BANKS"}}
|
||||
}
|
||||
},
|
||||
"VX_cache": {
|
||||
"submodules": {
|
||||
"bank": {"type":"VX_bank", "count":"NUM_BANKS"}
|
||||
}
|
||||
},
|
||||
"VX_bank": {}
|
||||
},
|
||||
"taps": {
|
||||
"top::SCOPE_SIGNALS_AFU": {
|
||||
"!scope_dram_req_valid": 1,
|
||||
"scope_dram_req_addr": 32,
|
||||
"scope_dram_req_rw": 1,
|
||||
"scope_dram_req_byteen": "`VX_DRAM_BYTEEN_WIDTH",
|
||||
"scope_dram_req_data": "`VX_DRAM_LINE_WIDTH",
|
||||
"scope_dram_req_tag": "`VX_DRAM_TAG_WIDTH",
|
||||
"!scope_dram_req_ready": 1,
|
||||
"!scope_dram_rsp_valid": 1,
|
||||
"scope_dram_rsp_data": "`VX_DRAM_LINE_WIDTH",
|
||||
"scope_dram_rsp_tag": "`VX_DRAM_TAG_WIDTH",
|
||||
"!scope_dram_rsp_ready": 1,
|
||||
"!scope_snp_req_valid": 1,
|
||||
"scope_snp_req_addr": 32,
|
||||
"scope_snp_req_invalidate": 1,
|
||||
"scope_snp_req_tag": "`VX_SNP_TAG_WIDTH",
|
||||
"!scope_snp_req_ready": 1,
|
||||
"!scope_snp_rsp_valid": 1,
|
||||
"scope_snp_rsp_tag": "`VX_SNP_TAG_WIDTH",
|
||||
"!scope_snp_rsp_ready": 1,
|
||||
"scope_busy": 1
|
||||
"taps": {
|
||||
"afu": {
|
||||
"!reset": 1,
|
||||
"?dram_req_valid": 1,
|
||||
"dram_req_addr": 32,
|
||||
"dram_req_rw": 1,
|
||||
"dram_req_byteen":"`VX_DRAM_BYTEEN_WIDTH",
|
||||
"dram_req_data":"`VX_DRAM_LINE_WIDTH",
|
||||
"dram_req_tag":"`VX_DRAM_TAG_WIDTH",
|
||||
"?dram_req_ready": 1,
|
||||
"?dram_rsp_valid": 1,
|
||||
"dram_rsp_data":"`VX_DRAM_LINE_WIDTH",
|
||||
"dram_rsp_tag":"`VX_DRAM_TAG_WIDTH",
|
||||
"?dram_rsp_ready": 1,
|
||||
"?snp_req_valid": 1,
|
||||
"snp_req_addr": 32,
|
||||
"snp_req_invalidate": 1,
|
||||
"snp_req_tag":"`VX_SNP_TAG_WIDTH",
|
||||
"?snp_req_ready": 1,
|
||||
"?snp_rsp_valid": 1,
|
||||
"snp_rsp_tag":"`VX_SNP_TAG_WIDTH",
|
||||
"?snp_rsp_ready": 1,
|
||||
"busy": 1
|
||||
},
|
||||
"core::SCOPE_SIGNALS_ISTAGE": {
|
||||
"!scope_icache_req_valid": 1,
|
||||
"scope_icache_req_wid": "`NW_BITS",
|
||||
"scope_icache_req_addr": 32,
|
||||
"scope_icache_req_tag": "`ICORE_TAG_ID_BITS",
|
||||
"!scope_icache_req_ready": 1,
|
||||
"!scope_icache_rsp_valid": 1,
|
||||
"scope_icache_rsp_data": 32,
|
||||
"scope_icache_rsp_tag": "`ICORE_TAG_ID_BITS",
|
||||
"!scope_icache_rsp_ready": 1
|
||||
"afu/vortex/cluster/core/pipeline/fetch/icache_stage": {
|
||||
"?icache_req_valid": 1,
|
||||
"icache_req_wid":"`NW_BITS",
|
||||
"icache_req_addr": 32,
|
||||
"icache_req_tag":"`ICORE_TAG_ID_BITS",
|
||||
"?icache_req_ready": 1,
|
||||
"?icache_rsp_valid": 1,
|
||||
"icache_rsp_data": 32,
|
||||
"icache_rsp_tag":"`ICORE_TAG_ID_BITS",
|
||||
"?icache_rsp_ready": 1
|
||||
},
|
||||
"core::SCOPE_SIGNALS_LSU": {
|
||||
"!scope_dcache_req_valid": "`NUM_THREADS",
|
||||
"scope_dcache_req_wid": "`NW_BITS",
|
||||
"scope_dcache_req_pc": 32,
|
||||
"scope_dcache_req_addr": "`NUM_THREADS * 32",
|
||||
"scope_dcache_req_rw": 1,
|
||||
"scope_dcache_req_byteen": "`NUM_THREADS * 4",
|
||||
"scope_dcache_req_data": "`NUM_THREADS * 32",
|
||||
"scope_dcache_req_tag": "`DCORE_TAG_ID_BITS",
|
||||
"!scope_dcache_req_ready": 1,
|
||||
"!scope_dcache_rsp_valid": "`NUM_THREADS",
|
||||
"scope_dcache_rsp_data": "`NUM_THREADS * 32",
|
||||
"scope_dcache_rsp_tag": "`DCORE_TAG_ID_BITS",
|
||||
"!scope_dcache_rsp_ready": 1
|
||||
"afu/vortex/cluster/core/pipeline/fetch/warp_sched": {
|
||||
"?wsched_scheduled_warp": 1,
|
||||
"wsched_active_warps": "`NUM_WARPS",
|
||||
"wsched_schedule_table": "`NUM_WARPS",
|
||||
"wsched_schedule_ready": "`NUM_WARPS",
|
||||
"wsched_warp_to_schedule": "`NW_BITS",
|
||||
"wsched_warp_pc": "32"
|
||||
},
|
||||
"core::SCOPE_SIGNALS_ISSUE": {
|
||||
"!scope_issue_valid": 1,
|
||||
"scope_issue_wid": "`NW_BITS",
|
||||
"scope_issue_tmask": "`NUM_THREADS",
|
||||
"scope_issue_pc": 32,
|
||||
"scope_issue_ex_type": "`EX_BITS",
|
||||
"scope_issue_op_type": "`OP_BITS",
|
||||
"scope_issue_op_mod": "`MOD_BITS",
|
||||
"scope_issue_wb": 1,
|
||||
"scope_issue_rd": "`NR_BITS",
|
||||
"scope_issue_rs1": "`NR_BITS",
|
||||
"scope_issue_rs2": "`NR_BITS",
|
||||
"scope_issue_rs3": "`NR_BITS",
|
||||
"scope_issue_imm": 32,
|
||||
"scope_issue_rs1_is_pc": 1,
|
||||
"scope_issue_rs2_is_imm": 1,
|
||||
"!scope_issue_ready": 1,
|
||||
"scope_gpr_rsp_wid": "`NW_BITS",
|
||||
"scope_gpr_rsp_pc": 32,
|
||||
"scope_gpr_rsp_a": "`NUM_THREADS * 32",
|
||||
"scope_gpr_rsp_b": "`NUM_THREADS * 32",
|
||||
"scope_gpr_rsp_c": "`NUM_THREADS * 32",
|
||||
"!scope_gpr_delay": 1,
|
||||
"!scope_writeback_valid": 1,
|
||||
"scope_writeback_wid": "`NW_BITS",
|
||||
"scope_writeback_pc": 32,
|
||||
"scope_writeback_rd": "`NR_BITS",
|
||||
"scope_writeback_data": "`NUM_THREADS * 32",
|
||||
"!scope_scoreboard_delay": 1,
|
||||
"!scope_execute_delay": 1
|
||||
},
|
||||
"core::SCOPE_SIGNALS_EXECUTE": {},
|
||||
"bank::SCOPE_SIGNALS_BANK": {
|
||||
"!scope_bank_valid_st0": 1,
|
||||
"!scope_bank_valid_st1": 1,
|
||||
"!scope_bank_valid_st2": 1,
|
||||
"scope_bank_addr_st0": 32,
|
||||
"scope_bank_addr_st1": 32,
|
||||
"scope_bank_addr_st2": 32,
|
||||
"scope_bank_is_mrvq_st1": 1,
|
||||
"scope_bank_miss_st1": 1,
|
||||
"scope_bank_dirty_st1": 1,
|
||||
"!scope_bank_force_miss_st1": 1,
|
||||
"!scope_bank_stall_pipe": 1
|
||||
"afu/vortex/cluster/core/pipeline/execute/gpu_unit": {
|
||||
"?gpu_req_valid": 1,
|
||||
"gpu_req_wid": "`NW_BITS",
|
||||
"gpu_req_tmask": "`NUM_THREADS",
|
||||
"gpu_req_op_type": "`GPU_BITS",
|
||||
"gpu_req_rs1": "32",
|
||||
"gpu_req_rs2": "32",
|
||||
"?gpu_req_ready": 1,
|
||||
"?gpu_rsp_valid": 1,
|
||||
"gpu_rsp_wid": "`NW_BITS",
|
||||
"gpu_rsp_tmc": "`GPU_TMC_SIZE",
|
||||
"gpu_rsp_wspawn": "`GPU_WSPAWN_SIZE",
|
||||
"gpu_rsp_split": "`GPU_SPLIT_SIZE",
|
||||
"gpu_rsp_barrier": "`GPU_BARRIER_SIZE"
|
||||
},
|
||||
"afu/vortex/cluster/core/pipeline/execute/lsu_unit": {
|
||||
"?dcache_req_valid":"`NUM_THREADS",
|
||||
"dcache_req_wid":"`NW_BITS",
|
||||
"dcache_req_pc": 32,
|
||||
"dcache_req_addr":"`NUM_THREADS * 32",
|
||||
"dcache_req_rw": 1,
|
||||
"dcache_req_byteen":"`NUM_THREADS * 4",
|
||||
"dcache_req_data": "`NUM_THREADS * 32",
|
||||
"dcache_req_tag":"`DCORE_TAG_ID_BITS",
|
||||
"?dcache_req_ready": 1,
|
||||
"?dcache_rsp_valid":"`NUM_THREADS",
|
||||
"dcache_rsp_data":"`NUM_THREADS * 32",
|
||||
"dcache_rsp_tag":"`DCORE_TAG_ID_BITS",
|
||||
"?dcache_rsp_ready": 1
|
||||
},
|
||||
"afu/vortex/cluster/core/pipeline/issue": {
|
||||
"?issue_valid": 1,
|
||||
"issue_wid":"`NW_BITS",
|
||||
"issue_tmask":"`NUM_THREADS",
|
||||
"issue_pc": 32,
|
||||
"issue_ex_type":"`EX_BITS",
|
||||
"issue_op_type":"`OP_BITS",
|
||||
"issue_op_mod":"`MOD_BITS",
|
||||
"issue_wb": 1,
|
||||
"issue_rd":"`NR_BITS",
|
||||
"issue_rs1":"`NR_BITS",
|
||||
"issue_rs2":"`NR_BITS",
|
||||
"issue_rs3":"`NR_BITS",
|
||||
"issue_imm": 32,
|
||||
"issue_rs1_is_pc": 1,
|
||||
"issue_rs2_is_imm": 1,
|
||||
"?issue_ready": 1,
|
||||
"?gpr_rsp_valid": 1,
|
||||
"gpr_rsp_wid":"`NW_BITS",
|
||||
"gpr_rsp_pc": 32,
|
||||
"gpr_rsp_a":"`NUM_THREADS * 32",
|
||||
"gpr_rsp_b":"`NUM_THREADS * 32",
|
||||
"gpr_rsp_c":"`NUM_THREADS * 32",
|
||||
"!gpr_delay": 1,
|
||||
"?writeback_valid": 1,
|
||||
"writeback_wid":"`NW_BITS",
|
||||
"writeback_pc": 32,
|
||||
"writeback_rd":"`NR_BITS",
|
||||
"writeback_data":"`NUM_THREADS * 32",
|
||||
"!scoreboard_delay": 1,
|
||||
"!execute_delay": 1
|
||||
},
|
||||
"afu/vortex/l3cache/bank, afu/vortex/cluster/l2cache/bank, afu/vortex/cluster/core/mem_unit/dcache/bank, afu/vortex/cluster/core/mem_unit/icache/bank, afu/vortex/cluster/core/mem_unit/smem/bank": {
|
||||
"?valid_st0": 1,
|
||||
"?valid_st1": 1,
|
||||
"?valid_st2": 1,
|
||||
"addr_st0": 32,
|
||||
"addr_st1": 32,
|
||||
"addr_st2": 32,
|
||||
"is_mrvq_st1": 1,
|
||||
"miss_st1": 1,
|
||||
"dirty_st1": 1,
|
||||
"!force_miss_st1": 1,
|
||||
"!stall_pipe": 1
|
||||
}
|
||||
},
|
||||
"triggers": [
|
||||
["scope_dram_req_valid", "scope_dram_req_ready"],
|
||||
["scope_dram_rsp_valid", "scope_dram_rsp_ready"],
|
||||
["scope_snp_req_valid", "scope_snp_req_ready"],
|
||||
["scope_snp_rsp_valid", "scope_snp_rsp_ready"],
|
||||
|
||||
["scope_icache_req_valid_top", "scope_icache_req_ready_top"],
|
||||
["scope_icache_rsp_valid_top", "scope_icache_rsp_ready_top"],
|
||||
|
||||
["scope_dcache_req_valid_top", "scope_dcache_req_ready_top"],
|
||||
["scope_dcache_rsp_valid_top", "scope_dcache_rsp_ready_top"],
|
||||
|
||||
["scope_issue_valid_top", "scope_issue_ready_top"]
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user