Remove extra spaces and use lists for assembling args and params

This commit is contained in:
Jordan Carlin 2024-12-07 13:13:35 -08:00
parent 95a5070a72
commit 25cdf83aae
No known key found for this signature in database

View File

@ -75,28 +75,34 @@ def elfFileCheck(args):
return ElfFile return ElfFile
def prepSim(args, ElfFile): def prepSim(args, ElfFile):
flags = ""
prefix = "" prefix = ""
params = []
args = []
flags = []
if args.vcd: if args.vcd:
args.params += " MAKE_VCD=1 " params.append("MAKE_VCD=1")
if args.rvvi: if args.rvvi:
args.params += " RVVI_SYNTH_SUPPORTED=1 " params.append("RVVI_SYNTH_SUPPORTED=1")
if args.tb == "testbench_fp": if args.tb == "testbench_fp":
args.params += f' TEST="{args.testsuite}" ' params.append(f'TEST="{args.testsuite}"')
if ElfFile != "": if ElfFile:
args.args += f" {ElfFile}" args.append += f"{ElfFile}"
if args.gui and args.tb == "testbench": if args.gui and args.tb == "testbench":
args.params += " DEBUG=1 " params.append("DEBUG=1")
if args.ccov: if args.ccov:
flags += " --ccov" flags.append("--ccov")
if args.fcov: if args.fcov:
flags += " --fcov" flags.append("--fcov")
if args.gui: if args.gui:
flags += " --gui" flags.append("--gui")
if args.lockstep or args.lockstepverbose: if args.lockstep or args.lockstepverbose:
flags += " --lockstep" flags.append("--lockstep")
if args.lockstep or args.lockstepverbose or args.fcov: if args.lockstep or args.lockstepverbose or args.fcov:
prefix = lockstepSetup(args) prefix = lockstepSetup(args)
# Combine into a single string
args.args += " ".join(args)
args.params += " ".join(params)
flags = " ".join(flags)
return flags, prefix return flags, prefix
def lockstepSetup(args): def lockstepSetup(args):
@ -126,9 +132,9 @@ def runQuesta(args, flags, prefix):
# Force Questa to use 64-bit mode, sometimes it defaults to 32-bit even on 64-bit machines # Force Questa to use 64-bit mode, sometimes it defaults to 32-bit even on 64-bit machines
prefix = "MTI_VCO_MODE=64 " + prefix prefix = "MTI_VCO_MODE=64 " + prefix
if (args.args != ""): if (args.args != ""):
args.args = f' --args \\"{args.args}\\"' args.args = fr'--args \"{args.args}\"'
if (args.params != ""): if (args.params != ""):
args.params = f' --params \\"{args.params}\\"' args.params = fr'--params \"{args.params}\"'
# Questa cannot accept more than 9 arguments. fcov implies lockstep # Questa cannot accept more than 9 arguments. fcov implies lockstep
cmd = f"do wally.do {args.config} {args.testsuite} {args.tb} {args.args} {args.params} {flags}" cmd = f"do wally.do {args.config} {args.testsuite} {args.tb} {args.args} {args.params} {flags}"
cmd = f'cd $WALLY/sim/questa; {prefix} vsim {"-c" if not args.gui else ""} -do "{cmd}"' cmd = f'cd $WALLY/sim/questa; {prefix} vsim {"-c" if not args.gui else ""} -do "{cmd}"'