Test driver.py: Pass-through +verilator+ arguments to runtime
This commit is contained in:
parent
60cbbf0ec1
commit
75c6745868
|
|
@ -2109,6 +2109,14 @@ the regression tests with OBJCACHE enabled and in parallel on a machine
|
||||||
with many cores. See the -j option and OBJCACHE environment variable.
|
with many cores. See the -j option and OBJCACHE environment variable.
|
||||||
|
|
||||||
|
|
||||||
|
driver.py Pass-Thru Arguments
|
||||||
|
-----------------------------
|
||||||
|
|
||||||
|
Arguments not understood by `driver.py` which begin with `+verilator+` are
|
||||||
|
passed through as Verilated executable arguments. Other not-understood
|
||||||
|
arguments are passed as Verilator arguments.
|
||||||
|
|
||||||
|
|
||||||
driver.py Non-Scenario Arguments
|
driver.py Non-Scenario Arguments
|
||||||
--------------------------------
|
--------------------------------
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1543,6 +1543,7 @@ class VlTest:
|
||||||
*param['all_run_flags'],
|
*param['all_run_flags'],
|
||||||
("'" if Args.gdbsim else ""),
|
("'" if Args.gdbsim else ""),
|
||||||
]
|
]
|
||||||
|
cmd += self.driver_verilated_flags
|
||||||
self.run(
|
self.run(
|
||||||
cmd=cmd,
|
cmd=cmd,
|
||||||
aslr_off=param['aslr_off'], # Disable address space layour randomization
|
aslr_off=param['aslr_off'], # Disable address space layour randomization
|
||||||
|
|
@ -1578,6 +1579,10 @@ class VlTest:
|
||||||
def driver_verilator_flags(self) -> list:
|
def driver_verilator_flags(self) -> list:
|
||||||
return Args.passdown_verilator_flags
|
return Args.passdown_verilator_flags
|
||||||
|
|
||||||
|
@property
|
||||||
|
def driver_verilated_flags(self) -> list:
|
||||||
|
return Args.passdown_verilated_flags
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def get_default_vltmt_threads(self) -> int:
|
def get_default_vltmt_threads(self) -> int:
|
||||||
return Vltmt_Threads
|
return Vltmt_Threads
|
||||||
|
|
@ -2734,6 +2739,8 @@ def _parameter(param: str) -> None:
|
||||||
sys.exit("%Error: Expected number following " + _Parameter_Next_Level + ": " + param)
|
sys.exit("%Error: Expected number following " + _Parameter_Next_Level + ": " + param)
|
||||||
Args.passdown_verilator_flags.append(param)
|
Args.passdown_verilator_flags.append(param)
|
||||||
_Parameter_Next_Level = None
|
_Parameter_Next_Level = None
|
||||||
|
elif re.match(r'^(\+verilator\+.*)', param):
|
||||||
|
Args.passdown_verilated_flags.append(param)
|
||||||
elif re.search(r'\.py', param):
|
elif re.search(r'\.py', param):
|
||||||
Arg_Tests.append(param)
|
Arg_Tests.append(param)
|
||||||
elif re.match(r'^-?(-debugi|-dumpi)', param):
|
elif re.match(r'^-?(-debugi|-dumpi)', param):
|
||||||
|
|
@ -2891,6 +2898,7 @@ if __name__ == '__main__':
|
||||||
|
|
||||||
(Args, rest) = parser.parse_known_intermixed_args()
|
(Args, rest) = parser.parse_known_intermixed_args()
|
||||||
Args.passdown_verilator_flags = []
|
Args.passdown_verilator_flags = []
|
||||||
|
Args.passdown_verilated_flags = []
|
||||||
|
|
||||||
for arg in rest:
|
for arg in rest:
|
||||||
_parameter(arg)
|
_parameter(arg)
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue