In some embodiments, multiple functional blocks (agents) in a complex
integrated circuit are connected to a physically-distant shared resource
(e.g. a memory controller) through packet buses which do not depend on
establishing clock-cycle sequenced handshakes. On-chip repeaters
including one or more register stages are used to segment the
agent-shared resource interconnects into multiple segments, each shorter
than a single-clock-cycle pathlength. The interconnects of multiple
closely-spaced agents can be routed to the shared resource through an
on-chip router having a single routed connection to the shared resource,
for reducing the floorplan space taken by interconnects. The packet-based
communications protocols do not require redesigning the agents or memory
controller to make protocol changes accounting for the clock cycles
inserted by repeaters and/or routers. Each agent can include a port
register for storing a corresponding port number of the shared resource,
to facilitate the host-programmable assignment of agents to shared
resource ports.