Merge branch 'master' into graphics

This commit is contained in:
Blaise Tine
2021-10-15 19:32:11 -07:00
542 changed files with 124552 additions and 18682 deletions

View File

@@ -1,9 +1,21 @@
{
"version": 1,
"include_paths":[
"../dpi",
"../rtl",
"../rtl/afu",
"../rtl/cache",
"../rtl/fp_cores",
"../rtl/interfaces",
"../rtl/libs"
],
"includes":[
"../rtl/VX_config.vh",
"../rtl/VX_platform.vh",
"../rtl/VX_define.vh",
"../rtl/VX_config.vh",
"../rtl/VX_platform.vh",
"../rtl/VX_define.vh",
"../rtl/VX_gpu_types.vh",
"../rtl/fp_cores/VX_fpu_types.vh",
"../rtl/fp_cores/VX_fpu_define.vh",
"../rtl/cache/VX_cache_define.vh"
],
"modules": {
@@ -60,8 +72,8 @@
"VX_gpu_unit": {},
"VX_mem_unit": {
"submodules": {
"dcache": {"type":"VX_cache", "params":{"NUM_BANKS":"`DNUM_BANKS"}},
"icache": {"type":"VX_cache", "params":{"NUM_BANKS":"`INUM_BANKS"}}
"dcache": {"type":"VX_cache", "params":{"NUM_BANKS":"`DCACHE_NUM_BANKS"}},
"icache": {"type":"VX_cache", "params":{"NUM_BANKS":"1"}}
}
},
"VX_cache": {
@@ -111,9 +123,9 @@
"!cci_pending_writes_full": 1,
"?afu_mem_req_fire": 1,
"afu_mem_req_addr": 26,
"afu_mem_req_tag": 29,
"afu_mem_req_tag": 27,
"?afu_mem_rsp_fire": 1,
"afu_mem_rsp_tag": 29
"afu_mem_rsp_tag": 27
},
"afu/vortex": {
"!reset": 1,
@@ -132,26 +144,26 @@
"?icache_req_fire": 1,
"icache_req_wid":"`NW_BITS",
"icache_req_addr": 32,
"icache_req_tag":"`ICORE_TAG_ID_BITS",
"icache_req_tag":"`ICACHE_CORE_TAG_ID_BITS",
"?icache_rsp_fire": 1,
"icache_rsp_data": 32,
"icache_rsp_tag":"`ICORE_TAG_ID_BITS"
"icache_rsp_tag":"`ICACHE_CORE_TAG_ID_BITS"
},
"afu/vortex/cluster/core/pipeline/fetch/warp_sched": {
"?wsched_scheduled_warp": 1,
"?wsched_scheduled": 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"
"wsched_stalled_warps": "`NUM_WARPS",
"wsched_schedule_tmask": "`NUM_THREADS",
"wsched_schedule_wid": "`NW_BITS",
"wsched_schedule_pc": "32"
},
"afu/vortex/cluster/core/pipeline/execute/gpu_unit": {
"?gpu_rsp_valid": 1,
"gpu_rsp_wid": "`NW_BITS",
"gpu_rsp_tmc": "`GPU_TMC_BITS",
"gpu_rsp_wspawn": "`GPU_WSPAWN_BITS",
"gpu_rsp_split": "`GPU_SPLIT_BITS",
"gpu_rsp_barrier": "`GPU_BARRIER_BITS"
"gpu_rsp_tmc": 1,
"gpu_rsp_wspawn": 1,
"gpu_rsp_split": 1,
"gpu_rsp_barrier": 1
},
"afu/vortex/cluster/core/pipeline/execute/lsu_unit": {
"?dcache_req_fire":"`NUM_THREADS",
@@ -172,8 +184,8 @@
"issue_tmask":"`NUM_THREADS",
"issue_pc": 32,
"issue_ex_type":"`EX_BITS",
"issue_op_type":"`OP_BITS",
"issue_op_mod":"`MOD_BITS",
"issue_op_type":"`INST_OP_BITS",
"issue_op_mod":"`INST_MOD_BITS",
"issue_wb": 1,
"issue_rd":"`NR_BITS",
"issue_rs1":"`NR_BITS",
@@ -203,9 +215,7 @@
"is_fill_st0": 1,
"is_mshr_st0": 1,
"miss_st0": 1,
"force_miss_st0": 1,
"mshr_push": 1,
"?crsq_in_stall": 1,
"?crsq_stall": 1,
"?mreq_alm_full": 1,
"?mshr_alm_full": 1
}

View File

@@ -125,6 +125,11 @@ def parse_func_args(text):
return (args, l)
def load_include_path(dir):
if not dir in include_dirs:
print("*** include path: " + dir)
include_dirs.append(dir)
def resolve_include_path(filename, parent_dir):
if os.path.basename(filename) in exclude_files:
return None
@@ -137,7 +142,7 @@ def resolve_include_path(filename, parent_dir):
filepath = os.path.join(dir, filename)
if os.path.isfile(filepath):
return os.path.abspath(filepath)
raise Exception("couldn't find include file: " + filename)
raise Exception("couldn't find include file: " + filename + " in " + parent_dir)
def remove_comments(text):
text = re.sub(re.compile("/\*.*?\*/",re.DOTALL ), "", text) # multiline
@@ -273,6 +278,7 @@ def expand_text(text, params):
return None
def parse_include(filename, nesting):
print("*** parsing: " + filename + "...")
if nesting > 99:
raise Exception("include recursion!")
#print("*** parsing '" + filename + "'...")
@@ -356,15 +362,11 @@ def parse_includes(includes):
for include in includes:
parse_include(include, 0)
load_include_path(os.path.dirname(include))
# restore current directory
os.chdir(old_dir)
def load_include_dirs(dirs):
for dir in dirs:
#print("*** include dir: " + dir)
include_dirs.append(dir)
def load_defines(defines):
for define in defines:
key_value = define.split('=', 2)
@@ -396,6 +398,8 @@ def eval_node(text, params):
try:
__text = text.replace('$clog2', '__clog2')
__text = translate_ternary(__text)
__text = __text.replace('||', 'or')
__text = __text.replace('&&', 'and')
e = eval(__text, {'__clog2': clog2})
return e
except (NameError, SyntaxError):
@@ -801,7 +805,8 @@ def main():
global br_stack
if args.I:
load_include_dirs(args.I)
for dir in args.I:
load_include_path(dir)
if args.D:
load_defines(args.D)
@@ -810,6 +815,10 @@ def main():
exclude_files.append(os.path.basename(args.vl))
if "include_paths" in config:
for path in config["include_paths"]:
load_include_path(path)
if "includes" in config:
parse_includes(config["includes"])