code: def format(self, node):
      conv_params = self._default_config_params(node)
      conv_params["dilation"] = node.get_attr("dilation", 1)
      if conv_params["dilation"] != 1:
          raise Exception("dilation != 1 not supported yet")
      conv_params["config_t"] = f"config{node.index}_mult"
      conv_config = self.template.format(**conv_params)
  
      mult_params = self._default_config_params(node)
      mult_params["n_in"] = (
          node.get_attr("n_chan")
          * node.get_attr("filt_height")
          * node.get_attr("filt_width")
      )
      mult_params["n_out"] = node.get_attr("n_filt")
      mult_params["product_type"] = get_backend("quartus").product_type(
          node.get_input_variable().type.precision,
          node.get_weights("weight").type.precision,
      )
      mult_config = self.mult_template.format(**mult_params)
  
      return mult_config + "\n" + conv_config
  
file_path: hls4ml/hls4ml/backends/quartus/passes/convolution_templates.py
imports: from hls4ml.backends.backend import get_backend
  from hls4ml.backends.template import FunctionCallTemplate, LayerConfigTemplate
  from hls4ml.model.layers import Conv1D, Conv2D, Conv2DBatchnorm
label_desc: Use image node_id 2 for calling the Conv2DConfigTemplate obj's underlying member method code with example usage: obj.format(node) and returns: unknown