Skip to content

Commit

Permalink
Clean up run functions
Browse files Browse the repository at this point in the history
Some backends were overriding run and didn't run pre/post scripts
  • Loading branch information
olofk committed Apr 15, 2019
1 parent 5964167 commit 31eb06f
Show file tree
Hide file tree
Showing 4 changed files with 10 additions and 11 deletions.
2 changes: 1 addition & 1 deletion edalize/ise.py
Original file line number Diff line number Diff line change
Expand Up @@ -146,7 +146,7 @@ def _write_tcl_file(self):
tcl_file.write('project set top "{}"\n'.format(self.toplevel))
tcl_file.close()

def run(self, remaining):
def run_main(self):
pgm_file_name = os.path.join(self.work_root, self.name+'.pgm')
self._write_pgm_file(pgm_file_name)
self._run_tool('impact', ['-batch', pgm_file_name])
Expand Down
2 changes: 1 addition & 1 deletion edalize/quartus.py
Original file line number Diff line number Diff line change
Expand Up @@ -215,7 +215,7 @@ def _handle_tcl(f):

""" Program the FPGA
"""
def run(self, remaining):
def run_main(self):
args = ['--mode=jtag']
args += remaining
args += ['-o']
Expand Down
15 changes: 7 additions & 8 deletions edalize/verilator.py
Original file line number Diff line number Diff line change
Expand Up @@ -143,24 +143,23 @@ def build_main(self):
_s = os.path.join(self.work_root, 'verilator.{}.log')
self._run_tool('make', args)

def run(self, args):
def run_pre(self, args):
if self.tool_options['mode'] == 'lint-only':
return
if self._managed_parser():
self.parse_args(args, self.argtypes)

_args = []
self.args = []
for key, value in self.plusarg.items():
_args += ['+{}={}'.format(key, self._param_value_str(value))]
self.args += ['+{}={}'.format(key, self._param_value_str(value))]
for key, value in self.cmdlinearg.items():
_args += ['--{}={}'.format(key, self._param_value_str(value))]
self.args += ['--{}={}'.format(key, self._param_value_str(value))]
else:
_args = args
self.args = args

if 'pre_run' in self.hooks:
self._run_scripts(self.hooks['pre_run'])

def run_main(self):
logger.info("Running simulation")
self._run_tool('./V' + self.toplevel, _args)

self.run_post()
self._run_tool('./V' + self.toplevel, self.args)
2 changes: 1 addition & 1 deletion edalize/vivado.py
Original file line number Diff line number Diff line change
Expand Up @@ -106,7 +106,7 @@ def _vhdl_source(f):
correct FPGA board and then downloads the bitstream. The tcl script is then
executed in Vivado's batch mode.
"""
def run(self, remaining):
def run_main(self):
tcl_file_name = self.name+"_pgm.tcl"
self._write_program_tcl_file(tcl_file_name)
self._run_tool('vivado', ['-mode', 'batch', '-source', tcl_file_name ])
Expand Down

0 comments on commit 31eb06f

Please sign in to comment.