docstr: Write the base project directory
  
  Args:
      model (ModelGraph): the hls4ml model.
docstr_tok: ["Write","the","base","project","directory","Args",":","model","(","ModelGraph",")",":","the","hls4ml","model","."]
code: def write_project_dir(self, model):
      """Write the base project directory
  
      Args:
          model (ModelGraph): the hls4ml model.
      """
      if not os.path.isdir(
          f"{model.config.get_output_dir()}/firmware/weights"
      ):
          os.makedirs(
              f"{model.config.get_output_dir()}/firmware/weights"
          )
  
imports: import glob
  import os
  import tarfile
  from collections import OrderedDict
  from shutil import copyfile, copytree, rmtree
  import numpy
  import yaml
  from hls4ml.writer.writers import Writer
label_desc: Use image node_id 2 for calling the VivadoWriter obj's underlying member method code with example usage: obj.write_project_dir(model) without return types