IP Library Granted Patent US 11,171,653
Granted Patent B2
US 11,171,653 · App. 16/957,428 · Granted Nov 9, 2021

Method for programming a field programmable gate array and network configuration

Inventors: Marcelo Samsoniuk (Curitiba, BR); Paolo Henrique Bernardi (Curitiba, BR); Diogo Wachtel Granado (Curitiba, BR)
Assignee: Unify Patente GmbH & Co. KG
H03K19/17764H03K19/1776H03K19/17712H03K19/17744
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,171,653
App. No.
16/957,428
Granted
Nov 9, 2021
Kind
B2
Abstract

A method for programming a Field Programmable Gate Array (FPGA) via a network, the network being operated according to a predetermined communications protocol, can include: establishing a communication connection between the FPGA and an external master, setting the FPGA into a programming mode, the master providing an FPGA programming image to the FPGA in a sequence of frames so that the frames can be parsed and enabling the FPGA to write only during receiving the payload section of the frames. The FPGA programming image and parsing the sequence of frames can be performed by a permanently programmed or hardwired logic component. A network, FPGA, and a communication system can be configured to utilize embodiments of the method.

Claims (41)

1. A method for programming a Field Programmable Gate Array (FPGA) via a network being operated according to a predetermined communications protocol, the method comprises comprising:

establishing, via the network, a communications connection between the FPGA and an external master connected to the network;

setting the FPGA into a programming mode;

the FPGA receiving an FPGA programming image for programming the FPGA from the external master according to the predetermined network communications protocol in a sequence of frames, each of the frames comprising a payload section and protocol overhead section, each payload section comprising a portion of the programming image;

parsing the sequence of frames; and

enabling FPGA writing only during receiving of the payload section of each of the frames received and writing a portion of programming data of the payload section into the FPGA,

wherein the receiving of the FPGA programming image and parsing of the sequence of frames is performed by a permanently programmed or hardwired logic component;

wherein the logic component is circuitry, the circuitry being a glue logic type comprising a digital counter and at least one comparator provided between an Ethernet physical layer (PHY) and the FPGA; and the method also comprising:

the logic component, during programming of the FPGA, generating a Receive Write signal while the counter is between a defined range between τ and τ+ε, where ε is payload length and τ is a number of bytes of network headers that is to be skipped.

2. The method according to claim 1 , wherein the predetermined network communications protocol is an Ethernet protocol.

3. The method of claim 1 , further comprising:

after a predetermined number of the frames that are sufficient for loading a valid FPGA configuration image has been received, assuming, by the FPGA, control of an interface between the external master and the FPGA and starting an exchange of traffic with the external master.

4. The method of claim 3 , wherein the interface is a gigabit media-independent Interface (GMII) interface.

5. The method of claim 3 , further comprising:

disabling the FPGA image download after starting the exchange of traffic.

6. The method of claim 3 , wherein the external master is a network server with the Ethernet PHY directly attached thereto.

7. A method for programming a Field Programmable Gate Array (FPGA) via a network being operated according to a predetermined communications protocol, the method comprises comprising:

establishing, via the network, a communications connection between the FPGA and an external master connected to the network;

setting the FPGA into a programming mode;

the FPGA receiving an FPGA programming image for programming the FPGA from the external master according to the predetermined network communications protocol in a sequence of frames, each of the frames comprising a payload section and protocol overhead section, each payload section comprising a portion of the programming image;

parsing the sequence of frames; and

enabling FPGA writing only during receiving of the payload section of each of the frames received and writing a portion of programming data of the payload section into the FPGA,

wherein the receiving of the FPGA programming image and parsing of the sequence of frames is performed by a permanently programmed or hardwired logic component and

re-programming the FPGA, the FPGA erasing itself to facilitate the re-programming by triggering an IO pin connected to a RESET pin so as to stop an exchange of traffic between the FPGA and the external master.

8. The method according of claim 7 , wherein the logic component is circuitry.

9. The method of claim 8 , wherein the circuitry is a glue logic type, PLA type, or PLD type.

10. The method of claim 9 , wherein the logic component is the glue type logic, the glue logic type comprising a digital counter and at least one comparator provided between an Ethernet physical layer (PHY) and the FPGA.

11. The method of claim 10 , comprising:

the logic component, during programming of the FPGA, generating a Receive Write signal (RXWR) while the counter is between a defined range between τ and τ+ε, where ε is payload length and τ is a number of bytes of network headers that is to be skipped.

12. The method of claim 10 , wherein the counter is a 10-bit counter.

13. A communication apparatus comprising:

a communications network in which an external master and an FPGA are connected to each other via an interface, and are adapted to communicate with each other according to a predetermined network communications protocol;

the FPGA configured to boot itself directly from the network,

a logic component being positioned between the FPGA and the interface,

wherein the logic component comprises circuitry, the circuitry comprising a digital counter and at least one comparator provided between an Ethernet physical layer (PHY) and the FPGA, the logic component configured so that, during programming of the FPGA, a Receive Write signal is generated while the counter is between a defined range between τ and τ+ε, where ε is payload length and τ is a number of bytes of network headers that is to be skipped.

14. The communication apparatus of claim 13 , wherein the logic component is circuitry configured as a glue logic type.

15. The communication apparatus of claim 13 , wherein the external master is a network server, the predetermined network communications protocol is Ethernet, and the interface is a gigabit media-independent Interface (GMII) interface.

16. The communication apparatus of claim 13 , wherein the logic component comprises at least one of discrete high speed logic and an auxiliary component with a pre-programmed programming image, the auxiliary component being an auxiliary Complex Programmable Logic Device CPLD, an auxiliary FPGA, or an auxiliary Application-Specific Integrated Circuit ASIC.

17. The communication apparatus of claim 16 , wherein the auxiliary component is connected to the FPGA between the FPGA and the interface.

18. The communication apparatus of claim 13 , wherein the communication apparatus is configured to support a physical layer protocol, VLAN protocols, routing protocols, and transport protocols.

19. The communication apparatus of claim 13 , wherein the FPGA is configured so that during re-programming of the FPGA, the FPGA erases itself to facilitate the re-programming by triggering an IO pin connected to a RESET pin so as to stop an exchange of traffic between the FPGA and the external master.

Assignments (9)
RELEASE OF SECURITY INTEREST Recorded Jun 24, 2025
From: WILMINGTON SAVINGS FUND SOCIETY, FSB
To: MITEL (DELAWARE), INC.; MITEL COMMUNICATIONS, INC.; MITEL NETWORKS, INC.; MITEL NETWORKS CORPORATION
Reel/Frame 071712/0821 →
NOTICE OF SUCCCESSION OF AGENCY - PL Recorded Jan 14, 2025
From: UBS AG, STAMFORD BRANCH, AS LEGAL SUCCESSOR TO CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: WILMINGTON SAVINGS FUND SOCIETY, FSB
Reel/Frame 069895/0755 →
NOTICE OF SUCCCESSION OF AGENCY - 3L Recorded Jan 14, 2025
From: UBS AG, STAMFORD BRANCH, AS LEGAL SUCCESSOR TO CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: WILMINGTON SAVINGS FUND SOCIETY, FSB
Reel/Frame 070006/0268 →
NOTICE OF SUCCCESSION OF AGENCY - 2L Recorded Jan 14, 2025
From: UBS AG, STAMFORD BRANCH, AS LEGAL SUCCESSOR TO CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: WILMINGTON SAVINGS FUND SOCIETY, FSB
Reel/Frame 069896/0001 →
CHANGE OF NAME Recorded Oct 24, 2024
From: UNIFY PATENTE GMBH & CO. KG
To: UNIFY BETEILIGUNGSVERWALTUNG GMBH & CO. KG
Reel/Frame 069242/0312 →
SECURITY INTEREST Recorded Jan 5, 2024
From: UNIFY PATENTE GMBH & CO. KG
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 066197/0333 →
SECURITY INTEREST Recorded Jan 5, 2024
From: UNIFY PATENTE GMBH & CO. KG
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 066197/0299 →
SECURITY INTEREST Recorded Jan 5, 2024
From: UNIFY PATENTE GMBH & CO. KG
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 066197/0073 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 24, 2020
From: SAMSONIUK, MARCELO; BERNARDI, PAULO HENRIQUE; GRANADO, DIOGO WACHTEL
To: UNIFY PATENTE GMBH & CO. KG
Reel/Frame 054745/0921 →
Continuity (1)
Related Publication 20200321965A1 · Oct 8, 2020