original_docstring: 
          Handles all the FASM features corresponding to PIPs
  
          In addition, emits extra features necessary to have the clock
          resources working properly, as well the emission of site route
          thru features for pseudo PIPs
          
docstring: Handles all the FASM features corresponding to PIPs
  In addition, emits extra features necessary to have the clock
  resources working properly, as well the emission of site route
  thru features for pseudo PIPs
docstring_tokens: Handles all the FASM features corresponding to PIPs In addition emits extra features necessary to have the clock resources working properly as well the emission of site route thru features for pseudo PIPs
code: def handle_pips(self):
          """
          Handles all the FASM features corresponding to PIPs
  
          In addition, emits extra features necessary to have the clock
          resources working properly, as well the emission of site route
          thru features for pseudo PIPs
          """
  
          avail_lut_thrus = list()
          for _, _, _, _, bel, bel_type in self.device_resources.yield_bels():
              if bel_type in ["LUT5", "LUT6"]:
                  avail_lut_thrus.append(bel)
  
          tile_types = [
              "HCLK_L", "HCLK_R", "HCLK_L_BOT_UTURN", "HCLK_R_BOT_UTURN",
              "HCLK_CMT", "HCLK_CMT_L", "CLK_HROW_TOP_R", "CLK_HROW_BOT_R",
              "CLK_BUFG_REBUF"
          ]
          extra_pip_features = dict(
              (tile_type, set()) for tile_type in tile_types)
  
          pip_feature_format = "{tile}.{wire1}.{wire0}"
          site_thru_pips, lut_thru_pips = self.fill_pip_features(
              pip_feature_format, extra_pip_features, avail_lut_thrus)
  
          self.handle_extra_pip_features(extra_pip_features)
          self.handle_site_thru(site_thru_pips)
          self.handle_lut_thru(lut_thru_pips)
code_tokens: def handle_pips ( self ) : avail_lut_thrus = list ( ) for _ , _ , _ , _ , bel , bel_type in self . device_resources . yield_bels ( ) : if bel_type in [ "LUT5" , "LUT6" ] : avail_lut_thrus . append ( bel ) tile_types = [ "HCLK_L" , "HCLK_R" , "HCLK_L_BOT_UTURN" , "HCLK_R_BOT_UTURN" , "HCLK_CMT" , "HCLK_CMT_L" , "CLK_HROW_TOP_R" , "CLK_HROW_BOT_R" , "CLK_BUFG_REBUF" ] extra_pip_features = dict ( ( tile_type , set ( ) ) for tile_type in tile_types ) pip_feature_format = "{tile}.{wire1}.{wire0}" site_thru_pips , lut_thru_pips = self . fill_pip_features ( pip_feature_format , extra_pip_features , avail_lut_thrus ) self . handle_extra_pip_features ( extra_pip_features ) self . handle_site_thru ( site_thru_pips ) self . handle_lut_thru ( lut_thru_pips )
short_docstring: Handles all the FASM features corresponding to PIPs
  In addition, emits extra features necessary to have the clock
  resources working properly, as well the emission of site route
  thru features for pseudo PIPs
short_docstring_tokens: Handles all the FASM features corresponding to PIPs In addition emits extra features necessary to have the clock resources working properly as well the emission of site route thru features for pseudo PIPs
comment: """
          Handles all the FASM features corresponding to PIPs
  
          In addition, emits extra features necessary to have the clock
          resources working properly, as well the emission of site route
          thru features for pseudo PIPs
          """