mirror of
https://github.com/openhwgroup/cvw
synced 2025-01-23 13:04:28 +00:00
Merge pull request #880 from davidharrishmc/dev
wsim elf handling and RV64GCK lockstep support
This commit is contained in:
commit
c53ea43ef9
@ -48,6 +48,10 @@ def run_test_case(elf):
|
||||
if search_log_for_mismatches(logfile):
|
||||
print(f"{bcolors.OKGREEN}%s: Success{bcolors.ENDC}" % (cmd))
|
||||
return 0
|
||||
elif("WALLY-cbom-01" in elf):
|
||||
# Remove this when CBO instructions are modeled in ImperasDV
|
||||
print(f"{bcolors.OKCYAN}%s: Expected mismatch because ImperasDV does not yet model cache for CBO instructions {bcolors.ENDC}" % (cmd))
|
||||
return 0
|
||||
else:
|
||||
print(f"{bcolors.FAIL}%s: Failures detected in output{bcolors.ENDC}" % (cmd))
|
||||
print(" Check %s" % logfile)
|
||||
|
11
bin/wsim
11
bin/wsim
@ -21,8 +21,8 @@ import os
|
||||
# Parse arguments
|
||||
parser = argparse.ArgumentParser()
|
||||
parser.add_argument("config", help="Configuration file")
|
||||
parser.add_argument("testsuite", help="Test suite or ELF file")
|
||||
parser.add_argument("--elf", "-e", help="ELF File name", default="")
|
||||
parser.add_argument("testsuite", help="Test suite or path to .elf file")
|
||||
parser.add_argument("--elf", "-e", help="ELF File name; use if name does not end in .elf", default="")
|
||||
parser.add_argument("--sim", "-s", help="Simulator", choices=["questa", "verilator", "vcs"], default="questa")
|
||||
parser.add_argument("--tb", "-t", help="Testbench", choices=["testbench", "testbench_fp"], default="testbench")
|
||||
parser.add_argument("--gui", "-g", help="Simulate with GUI", action="store_true")
|
||||
@ -36,11 +36,16 @@ parser.add_argument("--covlog", "-d", help="Log coverage after n instructions.",
|
||||
args = parser.parse_args()
|
||||
print("Config=" + args.config + " tests=" + args.testsuite + " sim=" + args.sim + " gui=" + str(args.gui) + " args='" + args.args + "'")
|
||||
ElfFile=""
|
||||
DirectorMode = 0
|
||||
WALLY = os.environ.get('WALLY')
|
||||
|
||||
if(os.path.isfile(args.elf)):
|
||||
ElfFile = "+ElfFile=" + os.path.abspath(args.elf)
|
||||
elif(args.testsuite.endswith('.elf') and os.path.isfile(args.testsuite)):
|
||||
ElfFile = "+ElfFile=" + os.path.abspath(args.testsuite)
|
||||
args.testsuite=args.testsuite.rsplit('/', 1)[1]
|
||||
else:
|
||||
print("ELF file not found: " + args.elf)
|
||||
exit(1)
|
||||
|
||||
# Validate arguments
|
||||
if (args.gui or args.coverage or args.fcov or args.lockstep):
|
||||
|
@ -723,7 +723,7 @@ end
|
||||
|
||||
void'(rvviRefConfigSetString(IDV_CONFIG_MODEL_VENDOR, "riscv.ovpworld.org"));
|
||||
void'(rvviRefConfigSetString(IDV_CONFIG_MODEL_NAME, "riscv"));
|
||||
void'(rvviRefConfigSetString(IDV_CONFIG_MODEL_VARIANT, "RV64GC"));
|
||||
void'(rvviRefConfigSetString(IDV_CONFIG_MODEL_VARIANT, "RV64GCK"));
|
||||
void'(rvviRefConfigSetInt(IDV_CONFIG_MODEL_ADDRESS_BUS_WIDTH, 56));
|
||||
void'(rvviRefConfigSetInt(IDV_CONFIG_MAX_NET_LATENCY_RETIREMENTS, 6));
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user