# US 7,467,056 B2 · Method and apparatus for aligning multiple outputs of an FPGA

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

- Number: US 7,467,056 B2
- Document ID: US7467056B2
- Status: Granted
- Kind: B2
- Application number: 11/716,187
- Filed: 2007-03-09
- Published: 2008-09-11
- Granted: 2008-12-16
- Earliest claimed: 2007-03-09
- Assignees: Nortel Networks Limited
- Inventors: Eric Maniloff; Ronald Gagnon; Blake Toplis
- Web page: https://patentgrep.com/patent/US7467056B2

## CPC

- H03K 19/1731: {Optimisation thereof}
- H03K 19/17744: {for input/output signals}
- H04L 25/14: Channel dividing arrangements {, i.e. in which a single bit stream is divided between several baseband channels and reassembled at the receiver}
- 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)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

Each data lane connected to a FPGA and forming part of a SFI channel may be trained independently to enable the outputs from the FPGA to be aligned. In operation, a known fixed pattern is repeated on each of the data lanes with the exception of the data lane being trained. The short fixed pattern is smaller than an SERDES capture range so that the SERDES may temporarily lock onto the short fixed pattern for all data lanes other than the lane being trained. Training data is then transmitted on the lane being trained and the preskew delay for that lane is adjusted until the receiving component indicates that the lanes are aligned. This process may iterate to find acceptable preskew delay values for all lanes. By training the lanes one at a time and using a short repeating pattern on the untrained lanes, the SERDES may register that the untrained lanes are operating correctly so that the feedback from the SERDES is related only to the lane being trained.

## Claims

### Claim 1

A method of aligning communication lanes interconnecting a transmitting device and a receiving device, the method comprising the steps of:
transmitting a training data on a first of the communication lanes by the transmitting device;
transmitting a short repetitive pattern on at least a second of the communication lanes by the transmitting device, the short repetitive pattern being shorter than a capture range of the receiving device;
transmitting deskew data, the deskew data including a portion of the training data from the first communication lane and a portion of the short repetitive pattern from the second communication lane; and
adjusting a preskew value at the transmitting device of the first communication lane until a feedback signal from the receiving device indicates that the communication lanes being trained are aligned, the feedback signal being a collective feedback signal indicative as to whether the plurality of communication lanes have been aligned;
wherein transmission of the portion of the short repetitive pattern enables the receiver to find a start of the deskew data from the second communication lane within the capture range on the second communication lane, to cause the receiver to determine that the second of the communication lanes is aligned.

### Claim 2 (depends on 1)

The method of claim 1, wherein the step of transmitting a short repetitive pattern comprises transmitting a short repetitive pattern on at least all of the remaining unaligned communication lanes.

### Claim 3 (depends on 1)

The method of claim 1, farther comprising the step of iterating the process for other communication lanes until all of the communication lanes are aligned.

### Claim 4 (depends on 1)

The method of claim 1, wherein the second of the communication lanes is not aligned while transmitting the training data for the first communication lane.

### Claim 5 (depends on 1)

The method of claim 1, wherein the preskew value is a delay value associated with a delay of the first communication lane.

### Claim 6 (depends on 1)

The method of claim 1, wherein the communication lanes are implementing one of the SERDES-Framer Interface (SFI) standards.

### Claim 7 (depends on 1)

The method of claim 1, further comprising the step of initially transmitting the short repetitive pattern on all of the communication lanes to cause the feedback signal from the receiving device to artificially initially indicate that all communication lanes are aligned.

### Claim 8

A Field Programmable Gate Array (FPGA), comprising:
gate logic configured to implement a plurality of data lanes, an individually adjustable preskew delay for each said data lane, a feedback channel via which an alignment indication of all data lanes may be received, and a skew value adjuster via which the preskew delay for each data lane may be individually adjusted;
gate logic configured to enable the FPGA to isolate one of the data lanes for alignment by causing training data for the isolated data lane to be transmitted on the isolated data lane and causing a short fixed pattern to be transmitted on at least all unaligned data lanes,
the short repetitive pattern being shorter than a capture range of a receiving device enabling the receiver to find a start of the deskew data on the other unaligned data lanes within the capture range for those data lanes, to cause the receiver to artificially determine that the other unaligned data lanes are aligned;
gate logic configured to transmit deskew data, the deskew data including a portion of the training data to be used to align the isolated data lane as well as portions of the short repetitive pattern for each of the other unaligned data lanes;
gate logic configured to adjust the preskew value of the isolated data lane until a feedback signal from the receiving device indicates that the communication lanes are aligned, the feedback signal being a collective feedback signal indicative as to whether the plurality of communication lanes have been aligned.

### Claim 9 (depends on 8)

The FPGA of claim 8, further comprising gate logic configured to construct a deskew channel containing a segment of data from each of the data lanes.

### Claim 10 (depends on 8)

The FPGA of claim 8, further comprising gate logic configured to implement a training module to enable the FPGA to serially isolate the data lanes for alignment.

### Claim 11 (depends on 8)

The FPGA of claim 8, further comprising an input configured to enable the FPGA to receive instructions to cause the FPGA to serially isolate the data lanes for alignment.

### Claim 12 (depends on 8)

The FPGA of claim 8, wherein the FPGA is further configured to implement one of the SERDES-Framer Interface (SFI) standards.

### Claim 13 (depends on 8)

The FPGA of claim 8, wherein the FPGA has sate logic configured to implement 16 data lanes.

### Claim 14 (depends on 13)

The FPGA of claim 13, wherein the FPGA further comprises at least one multiplexer having an output connected to one of the 16 data lanes, a first input connected to a short pattern data source, a second input connected to a pseudorandom data source; and a third input connected to a data source.

### Claim 15 (depends on 13)

The FPGA of claim 13, wherein the gate logic configured to enable the FPGA to isolate one of the data lanes for alignment is configured to initially cause the short fixed pattern to be transmitted on all 16 of the data lanes to clear the alignment indication from the feedback channel.
