docs: def build_routing_table_target_lengths(system_info):
      """Build a dictionary of target routing table lengths from a
      :py:class:`~rig.machine_control.machine_controller.SystemInfo` object.
  
      Useful in conjunction with :py:func:`~rig.routing_table.minimise_tables`.
  
      Returns
      -------
      {(x, y): num, ...}
          A dictionary giving the number of free routing table entries on each
          chip on a SpiNNaker system.
  
          .. note::
              The actual number of entries reported is the size of the largest
              contiguous free block of routing entries in the routing table.
      """
      return {
          (x, y): ci.largest_free_rtr_mc_block
          for (x, y), ci in iteritems(system_info)
      }