On-chip packet-based interconnections using repeaters/routers
First Claim
1. A synchronous apparatus integrated on a chip, comprising:
- a shared functional block integrated on the chip;
a plurality of agent functional blocks integrated on the chip and connected to the shared functional block through a corresponding plurality of unidirectional packet buses, wherein a communications protocol between the shared functional block and an agent functional block is independent of a number of clock cycles defining a signal traveltime over a packet bus connecting the agent functional block and the shared functional block; and
a repeater integrated on the chip, comprising a register positioned to segment the packet bus connecting the agent functional block and the shared functional block, for receiving a packet from a first unit selected from the agent functional block and the shared functional block on a first clock cycle, and transmitting the packet to a second unit selected from the agent functional block and the shared functional block on a second clock cycle subsequent to the first clock cycle.
11 Assignments
0 Petitions
Accused Products
Abstract
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.
71 Citations
26 Claims
-
1. A synchronous apparatus integrated on a chip, comprising:
-
a shared functional block integrated on the chip; a plurality of agent functional blocks integrated on the chip and connected to the shared functional block through a corresponding plurality of unidirectional packet buses, wherein a communications protocol between the shared functional block and an agent functional block is independent of a number of clock cycles defining a signal traveltime over a packet bus connecting the agent functional block and the shared functional block; and a repeater integrated on the chip, comprising a register positioned to segment the packet bus connecting the agent functional block and the shared functional block, for receiving a packet from a first unit selected from the agent functional block and the shared functional block on a first clock cycle, and transmitting the packet to a second unit selected from the agent functional block and the shared functional block on a second clock cycle subsequent to the first clock cycle. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A synchronous apparatus integrated on a chip, comprising:
-
a first functional block integrated on the chip; a second functional block integrated on the chip and connected to the first functional block through a unidirectional packet bus, wherein a communications protocol between the first functional block and the second functional block is independent of a number of clock cycles defining a signal traveltime over the packet bus; and a repeater integrated on the chip, comprising a register positioned to segment the packet bus, for receiving a packet from the first functional block on a first clock cycle, and transmitting the packet to the second functional block on a second clock cycle subsequent to the first clock cycle. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20, 21, 22)
-
-
23. A synchronous apparatus integrated on a chip, comprising:
-
shared means integrated on the chip; plural agent means integrated on the chip and connected to the shared means through a corresponding plurality of unidirectional communications means, wherein a communications protocol between the shared means and an agent means is independent of a number of clock cycles defining a signal traveltime over a communications means connecting the agent means and the shared means; and repeater means integrated on the chip, comprising a register positioned to segment the communications means between the agent means and the shared means, for receiving a packet from the shared means or the agent means on a first clock cycle, and transmitting the packet to the shared means or the agent means on a second clock cycle subsequent to the first clock cycle.
-
-
24. A synchronous apparatus integrated on a chip, comprising:
-
a memory controller integrated on the chip; a plurality of memory clients integrated on the chip and connected to the memory controller through a corresponding plurality of unidirectional packet buses, wherein a communications protocol between the memory controller and a memory client is independent of a number of clock cycles defining a signal traveltime over a packet bus connecting the memory client and the memory controller; and a repeater integrated on the chip, comprising a register positioned to segment the packet from a first unit selected from the memory client and the memory controller bus between the memory client and the memory controller, for receiving a packet on a first clock cycle, and transmitting the packet to a second unit selected from the memory client and the memory controller on a second clock cycle subsequent to the first clock cycle.
-
-
25. An on-chip data communications method comprising:
-
transmitting a data packet from a first functional block integrated on a chip over a first segment of a unidirectional packet bus; receiving the data packet at a repeater connected to the first segment; storing the data packet in a register of the repeater on a first clock cycle; transmitting the data packet from the repeater over a second segment of the unidirectional packet bus on a second clock cycle subsequent to the first clock cycle; and receiving the data packet at a second functional block connected to the second segment, wherein a communications protocol between the first functional block and the second functional block is independent of a number of clock cycles defining a signal traveltime over the packet bus.
-
-
26. A chip design method comprising:
-
establishing an integrated circuit description including a description of a first functional block integrated on the chip, and a description of a second functional block integrated on the chip and connected to the first functional block through a unidirectional packet bus, wherein a communications protocol between the first functional block and the second functional block is independent of a number of clock cycles defining a signal traveltime over the packet bus; and inserting into the integrated circuit description a description of a repeater integrated on the chip, the repeater comprising a register positioned to segment the packet bus, for receiving a packet from the first functional block on a first clock cycle, and transmitting the packet to the second functional block on a second clock cycle subsequent to the first clock cycle.
-
Specification