# US 2007/0194807 A1 · Packet-oriented communication in reconfigurable circuit(s)

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2007/0194807 A1
- Document ID: US20070194807A1
- Status: Published application
- Kind: A1
- Application number: 11/358,338
- Filed: 2006-02-21
- Published: 2007-08-23
- Earliest claimed: 2006-02-21
- Assignees: M2000
- Inventors: Frederic Reblewski; Cesar Douady
- Web page: https://patentgrep.com/patent/US20070194807A1

## CPC

- H03K 19/17736: Structural details of routing resources
- G06F 15/7867: {with reconfigurable architecture}
- H04L 47/10: Flow control; Congestion control
- H04L 47/39: {Credit based}
- H04L 49/15: Interconnection of switching modules
- H04L 49/3009: {Header conversion, routing tables or routing tags}
- H03K: PULSE TECHNIQUE (measuring pulse characteristics G01R; modulating sinusoidal oscillations with pulses H03C; transmission of digital information H04L; discriminator circuits detecting phase difference between two signals by counting or integrating cycles of oscillation H03D3/04; automatic control, starting, synchronisation or stabilisation of generators of electronic oscillations or pulses where the type of generator is irrelevant or unspecified H03L; coding, decoding or code conversion, in general H03M)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

A reconfigurable circuit having communication resources configured to facilitate selective packet-oriented communications among reconfigurable resources is described herein.

## Claims

### Claim 1

A reconfigurable circuit, comprising:
a plurality of reconfigurable resources; and
a plurality of communication resources to facilitate selective packet-oriented communications among the reconfigurable resources, each communication resource coupled to one or more of the reconfigurable resources and to one or more of the other communication resources.

### Claim 2 (depends on 1)

The reconfigurable circuit as recited in claim 1, wherein
the plurality of reconfigurable resources are organized into a plurality of clusters, each having a subset of the reconfigurable resources; and
the plurality of communication resources include a plurality of communication nodes with at least one of the communication nodes being coupled to a cluster of the reconfigurable resources and to at least one other communication node, each of the communication nodes having
one or more data crossbars adapted to facilitate routing communication packets, the data crossbars having input and output ports,
a routing table adapted to store routing information specifying routing of communication packets received at the input ports of the data crossbars to output ports of the data crossbars, and
one or more pipeline registers coupled to the output ports of the data crossbars to temporarily store the communication packets.

### Claim 3 (depends on 2)

The reconfigurable circuit as recited in claim 2, wherein the communication node is further coupled back to itself.

### Claim 4 (depends on 2)

The reconfigurable circuit as recited in claim 2, wherein the communication node further comprises a credit crossbar adapted to facilitate routing of credits among the communication nodes.

### Claim 5 (depends on 4)

The reconfigurable circuit as recited in claim 4, wherein the credit crossbar has a plurality of output ports, and the communication node further comprises another one or more pipeline registers coupled to the output ports of the credit crossbar to temporarily store the credits being routed.

### Claim 6 (depends on 4)

The reconfigurable circuit as recited in claim 4, wherein the communication node further comprises a time slot counter coupled to the routing table to output addresses for the routing table, the time slot counter adapted to count forward for the data crossbar and count backward for the credit crossbar.

### Claim 7 (depends on 6)

The reconfigurable circuit as recited in claim 6, wherein the time slot counter comprises two parts D and T, with T counting up when D=0 and T counting down when D=1, and D becoming 1 when T reaches its maximum value and D becoming 0 when T reaches its minimum value.

### Claim 8 (depends on 4)

The reconfigurable circuit as recited in claim 4, wherein the credit crossbar comprises a plurality of input ports, and further adapted to sum up the credits received through a number of input ports to be routed to an output port.

### Claim 9 (depends on 2)

The reconfigurable circuit as recited in claim 2, where the reconfigurable circuit further comprises one or more clock lines to provide one or more clocks, and wherein the one or more pipeline registers of the communication node are coupled to one of the one or more clock lines to be clocked independent of the reconfigurable resources.

### Claim 10 (depends on 2)

The reconfigurable circuit as recited in claim 2, wherein the reconfigurable circuit further comprises one or more clock lines to provide one or more clocks, and wherein the one or more pipeline registers of the communication node are coupled to one of the one or more clock lines to be clocked synchronously with at least one reconfigurable resource.

### Claim 11 (depends on 2)

The reconfigurable circuit as recited in claim 2, wherein the reconfigurable circuit further comprises one or more clock lines to provide one or more clocks, and wherein the one or more pipeline registers of the communication node are coupled to one of the one or more clock lines to be selectively clocked, either independent of the reconfigurable resources or synchronously with at least one reconfigurable resource.

### Claim 12 (depends on 1)

The reconfigurable circuit of claim 1, wherein the reconfigurable circuit is a Field Programmable Gate Array.

### Claim 13

A method comprising
generating a communication packet by a cluster of reconfigurable resources of a reconfigurable circuit;
forwarding the communication packet to a communication node coupled to the cluster for routing and delivery to one or more other clusters of reconfigurable resources of the reconfigurable circuit.

### Claim 14 (depends on 13)

The method of claim 13 further comprising the communication node receiving the communication packet at an input port of a data crossbar, and routing the communication packet to an output port of the data crossbar.

### Claim 15 (depends on 14)

The method of claim 14 further comprising the communication node temporarily storing the communication packet in a pipeline register coupled to the output port of the data crossbar.

### Claim 16 (depends on 13)

The method of claim 13 further comprising the communication node storing the communication packet in a pipeline register, and independently clocking the pipeline register.

### Claim 17 (depends on 13)

The method of claim 13 wherein the one or more other clusters are coupled to at least one other communication node coupled to the communication node, and the method further comprises clocking pipeline registers of the communication nodes employed to deliver the communication packet synchronously.

### Claim 18

A system comprising:
a plurality of macro clusters each macro cluster including a plurality of reconfigurable resources and a plurality of communication nodes to facilitate selective packet-oriented communications among the reconfigurable resources, each communication node being coupled to one or more of the reconfigurable resources and to one or more of the other communication nodes, each packet including a cluster identifier; and
a plurality of communication resources coupled to the plurality of macro clusters to facilitate selective packet-oriented communications among the reconfigurable resources of the plurality of macro clusters.

### Claim 19 (depends on 18)

The system as recited in claim 18, wherein each of the plurality of communication resources include at least one look-up table with entries from mapped clusters from at least one macro cluster and entries for at least one other macro cluster.

### Claim 20 (depends on 18)

The system as recited in claim 18, wherein each of the plurality of communication resources include a router configured to append a macro cluster ID to the cluster ID and to other data in each packet.
