def METHOD_NAME():
    db = Database(util.get_db_root(), util.get_part())
    grid = db.grid()
    for tile_name in sorted(grid.tiles()):
        loc = grid.loc_of_tilename(tile_name)
        gridinfo = grid.gridinfo_at_loc(loc)
        sites = []
        for site_name, site_type in gridinfo.sites.items():
            if site_type in ['RAMB18E1', 'FIFO18E1']:
                sites.append(site_name)
        sites.sort()
        if len(sites) == 0:
            continue
        if gridinfo.tile_type[-1] == 'L':
            int_grid_x = loc.grid_x + 2
            int_tile_type = 'INT_L'
        else:
            int_grid_x = loc.grid_x - 2
            int_tile_type = 'INT_R'
        int_tile_locs = [
            (int_grid_x, loc.grid_y),
            (int_grid_x, loc.grid_y - 1),
            (int_grid_x, loc.grid_y - 2),
            (int_grid_x, loc.grid_y - 3),
            (int_grid_x, loc.grid_y - 4),
        ]
        int_tiles = []
        for int_tile_loc in int_tile_locs:
            int_gridinfo = grid.gridinfo_at_loc(int_tile_loc)
            assert int_gridinfo.tile_type == int_tile_type, (
                int_gridinfo.tile_type, int_tile_type)
            int_tiles.append(grid.tilename_at_loc(int_tile_loc))
        yield tile_name, sites, int_tiles