code: def __init__(self):
      super().__init__("Vivado")
      self._register_layer_attributes()
      self._register_flows()
  
imports: import os
  import sys
  import numpy
  from hls4ml.backends import FPGABackend
  from hls4ml.backends.fpga.fpga_types import APTypeConverter, HLSTypeConverter, VivadoArrayVariableConverter
  from hls4ml.model.attributes import ChoiceAttribute, ConfigurableAttribute, TypeAttribute
  from hls4ml.model.flow import register_flow
  from hls4ml.model.layers import GRU, LSTM, Conv1D, Conv2D, Dense, DepthwiseConv2D, Embedding, GarNet, GarNetStack, GlobalPooling1D, GlobalPooling2D, Layer, Pooling1D, Pooling2D, SeparableConv1D, SeparableConv2D, SimpleRNN, Softmax
  from hls4ml.model.optimizer import get_backend_passes, layer_optimizer
  from hls4ml.model.types import FixedPrecisionType, IntegerPrecisionType, NamedType, PackedType
  from hls4ml.report import parse_vivado_report
  from hls4ml.utils.fixed_point_utils import ceil_log2
label_desc: Use image node_id 1 to create a new VivadoBackend object from inherited base classes: FPGABackend with example: obj = VivadoBackend()