Field Programmable Gate Array With External Phase-Locked Loop

Patent No. US10931286 (titled "Field Programmable Gate Array With External Phase-Locked Loop") was filed by Hft Solutions Llc on Jul 23, 2020.

What is this patent about?

’286 is related to the field of field-programmable gate arrays (FPGAs) , specifically addressing the challenge of synchronizing receiver and transmitter clock signals within an FPGA used in high-speed applications like high-frequency trading. Traditional solutions introduce delays due to clock domain crossing circuits, which negatively impacts processing speed. The patent aims to overcome this latency issue.

The underlying idea behind ’286 is to eliminate the need for a clock domain crossing circuit by using an external phase control loop to actively adjust the transmitter clock signal's phase to match the receiver clock signal's phase. This is achieved by feeding back the receiver and transmitter clock signals to an external phase detector and using the detected phase difference to adjust an external adjustable oscillator that drives the transmitter clock generation circuitry.

The claims of ’286 focus on a method for processing a first serial data stream (market data) to generate a second serial data stream (order entry data) using an FPGA system. The method involves receiving the market data and a reference clock signal, deserializing the data, generating a receiver-side clock, performing computations on the data, and then serializing the processed data for transmission. Crucially, the method includes an external phase control loop that adjusts the transmitter-side clock based on a comparison with the receiver-side clock, ensuring phase alignment without a clock domain crossing circuit.

In practice, the FPGA receives high-speed serial data, deserializes it into parallel streams, performs computations (e.g., a trading algorithm), and then serializes the results for transmission. The key is the external phase control circuit, which continuously monitors the phase difference between the receiver and transmitter clocks. This circuit adjusts the frequency or phase of an external oscillator, which in turn affects the transmitter clock signal. This feedback loop ensures that the transmitter clock remains synchronized with the receiver clock, allowing for direct data transfer between clock domains without the added latency of a clock domain crossing circuit.

This approach differentiates itself from prior solutions by moving the phase synchronization mechanism outside the FPGA and implementing it as a closed-loop feedback system. Instead of relying on internal clock domain crossing circuits that inherently introduce delays, ’286 uses an external phase detector, phase controller, and adjustable oscillator to actively align the transmitter and receiver clock phases. This allows for faster processing and reduced latency, which is critical in applications like high-frequency trading where even microsecond delays can have significant consequences.

How does this patent fit in bigger picture?

Technical landscape at the time

In the late 2010s when ’286 was filed, FPGAs were increasingly used in high-speed applications where minimizing latency was critical, at a time when clock domain crossing was a common technique for synchronizing signals between different clock domains within an FPGA, even though such techniques introduced delays. When designing high-throughput systems, engineers commonly relied on phase-locked loops (PLLs) to generate stable clock signals, but synchronizing the phase of clocks between different parts of a system, especially between receiver and transmitter sides, was non-trivial.

Novelty and Inventive Step

The examiner approved the patent because the prior art does not teach or suggest a method for processing a first serial data stream comprising market data, using a field programmable gate array system, to generate a second serial data stream comprising order entry data, wherein the method comprises specific steps related to transmitting a receiver side clock signal to a phase detector external to the FPGA and generating a feedback clock signal using an adjustable oscillator until a phase detector output is below a threshold.

Claims

This patent contains 22 claims, with claim 1 being the only independent claim. Independent claim 1 is directed to a method for processing a first serial data stream comprising market data, using a field programmable gate array system, to generate a second serial data stream comprising order entry data. The dependent claims generally elaborate on and refine the specifics of the method described in the independent claim.

Key Claim Terms New

Definitions of key terms used in the patent claims.

Term (Source)Support for SpecificationInterpretation
Adjustable oscillator
(Claim 1)
“In embodiments, a field programmable gate array system includes (b) a phase control circuit, provided outside of the field programmable gate array, wherein the phase control circuit includes: (3) an adjustable oscillator 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 oscillator is configured to generate the second clock signal including the second frequency and the second phase based on the adjustment information and transmit the second clock signal to the second reference clock pin of the first interface of the field programmable gate array; wherein the transmitter side clock signal and the receiver side clock signal are phase aligned so that there is a fixed phase difference between the third phase and the fifth phase.”An oscillator that can be adjusted based on interim adjustment information received from the phase controller.
First receiver side clock signal
(Claim 1)
“In embodiments, a field programmable gate array system includes (a) a field programmable gate array comprising (1) a first interface including: (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 a second clock signal having a second frequency and a second phase; (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: (x) the first reference clock pin to receive as a first input the first clock signal and (y) 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;”A clock signal generated by the deserializer based on the first clock signal, having a second frequency and a second phase.
First serial data stream
(Claim 1)
“In embodiments, 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. In embodiments, the first serial data stream includes market data and the second serial stream includes trading data.”A stream of serial data that includes market data and is received by the FPGA system for processing.
First transmitter side clock signal
(Claim 1)
“In embodiments, a field programmable gate array system includes (4) a serializer operationally connected to: (x) the second reference clock pin to receive as a third input a first wire rate clock signal based on the second clock signal, wherein the first wire rate clock signal has a fourth frequency and a fourth phase; (y) the second plurality of data pins to transmit as a first output the second serial data stream; (z) 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;”A clock signal generated by the serializer based on the second clock signal.
Second serial data stream
(Claim 1)
“In embodiments, 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. In embodiments, the first serial data stream includes market data and the second serial stream includes trading data.”A stream of serial data that includes order entry data and is transmitted off the FPGA system.

Patent Family

Patent Family

File Wrapper

The dossier documents provide a comprehensive record of the patent's prosecution history - including filings, correspondence, and decisions made by patent offices - and are crucial for understanding the patent's legal journey and any challenges it may have faced during examination.

  • Date

    Description

  • Get instant alerts for new documents

US10931286

HFT SOLUTIONS LLC
Application Number
US16937314
Filing Date
Jul 23, 2020
Status
Granted
Expiry Date
Nov 1, 2039
External Links
Slate, USPTO, Google Patents