docstr: Write the testbench
  
  Args:
      model (ModelGraph): the hls4ml model.
docstr_tok: ["Write","the","testbench","Args",":","model","(","ModelGraph",")",":","the","hls4ml","model","."]
code: def write_test_bench(self, model):
      """Write the testbench
  
      Args:
          model (ModelGraph): the hls4ml model.
      """
      # TODO - This function only works with one model input
      # (NOT one data point - it works as expected with multiple data points)
      io_type = model.config.get_config_value("IOType")
      if io_type == "io_parallel":
          self.write_testbench_parallel(model)
      elif io_type == "io_stream":
          self.write_testbench_stream(model)
  
imports: import glob
  import os
  import tarfile
  from collections import OrderedDict
  from shutil import copyfile, copytree, rmtree
  import numpy
  import yaml
  from hls4ml.backends import get_backend
  from hls4ml.model.layers import Conv1D, Conv2D, Conv2DBatchnorm, Dense
  from hls4ml.utils.fixed_point_utils import FixedPointEmulator, ceil_log2, uint_to_binary
  from hls4ml.writer.writers import Writer
label_desc: Use image node_id 13 for calling the QuartusWriter obj's underlying member method code with example usage: obj.write_test_bench(model) without return types