mirror of
https://github.com/openhwgroup/cvw
synced 2025-02-11 06:05:49 +00:00
Fixed testbench-fp replication length for regression-wally --testfloat. Changed regression-wally to expect -- in named arguments.
This commit is contained in:
parent
d182a2925e
commit
60e70c1986
@ -254,20 +254,20 @@ os.chdir(regressionDir)
|
|||||||
coveragesim = "questa" # Questa is required for code/functional coverage
|
coveragesim = "questa" # Questa is required for code/functional coverage
|
||||||
defaultsim = "questa" # Default simulator for all other tests; change to Verilator when flow is ready
|
defaultsim = "questa" # Default simulator for all other tests; change to Verilator when flow is ready
|
||||||
|
|
||||||
coverage = '-coverage' in sys.argv
|
coverage = '--coverage' in sys.argv
|
||||||
fp = '-fp' in sys.argv
|
fp = '--fp' in sys.argv
|
||||||
nightly = '-nightly' in sys.argv
|
nightly = '--nightly' in sys.argv
|
||||||
testfloat = '-testfloat' in sys.argv
|
testfloat = '--testfloat' in sys.argv
|
||||||
|
|
||||||
if (nightly):
|
if (nightly):
|
||||||
nightMode = "-nightly";
|
nightMode = "--nightly";
|
||||||
sims = ["questa", "verilator", "vcs"]
|
sims = ["questa", "verilator", "vcs"]
|
||||||
else:
|
else:
|
||||||
nightMode = "";
|
nightMode = "";
|
||||||
sims = [defaultsim]
|
sims = [defaultsim]
|
||||||
|
|
||||||
if (coverage): # only run RV64GC tests in coverage mode
|
if (coverage): # only run RV64GC tests in coverage mode
|
||||||
coverStr = '-coverage'
|
coverStr = '--coverage'
|
||||||
else:
|
else:
|
||||||
coverStr = ''
|
coverStr = ''
|
||||||
|
|
||||||
@ -302,6 +302,8 @@ if (testfloat):
|
|||||||
testfloatconfigs = ["fdqh_ieee_rv64gc", "fdq_ieee_rv64gc", "fdh_ieee_rv64gc", "fd_ieee_rv64gc", "fh_ieee_rv64gc", "f_ieee_rv64gc", "fdqh_ieee_rv32gc", "f_ieee_rv32gc"]
|
testfloatconfigs = ["fdqh_ieee_rv64gc", "fdq_ieee_rv64gc", "fdh_ieee_rv64gc", "fd_ieee_rv64gc", "fh_ieee_rv64gc", "f_ieee_rv64gc", "fdqh_ieee_rv32gc", "f_ieee_rv32gc"]
|
||||||
for config in testfloatconfigs:
|
for config in testfloatconfigs:
|
||||||
tests = ["div", "sqrt", "add", "sub", "mul", "cvtint", "cvtfp", "fma", "cmp"]
|
tests = ["div", "sqrt", "add", "sub", "mul", "cvtint", "cvtfp", "fma", "cmp"]
|
||||||
|
if ("f_" in config):
|
||||||
|
tests.remove("cvtfp")
|
||||||
for test in tests:
|
for test in tests:
|
||||||
tc = TestCase(
|
tc = TestCase(
|
||||||
name=test,
|
name=test,
|
||||||
@ -343,6 +345,8 @@ if (testfloat):
|
|||||||
if ("ieee" in config):
|
if ("ieee" in config):
|
||||||
tests.append("cvtint")
|
tests.append("cvtint")
|
||||||
tests.append("cvtfp")
|
tests.append("cvtfp")
|
||||||
|
if ("f_" in config):
|
||||||
|
tests.remove("cvtfp")
|
||||||
for test in tests:
|
for test in tests:
|
||||||
tc = TestCase(
|
tc = TestCase(
|
||||||
name=test,
|
name=test,
|
||||||
@ -362,26 +366,26 @@ def main():
|
|||||||
except:
|
except:
|
||||||
pass
|
pass
|
||||||
|
|
||||||
if '-makeTests' in sys.argv:
|
if '--makeTests' in sys.argv:
|
||||||
os.chdir(regressionDir)
|
os.chdir(regressionDir)
|
||||||
os.system('./make-tests.sh | tee ./logs/make-tests.log')
|
os.system('./make-tests.sh | tee ./logs/make-tests.log')
|
||||||
|
|
||||||
if '-all' in sys.argv:
|
if '--all' in sys.argv:
|
||||||
TIMEOUT_DUR = 30*7200 # seconds
|
TIMEOUT_DUR = 30*7200 # seconds
|
||||||
#configs.append(getBuildrootTC(boot=True))
|
#configs.append(getBuildrootTC(boot=True))
|
||||||
elif '-buildroot' in sys.argv:
|
elif '--buildroot' in sys.argv:
|
||||||
TIMEOUT_DUR = 30*7200 # seconds
|
TIMEOUT_DUR = 30*7200 # seconds
|
||||||
#configs=[getBuildrootTC(boot=True)]
|
#configs=[getBuildrootTC(boot=True)]
|
||||||
elif '-coverage' in sys.argv:
|
elif '--coverage' in sys.argv:
|
||||||
TIMEOUT_DUR = 20*60 # seconds
|
TIMEOUT_DUR = 20*60 # seconds
|
||||||
# Presently don't run buildroot because it has a different config and can't be merged with the rv64gc coverage.
|
# Presently don't run buildroot because it has a different config and can't be merged with the rv64gc coverage.
|
||||||
# Also it is slow to run.
|
# Also it is slow to run.
|
||||||
# configs.append(getBuildrootTC(boot=False))
|
# configs.append(getBuildrootTC(boot=False))
|
||||||
os.system('rm -f cov/*.ucdb')
|
os.system('rm -f cov/*.ucdb')
|
||||||
elif '-nightly' in sys.argv:
|
elif '--nightly' in sys.argv:
|
||||||
TIMEOUT_DUR = 60*1440 # 1 day
|
TIMEOUT_DUR = 60*1440 # 1 day
|
||||||
#configs.append(getBuildrootTC(boot=False))
|
#configs.append(getBuildrootTC(boot=False))
|
||||||
elif '-testfloat' in sys.argv:
|
elif '--testfloat' in sys.argv:
|
||||||
TIMEOUT_DUR = 60*60 # seconds
|
TIMEOUT_DUR = 60*60 # seconds
|
||||||
else:
|
else:
|
||||||
TIMEOUT_DUR = 10*60 # seconds
|
TIMEOUT_DUR = 10*60 # seconds
|
||||||
|
@ -1275,7 +1275,7 @@ module readvectors import cvw::*; #(parameter cvw_t P) (
|
|||||||
2'b01: begin // quad -> long
|
2'b01: begin // quad -> long
|
||||||
X = {TestVector[8+P.XLEN+P.Q_LEN-1:8+(P.XLEN)]};
|
X = {TestVector[8+P.XLEN+P.Q_LEN-1:8+(P.XLEN)]};
|
||||||
SrcA = {P.XLEN{1'bx}};
|
SrcA = {P.XLEN{1'bx}};
|
||||||
Ans = {{(P.FLEN-64){1'b0}}, TestVector[8+(P.XLEN-1):8]};
|
Ans = {{(P.FLEN > 64 ? P.FLEN-64 : 0){1'b0}}, TestVector[8+(P.XLEN-1):8]};
|
||||||
end
|
end
|
||||||
2'b00: begin // quad -> int
|
2'b00: begin // quad -> int
|
||||||
X = {TestVector[8+32+P.Q_LEN-1:8+(32)]};
|
X = {TestVector[8+32+P.Q_LEN-1:8+(32)]};
|
||||||
@ -1327,7 +1327,7 @@ module readvectors import cvw::*; #(parameter cvw_t P) (
|
|||||||
2'b01: begin // single -> long
|
2'b01: begin // single -> long
|
||||||
X = {{P.FLEN-P.S_LEN{1'b1}}, TestVector[8+P.XLEN+P.S_LEN-1:8+(P.XLEN)]};
|
X = {{P.FLEN-P.S_LEN{1'b1}}, TestVector[8+P.XLEN+P.S_LEN-1:8+(P.XLEN)]};
|
||||||
SrcA = {P.XLEN{1'bx}};
|
SrcA = {P.XLEN{1'bx}};
|
||||||
Ans = {{(P.FLEN-64){1'b0}}, TestVector[8+(P.XLEN-1):8]};
|
Ans = {{(P.FLEN > 64 ? P.FLEN-64 : 0){1'b0}}, TestVector[8+(P.XLEN-1):8]};
|
||||||
end
|
end
|
||||||
2'b00: begin // single -> int
|
2'b00: begin // single -> int
|
||||||
X = {{P.FLEN-P.S_LEN{1'b1}}, TestVector[8+32+P.S_LEN-1:8+(32)]};
|
X = {{P.FLEN-P.S_LEN{1'b1}}, TestVector[8+32+P.S_LEN-1:8+(32)]};
|
||||||
@ -1353,7 +1353,7 @@ module readvectors import cvw::*; #(parameter cvw_t P) (
|
|||||||
2'b01: begin // half -> long
|
2'b01: begin // half -> long
|
||||||
X = {{P.FLEN-P.H_LEN{1'b1}}, TestVector[8+P.XLEN+P.H_LEN-1:8+(P.XLEN)]};
|
X = {{P.FLEN-P.H_LEN{1'b1}}, TestVector[8+P.XLEN+P.H_LEN-1:8+(P.XLEN)]};
|
||||||
SrcA = {P.XLEN{1'bx}};
|
SrcA = {P.XLEN{1'bx}};
|
||||||
Ans = {{(P.FLEN-64){1'b0}}, TestVector[8+(P.XLEN-1):8]};
|
Ans = {{(P.FLEN > 64 ? P.FLEN-64 : 0){1'b0}}, TestVector[8+(P.XLEN-1):8]};
|
||||||
end
|
end
|
||||||
2'b00: begin // half -> int
|
2'b00: begin // half -> int
|
||||||
X = {{P.FLEN-P.H_LEN{1'b1}}, TestVector[8+32+P.H_LEN-1:8+(32)]};
|
X = {{P.FLEN-P.H_LEN{1'b1}}, TestVector[8+32+P.H_LEN-1:8+(32)]};
|
||||||
|
Loading…
Reference in New Issue
Block a user