docstr: Create initial accelerator config with default parameters
  
  Args:
      board: one of the keys defined in supported_boards.json
      clock_period: clock period passed to hls project
      io_type: io_parallel or io_stream
      interface: `axi_stream`: generate hardware designs and drivers which exploit axi stream channels.
                 `axi_master`: generate hardware designs and drivers which exploit axi master channels.
                 `axi_lite` : generate hardware designs and drivers which exploit axi lite channels. (Don't use it
                 to exchange large amount of data)
      driver: `python`: generates the python driver to use the accelerator in the PYNQ stack.
              `c`: generates the c driver to use the accelerator bare-metal.
      input_type: the wrapper input precision. Can be `float` or an `ap_type`. Note: VivadoAcceleratorBackend
                       will round the number of bits used to the next power-of-2 value.
      output_type: the wrapper output precision. Can be `float` or an `ap_type`. Note:
                        VivadoAcceleratorBackend will round the number of bits used to the next power-of-2 value.
      platform: development target platform
  
  Returns:
      populated config
docstr_tok: ["Create","initial","accelerator","config","with","default","parameters","Args",":","board",":","one","of","the","keys","defined","in","supported_boards.json","clock_period",":","clock","period","passed","to","hls","project","io_type",":","io_parallel","or","io_stream","interface",":","`","axi_stream","`",":","generate","hardware","designs","and","drivers","which","exploit","axi","stream","channels",".","`","axi_master","`",":","generate","hardware","designs","and","drivers","which","exploit","axi","master","channels",".","`","axi_lite","`",":","generate","hardware","designs","and","drivers","which","exploit","axi","lite","channels",".","(","Do","n't","use","it","to","exchange","large","amount","of","data",")","driver",":","`","python","`",":","generates","the","python","driver","to","use","the","accelerator","in","the","PYNQ","stack",".","`","c","`",":","generates","the","c","driver","to","use","the","accelerator","bare-metal",".","input_type",":","the","wrapper","input","precision",".","Can","be","`","float","`","or","an","`","ap_type","`",".","Note",":","VivadoAcceleratorBackend","will","round","the","number","of","bits","used","to","the","next","power-of-2","value",".","output_type",":","the","wrapper","output","precision",".","Can","be","`","float","`","or","an","`","ap_type","`",".","Note",":","VivadoAcceleratorBackend","will","round","the","number","of","bits","used","to","the","next","power-of-2","value",".","platform",":","development","target","platform","Returns",":","populated","config"]
code: def create_initial_config(
      self,
      board="pynq-z2",
      part=None,
      clock_period=5,
      io_type="io_parallel",
      interface="axi_stream",
      driver="python",
      input_type="float",
      output_type="float",
      platform="xilinx_u250_xdma_201830_2",
  ):
      """
      Create initial accelerator config with default parameters
  
      Args:
          board: one of the keys defined in supported_boards.json
          clock_period: clock period passed to hls project
          io_type: io_parallel or io_stream
          interface: `axi_stream`: generate hardware designs and drivers which exploit axi stream channels.
                     `axi_master`: generate hardware designs and drivers which exploit axi master channels.
                     `axi_lite` : generate hardware designs and drivers which exploit axi lite channels. (Don't use it
                     to exchange large amount of data)
          driver: `python`: generates the python driver to use the accelerator in the PYNQ stack.
                  `c`: generates the c driver to use the accelerator bare-metal.
          input_type: the wrapper input precision. Can be `float` or an `ap_type`. Note: VivadoAcceleratorBackend
                           will round the number of bits used to the next power-of-2 value.
          output_type: the wrapper output precision. Can be `float` or an `ap_type`. Note:
                            VivadoAcceleratorBackend will round the number of bits used to the next power-of-2 value.
          platform: development target platform
  
      Returns:
          populated config
      """
      board = board if board is not None else "pynq-z2"
      config = super().create_initial_config(
          part, clock_period, io_type
      )
      config["AcceleratorConfig"] = {}
      config["AcceleratorConfig"]["Board"] = board
      config["AcceleratorConfig"][
          "Interface"
      ] = interface  # axi_stream, axi_master, axi_lite
      config["AcceleratorConfig"]["Driver"] = driver
      config["AcceleratorConfig"]["Precision"] = {}
      config["AcceleratorConfig"]["Precision"]["Input"] = {}
      config["AcceleratorConfig"]["Precision"]["Output"] = {}
      config["AcceleratorConfig"]["Precision"][
          "Input"
      ] = input_type  # float, double or ap_fixed<a,b>
      config["AcceleratorConfig"]["Precision"][
          "Output"
      ] = output_type  # float, double or ap_fixed<a,b>
      if board.startswith("alveo"):
          config["AcceleratorConfig"]["Platform"] = platform
  
      return config
  
file_path: hls4ml/hls4ml/backends/vivado_accelerator/vivado_accelerator_backend.py
imports: import os
  from hls4ml.backends import VivadoBackend
  from hls4ml.model.flow import register_flow
  from hls4ml.report import parse_vivado_report
label_desc: Use image node_id 4 for calling the VivadoAcceleratorBackend obj's underlying member method code with example usage: obj.create_initial_config(board, part, clock_period, io_type, interface, driver, input_type, output_type, platform) and returns: config