# US 10,771,069 B1 · Field programmable gate array with internal phase-locked loop

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

- Number: US 10,771,069 B1
- Document ID: US10771069B1
- Status: Granted
- Kind: B1
- Application number: 16/670,702
- Filed: 2019-10-31
- Granted: 2020-09-08
- Earliest claimed: 2019-02-21
- Applicants: Nima Badizadegan
- Inventors: Nima Badizadegan
- Web page: https://patentgrep.com/patent/US10771069B1

## CPC

- H03L 7/085: concerning mainly the frequency- or phase-detection arrangement including the filtering or amplification of its output signal (H03L7/10 takes precedence; circuits for comparing the phase or frequency of two mutually-independent oscillations H03D13/00)
- G06F 13/4291: {using a clocked protocol}
- H03K 19/1774: {for global signals, e.g. clock, reset}
- H03L 7/089: the phase or frequency detector generating up-down pulses (H03L7/087 takes precedence)
- H03M 9/00: Parallel/series conversion or vice versa (digital stores in which the information is moved stepwise per se G11C19/00)
- H04B 1/40: Circuits
- H03L: AUTOMATIC CONTROL, STARTING, SYNCHRONISATION OR STABILISATION OF GENERATORS OF ELECTRONIC OSCILLATIONS OR PULSES (generation of oscillations H03B)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- 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)
- H03M: CODING; DECODING; CODE CONVERSION IN GENERAL (using fluidic means F15C4/00; optical analogue/digital converters G02F7/00; coding, decoding or code conversion, specially adapted for particular applications, see the relevant subclasses, e.g. G01D, G01R, G06F, G06T, G09G, G10L, G11B, G11C, H04B, H04L, H04M, H04N; ciphering or deciphering for cryptography or other purposes involving the need for secrecy G09C)
- H04B: TRANSMISSION

## Abstract

The present invention relates to a field programmable gate array system that provides phase control with minimal latency.

## Claims

### Claim 1

A field programmable gate array system comprising:
(a) a field programmable gate array comprising:
(1) a first interface comprising:
(A) a first reference clock pin, wherein said first reference clock pin is configured to receive a first clock signal having a first frequency and a first phase;
(B) a second reference clock pin, wherein said second reference clock pin is configured to receive the first clock signal;
(C) a first plurality of data pins, wherein said first plurality of data pins is configured to receive a first serial data stream;
(D) a second plurality of data pins, wherein said second plurality of data pins is configured to transmit a second serial data stream;
(2) a deserializer operationally connected to:
(A) the first reference clock pin to receive as a first input the first clock signal and
(B) the first plurality of data pins to receive as a second input the first serial data stream,
and wherein the deserializer is configured to:
(A) convert the first serial data stream into a first plurality of parallel data streams having a first amount of data streams, and
(B) generate a first receiver side clock signal based on the first clock signal, wherein the first receiver side clock signal has a third frequency and a third phase; and
(C) transmit the first plurality of parallel data streams and the first receiver side clock signal within the field programmable gate array;
(3) computational circuitry operationally connected to the deserializer to receive the first plurality of parallel data streams and the first receiver side clock signal,
wherein the computational circuitry is configured to perform a first set of operations on the first plurality of parallel data streams to generate a second plurality of parallel processed data streams having a second amount of data streams and the computational circuitry performs the first set of operations to generate the second plurality of parallel processed data without use of a clock domain crossing circuit;
(4) a serializer operationally connected to:
(A) an adjustable transceiver phase lock loop to receive as a third input a first wire rate clock signal, wherein the first wire rate clock signal has a fourth frequency and a fourth phase;
(B) the second plurality of data pins to transmit as a first output the second serial data stream;
(C) the computational circuitry, wherein the serializer receives the second plurality of parallel processed data streams from the computational circuitry and the serializer transmits to the computational circuitry a first transmitter side clock signal including a fifth frequency and a fifth phase; and
wherein the serializer is configured to:
(A) convert the second plurality of parallel processed data streams into the second serial data stream;
(B) generate the first transmitter side clock signal based on the first wire rate signal, wherein the first transmitter side clock signal has the fifth frequency and the fifth phase, wherein the fifth frequency is different than and less than the fourth frequency; and
(C) transmit the second serial data stream to the second plurality of data pins for transmission off the field programmable gate array; and
(b) a phase control circuit, provided at least partially on the field programmable gate array, wherein the phase control circuit comprises:
(1) a phase detector configured to compare the third phase of the first receiver side clock signal to the fifth phase of the transmitter side clock signal and to generate a phase difference indicator signal based on a difference between the third phase of the first receiver side clock signal and the fifth phase of the transmitter side clock signal;
(2) a phase controller operationally connected to the phase detector and configured to receive the phase difference indicator signal, and wherein the phase controller is configured to determine adjustment information based on the phase difference indicator signal; and
(3) the adjustable transceiver phase lock loop operationally connected to the phase controller and configured to receive the adjustment information as well as operationally connected to the second reference clock pin of the first interface of the field programmable gate array, wherein the adjustable transceiver phase lock loop is configured to generate a second clock signal including the second frequency and the second phase based on the first clock signal received via the second reference clock pin and process the second clock signal based on the adjustment information received from the phase controller to generate the first wire rate clock signal,
wherein the transmitter side clock signal and the first receiver side clock signal are phase aligned so that there is a fixed phase difference between the third phase and the fifth phase.

### Claim 2 (depends on 1)

The system of claim 1, wherein the third frequency corresponds to the first frequency.

### Claim 3 (depends on 2)

The system of claim 2, wherein the third phase is not aligned with the first phase.

### Claim 4 (depends on 1)

The system of claim 1, wherein the third frequency is different than the first frequency.

### Claim 5 (depends on 1)

The system of claim 1, wherein the first set of operations does not include clock domain crossing operations that delays processing of the first set of parallel data streams.

### Claim 6 (depends on 1)

The system of claim 1, wherein the first set of operations includes at least one of the following:
(i) an arithmetic operation;
(ii) a logical operation;
(iii) a pipeline operation; and
(iv) a memory access operation.

### Claim 7 (depends on 1)

The system of claim 1, wherein the first amount of data streams is the same as the second amount of data streams.

### Claim 8 (depends on 7)

The system of claim 7, wherein the first amount of data streams and the second amount of data streams are equal to one of the following:
(i) eight (8) data streams;
(ii) ten (10) data streams;
(iii) sixteen (16) data streams;
(iv) twenty (20) data streams;
(v) thirty-two (32) data streams;
(vi) forty (40) data streams;
(vii) sixty-four (64) data streams;
(viii) eighty (80) data streams;
(ix) one hundred twenty-eight (128) data streams; and
(x) one hundred sixty (160) data streams.

### Claim 9 (depends on 7)

The system of claim 7, wherein the first amount of data streams and the second amount of data streams are equal to two (2) to the power of N, where N is an integer.

### Claim 10 (depends on 7)

The system of claim 7, wherein the first amount of data streams and the second amount of data streams are equal to ten (10) times two (2) to the power of N, where N is an integer.

### Claim 11 (depends on 7)

The system of claim 7, wherein the first amount of data streams and the second amount of data streams are equal to thirty-three (33) times two (2) to the power of N, where N is an integer.

### Claim 12 (depends on 1)

The system of claim 1, wherein the fourth frequency is equal to x times the fifth frequency, where x is the second amount of data streams.

### Claim 13 (depends on 1)

The system of claim 1, wherein the fourth frequency is equal to x times the fifth frequency, where x is half of the second amount of data streams.

### Claim 14 (depends on 1)

The system of claim 1, wherein the fourth frequency is a rational multiple of the second frequency.

### Claim 15 (depends on 1)

The system of claim 1, wherein the phase difference indicator signal is a pulse signal.

### Claim 16 (depends on 1)

The system of claim 1, wherein adjustment information indicates at least one of the following:
(A) a desired phase;
(B) a desired frequency;
(C) a change in phase; and
(D) a change in frequency.

### Claim 17 (depends on 16)

The system of claim 16, wherein adjustment information comprises a voltage.

### Claim 18 (depends on 17)

The system of claim 17, wherein adjustment information comprises a digital transmission.

### Claim 19 (depends on 1)

The system of claim 1, wherein the adjustment information is used to do at least one of the following:
(i) set a bias to an oscillator;
(ii) set a divider ratio; and
(iii) set a delay.

### Claim 20 (depends on 1)

The system of claim 1, wherein the first serial data stream comprises market data, the second serial data stream comprises order entry data, and the first operation comprises a trading algorithm.

### Claim 21 (depends on 1)

The system of claim 1, wherein the first serial data stream includes market data and the second serial data stream includes trading data.

### Claim 22 (depends on 1)

The system of claim 1, wherein the field programmable gate array further comprises:
(5) a second interface comprising:
(A) a first clock output pin configured to transmit the first receiver side clock signal, wherein the first clock output pin is operationally connected to the deserializer; and
(B) a second clock output pin configured to transmit the first transmitter side clock signal, wherein the second clock output pin is operationally connected to the serializer; and
wherein the phase detector is not on the field programmable gate array and is operationally connected to the first clock output pin and the second clock output pin of the second interface of the field programmable gate array.
