docstr: Write the HLS project. Calls the VivadoBackend writer, and extra steps for VivadoAccelerator/AXI interface
docstr_tok: ["Write","the","HLS","project",".","Calls","the","VivadoBackend","writer",",","and","extra","steps","for","VivadoAccelerator\/AXI","interface"]
code: def write_hls(self, model):
      """
      Write the HLS project. Calls the VivadoBackend writer, and extra steps for VivadoAccelerator/AXI interface
      """
      # TODO temporarily move config import here to avoid cyclic dependency, until config is moved to its own package
      from hls4ml.backends import VivadoAcceleratorConfig
  
      self.vivado_accelerator_config = VivadoAcceleratorConfig(
          model.config,
          model.get_input_variables(),
          model.get_output_variables(),
      )
      super().write_hls(model)
      self.write_board_script(model)
      self.write_driver(model)
      self.write_wrapper_test(model)
      self.write_axi_wrapper(model)
      self.modify_build_script(model)
      self.write_new_tar(model)
  
file_path: hls4ml/hls4ml/writer/vivado_accelerator_writer.py
imports: import os
  from distutils.dir_util import copy_tree
  from shutil import copyfile
  from hls4ml.writer.vivado_writer import VivadoWriter
label_desc: Use image node_id 8 for calling the VivadoAcceleratorWriter obj's underlying member method code with example usage: obj.write_hls(model) without return types