IP Library Granted Patent US 6,996,785
Granted Patent B1
US 6,996,785 · App. 10/423,499 · Granted Feb 7, 2006

On-chip packet-based interconnections using repeaters/routers

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 6,996,785
App. No.
10/423,499
Granted
Feb 7, 2006
Kind
B1
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.

Claims (57)

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.

2. The apparatus of claim 1 , wherein the shared functional block comprises a memory controller, and each of the agent functional blocks comprises a memory client capable of transmitting memory read and memory write commands to the memory controller through the repeater.

3. The apparatus of claim 1 , wherein the repeater comprises a router connecting at least two agent functional blocks to the shared functional block, the router being connected to the shared functional block over a shared, routed unidirectional packet bus, the router comprising arbitration logic for arbitrating a transmission of packets from the at least two agent functional blocks to the shared functional block.

4. The apparatus of claim 3 , wherein the router comprises:

an input register stage comprising a plurality of registers each connected to one of the at least two agent functional blocks;

arbitration logic connected to the input register stage, for selecting for transmission on a clock cycle a single packet corresponding to one of the plurality of registers of the input register stage, and for adding to the single packet a sender tag identifying a sender of the single packet; and

an output register stage comprising an output register connected to the shared functional block, for receiving the single packet from the arbitration logic.

5. The apparatus of claim 1 , further comprising a router connecting at least two agent functional blocks to the shared functional block, the router being connected to the shared functional block over a shared, routed unidirectional packet bus, the router comprising arbitration logic for arbitrating a transmission of packets from the at least two agent functional blocks to the shared functional block.

6. The apparatus of claim 1 , wherein:

a first physical connection distance between the repeater and a first agent functional block over the packet bus does not exceed a single-clock-cycle length; and

a second physical connection distance between the shared functional block and the first agent functional block over the packet bus exceeds the single-clock-cycle length.

7. The apparatus of claim 1 , wherein the repeater comprises clock gating logic connected to the register, for gating a clock signal to the register selectively if the packet presently stored in the register is a no-operation packet and an incoming packet is no-operation packet.

8. The apparatus of claim 1 , wherein the second clock cycle immediately follows the first clock cycle.

9. The apparatus of claim 1 , wherein the second clock cycle is two clock cycles later than the first clock cycle.

10. The apparatus of claim 1 , further comprising an additional repeater integrated on the chip, comprising an additional register positioned to segment the packet bus connecting the agent functional block and the shared functional block.

11. The apparatus of claim 1 , wherein the repeater is a single-agent repeater.

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.

13. The apparatus of claim 12 , wherein the first functional block comprises a memory controller, and the second functional block comprises a memory client capable of transmitting memory read and memory write commands to the memory controller through the repeater.

14. The apparatus of claim 12 , wherein the repeater comprises a router connecting a third functional block integrated on the chip and the second functional block to the first functional block, the router being connected to the first functional block over a first, routed unidirectional packet bus, the router comprising arbitration logic for arbitrating a transmission of packets from the second functional block and the third functional block to the first functional block.

15. The apparatus of claim 14 , wherein the router comprises:

an input register stage comprising a first register connected to the second functional block and a second register connected to the third functional block;

arbitration logic connected to the input register stage, for selecting for transmission on a clock cycle a single packet corresponding to one of the first register and the second register, and adding to the single packet a sender tag identifying a sender of the single packet; and

an output register stage comprising a third register connected to the first functional block, for receiving the single packet from the arbitration logic.

16. The apparatus of claim 12 , further comprising a router connecting a third functional block integrated on the chip and the second functional block to the first functional block, the router being connected to the first functional block over a first, routed unidirectional packet bus, the router comprising arbitration logic for arbitrating a transmission of packets from the second functional block and the third functional block to the first functional block.

17. The apparatus of claim 12 , wherein:

a first physical connection distance between the repeater and the first functional block over the packet bus does not exceed a single-clock-cycle length; and

a second physical connection distance between the first functional block and the second functional block over the packet bus exceeds the single-clock-cycle length.

18. The apparatus of claim 12 , wherein the repeater comprises clock gating logic connected to the register, for gating a clock signal to the register selectively if the packet presently stored in the register is a no-operation packet and an incoming packet is no-operation packet.

19. The apparatus of claim 12 , wherein the second clock cycle immediately follows the first clock cycle.

20. The apparatus of claim 12 , wherein the second clock cycle is two clock cycles later than the first clock cycle.

21. The apparatus of claim 12 , further comprising an additional repeater integrated on the chip, comprising an additional register positioned to segment the packet bus connecting the first agent functional block and the second agent functional block.

22. The apparatus of claim 12 , wherein the repeater is a single-agent repeater.

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.

Assignments (11)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 15, 2020
From: CAVIUM INTERNATIONAL
To: MARVELL ASIA PTE, LTD.
Reel/Frame 053179/0320 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 17, 2020
From: CAVIUM, LLC
To: CAVIUM INTERNATIONAL
Reel/Frame 051948/0807 →
CHANGE OF NAME Recorded Oct 8, 2018
From: CAVIUM, INC.
To: CAVIUM, LLC
Reel/Frame 047205/0953 →
RELEASE OF SECURITY INTEREST Recorded Jul 6, 2018
From: JP MORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
To: CAVIUM, INC; CAVIUM NETWORKS LLC; QLOGIC CORPORATION
Reel/Frame 046496/0001 →
MERGER Recorded Oct 18, 2017
From: QLOGIC CORPORATION
To: CAVIUM, INC.
Reel/Frame 044812/0504 →
SECURITY AGREEMENT Recorded Mar 1, 2017
From: QLOGIC CORPORATION
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 041854/0119 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 10, 2009
From: NETXEN, INC.
To: QLOGIC, CORPORATION
Reel/Frame 023208/0353 →
RELEASE OF SECURITY INTEREST Recorded Apr 29, 2009
From: WELLS FARGO BANK, NATIONAL ASSOCIATION, SUCCESSOR IN INTEREST TO GREATER BAY VENTURE BANKING, A DIVISION OF GREATER BAY BANK N.A.
To: NETXEN, INC.
Reel/Frame 022616/0288 →
SECURITY AGREEMENT Recorded Apr 27, 2007
From: NETXEN, INC.
To: GREATER BAY VENTURE BANKING, A DIVISION OF GREATER BAY BANK, N.A.
Reel/Frame 019215/0882 →
CHANGE OF NAME Recorded Apr 21, 2006
From: UNIVERSAL NETWORK MACHINES, INC.
To: NETXEN, INC.
Reel/Frame 017507/0426 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 17, 2003
From: KIZHEPAT, GOVIND; KINAAN, OMAR M.
To: UNIVERSAL NETWORK MACHINES, INC.
Reel/Frame 014302/0484 →