FPGA Ethernet Register Mapping for Low-Latency UDP Control

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods for controlling field programmable gate arrays (FPGAs) via Ethernet often result in performance penalties such as reduced throughput and increased latency due to the use of software stacks, which are critical issues in real-time applications like electronic warfare and radar systems.

Innovation Solution

A system and method for address-mapped control of FPGAs using Ethernet, which involves receiving Ethernet packets, removing headers to determine payload, converting packets to register messages, and performing read/write operations without processor intervention, utilizing an Ethernet interface and UDP processing to enable low-latency, high-throughput control and status information management.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If a software stack is used to implement Ethernet control of FPGA, then full functionality and flexibility are achieved, but throughput is reduced and latency is increased

Engineering Contradiction:
ImproveEthernet control functionalityVSAvoidthroughput
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent replaces the software-based Ethernet control mechanism with a hardware-based mechanism. Specifically, it uses an Ethernet interface directly integrated into the FPGA fabric, with dedicated hardware logic for packet parsing, address decoding, and register access. This hardware implementation eliminates the performance penalties of software processing while maintaining full Ethernet control functionality.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Solution Approach 2:

The patent segments the Ethernet control function into distinct hardware components: an Ethernet interface module for receiving packets, a packet parser for extracting addresses and data, an address decoder for mapping to FPGA registers, and a register file for storage. This segmentation allows each component to be optimized independently and operate in parallel, achieving high throughput and low latency.

Inventive Principle:
Principle #1Segmentation

2Adaptability or versatility

If a software stack is used to implement Ethernet control of FPGA, then full functionality and flexibility are achieved, but latency is increased

Engineering Contradiction:
ImproveEthernet control functionalityVSAvoidlatency
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent replaces the software-based Ethernet control mechanism with a hardware-based mechanism. Specifically, it uses an Ethernet interface directly integrated into the FPGA fabric, with dedicated hardware logic for packet parsing, address decoding, and register access. This hardware implementation eliminates the performance penalties of software processing while maintaining full Ethernet control functionality.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Solution Approach 2:

The patent implements preliminary action by pre-configuring the hardware address map and register locations before Ethernet communication begins. The address decoding logic is pre-programmed with the mapping between Ethernet packet addresses and FPGA internal registers, allowing immediate direct access without software interpretation or lookup during operation, thus minimizing latency.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If processor intervention is used for Ethernet packet processing, then protocol handling is accurate, but throughput is reduced and real-time performance is degraded

Engineering Contradiction:
Improveprotocol handling accuracyVSAvoidthroughput
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent implements self-service by giving the Ethernet interface and packet processing logic direct access to the FPGA register file without requiring processor intervention. The hardware automatically parses incoming Ethernet packets, decodes addresses, and performs read/write operations on the appropriate registers. This autonomous operation maintains protocol accuracy through dedicated hardware logic while achieving high throughput by eliminating processor bottlenecks.

Inventive Principle:
Principle #25Self-service

4Productivity

If address-mapped control is implemented in hardware, then throughput is increased and latency is reduced, but device complexity increases

Engineering Contradiction:
ImprovethroughputVSAvoidFPGA control architecture
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent applies universality by designing a generic address-mapped control architecture that can handle multiple types of FPGA registers and memory locations through a single unified interface. The hardware address decoder and register file are designed to accommodate various data widths and address spaces, allowing the same Ethernet interface to control diverse FPGA resources without requiring separate processing paths, thus managing complexity while maintaining high throughput.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentEP3556067B1System and method for address-mapped control of field programmable gate array (FPGA) via ethernet
Publication Date: 2020.05.27 RAYTHEON CO
  • EP3556067B1 patent drawingFigure 1
  • EP3556067B1 patent drawingFigure 2A
  • EP3556067B1 patent drawingFigure 2B

AI summary

A method includes receiving (501), at a field programmable gate array (FPGA) (100), one or more Ethernet packets of a message including control or status information associated with the FPGA. The method also includes determining (503), by the FPGA, a payload of each packet by removing at least one Ethernet header from the packet. The method further includes removing (505), by the FPGA, a User Datagram Protocol (UDP) header from each packet and determining (505) UDP header metadata. The method also includes converting (507), by the FPGA based on the UDP header metadata, the packets to a read or write message associated with one or more registers (112) of the FPGA. In addition, the method includes performing (509), by the FPGA, a read or write of the one or more registers of the FPGA according to the read or write message.