in fiosynth_lib/fiosynth.py [0:0]
def getJobVars(dut, profile, scale_factor):
vars_static = [
"SIZE",
"TIME",
"RAMPTIME",
"RATE1",
"RATE2",
"BLKSIZE",
"DEPTH1",
"DEPTH2",
"MISC",
]
vars_scaleup = ["RRATE", "DEPTH", "OFFSET2"]
vars_scaledown = ["W1THINK", "W2THINK", "W3THINK", "W4THINK", "W5THINK"]
job_vars = {}
for var in vars_static:
if var in profile:
job_vars[var] = profile[var]
for var in vars_scaleup:
if var in profile:
if var == "OFFSET2":
job_vars["OFFSET2"] = int(
profile["OFFSET2"] * getMultiplier(dut.capacity)
)
else:
job_vars[var] = int(profile[var] * scale_factor)
if job_vars[var] < 1:
job_vars[var] = 1
for var in vars_scaledown:
if var in profile:
job_vars[var] = int(int(profile[var]) / scale_factor)
if job_vars[var] < 1:
job_vars[var] = 1
job_vars["DEV"] = dut.device
job_vars["JOBS"] = dut.numjobs
if "JOBS" in profile:
job_vars["JOBS"] *= profile["JOBS"]
job_vars["OFFSET1"] = dut.offset
job_vars["INCREMENT"] = dut.increment
return job_vars