original_docstring: 
          Handles slice FFs FASM feature emission.
          
docstring: Handles slice FFs FASM feature emission.
docstring_tokens: Handles slice FFs FASM feature emission .
code: def handle_slice_ff(self):
          """
          Handles slice FFs FASM feature emission.
          """
  
          allowed_cell_types = ["FDRE", "FDSE", "FDCE", "FDPE", "LDCE", "LDPE"]
          allowed_site_types = ["SLICEL", "SLICEM"]
  
          for cell_instance, cell_data in self.physical_cells_instances.items():
              cell_type = cell_data.cell_type
              if cell_type not in allowed_cell_types:
                  continue
  
              site_name = cell_data.site_name
              site_type = cell_data.site_type
  
              if site_type not in allowed_site_types:
                  continue
  
              tile_name = cell_data.tile_name
              tile_type = cell_data.tile_type
              slice_site = self.get_slice_prefix(site_name, tile_type)
  
              bel = cell_data.bel
  
              if cell_type in ["FDRE", "FDCE", "LDCE"]:
                  self.add_cell_feature((tile_name, slice_site, bel, "ZRST"))
  
              if cell_type.startswith("LD"):
                  self.add_cell_feature((tile_name, slice_site, "LATCH"))
  
              if cell_type in ["FDRE", "FDCE"]:
                  self.add_cell_feature((tile_name, slice_site, "FFSYNC"))
  
              init_param = self.device_resources.get_parameter_definition(
                  cell_data.cell_type, "INIT")
              init_value = init_param.decode_integer(
                  cell_data.attributes["INIT"])
  
              if init_value == 0:
                  self.add_cell_feature((tile_name, slice_site, bel, "ZINI"))
code_tokens: def handle_slice_ff ( self ) : allowed_cell_types = [ "FDRE" , "FDSE" , "FDCE" , "FDPE" , "LDCE" , "LDPE" ] allowed_site_types = [ "SLICEL" , "SLICEM" ] for cell_instance , cell_data in self . physical_cells_instances . items ( ) : cell_type = cell_data . cell_type if cell_type not in allowed_cell_types : continue site_name = cell_data . site_name site_type = cell_data . site_type if site_type not in allowed_site_types : continue tile_name = cell_data . tile_name tile_type = cell_data . tile_type slice_site = self . get_slice_prefix ( site_name , tile_type ) bel = cell_data . bel if cell_type in [ "FDRE" , "FDCE" , "LDCE" ] : self . add_cell_feature ( ( tile_name , slice_site , bel , "ZRST" ) ) if cell_type . startswith ( "LD" ) : self . add_cell_feature ( ( tile_name , slice_site , "LATCH" ) ) if cell_type in [ "FDRE" , "FDCE" ] : self . add_cell_feature ( ( tile_name , slice_site , "FFSYNC" ) ) init_param = self . device_resources . get_parameter_definition ( cell_data . cell_type , "INIT" ) init_value = init_param . decode_integer ( cell_data . attributes [ "INIT" ] ) if init_value == 0 : self . add_cell_feature ( ( tile_name , slice_site , bel , "ZINI" ) )
short_docstring: Handles slice FFs FASM feature emission.
short_docstring_tokens: Handles slice FFs FASM feature emission .
comment: """
          Handles slice FFs FASM feature emission.
          """