IP Library Granted Patent US 11,187,748
Granted Patent B2
US 11,187,748 · App. 16/665,019 · Granted Nov 30, 2021

Procedure for reviewing an FPGA-program

Inventors: Heiko Kalte (Paderborn, DE); Dominik Lubeley (Paderborn, DE)
Assignee: DSPACE DIGITAL SIGNAL PROCESSING AND CONTROL ENGINEERING GMBH
G01R31/318519G01R31/31935G01R31/318357
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,187,748
App. No.
16/665,019
Granted
Nov 30, 2021
Kind
B2
Abstract

A method for detecting errors of a first field-programmable gate array (FPGA) program includes: receiving, by a monitoring program executed on a processor connected to an FPGA on which the first FPGA program is executed, a signal value read out from the first FPGA program; and comparing, by the monitoring program executed on the processor, the signal value to a reference value from a source other than the first FPGA program in order to detect errors of the first FPGA program.

Claims (30)

1. A method for detecting errors of a field-programmable gate array (FPGA), comprising:

testing, by a monitoring program executed on a processor in communication with the FPGA, communication between the FPGA and a further FPGA, wherein testing the communication between the FPGA and the further FPGA comprises:

obtaining, by the monitoring program executed on the processor, a signal value from the FPGA prior to transmission of the signal value from the FPGA to the further FPGA;

obtaining, by the monitoring program executed on the processor, a reference value from the further FPGA after transmission of the signal value from the FPGA to the further FPGA; and

comparing, by the monitoring program executed on the processor, the signal value from the FPGA to the reference value from the further FPGA in order to detect whether an error has occurred in the communication between the FPGA and the further FPGA, wherein the signal value and the reference value are different, and wherein the monitoring program detects that an error has occurred in the communication between the FPGA and the further FPGA in response to determining that the reference value does not correspond to the signal value being changed by the further FPGA in a known manner.

2. A method for detecting errors of a first field-programmable gate array (FPGA) program, comprising:

receiving, by a monitoring program executed on a processor connected to an FPGA on which the first FPGA program is executed, a signal value read out from the first FPGA program; and

comparing, by the monitoring program executed on the processor, the signal value to a reference value from a source other than the first FPGA program in order to detect errors of the first FPGA program;

wherein a plurality of comparisons between signal values and reference values are performed and combined;

wherein respective signal values are compared to reference values more frequently based on memory locations and/or logic elements corresponding to the respective signal values being exposed to a higher thermal load relative to other signal values corresponding to memory locations and/or logic elements exposed to a lower thermal load.

3. The method as recited in claim 2 , wherein the reference value is a predefined value.

4. The method as recited in claim 2 , wherein the signal value and the reference value each specify a memory address in a BlockRAM of the FPGA.

5. The method as recited in claim 2 , wherein an error of the first FPGA program is detected based on the signal value being greater than a first reference value and/or less than a second reference value.

6. The method as recited in claim 2 , wherein the reference value is set after a write access to a BlockRAM of the FPGA.

7. The method as recited in claim 4 , wherein the BlockRAM is divided into a plurality of partitions, and at least one reference value is used for each partition.

8. The method as recited in claim 2 , wherein the reference value is dynamically generated in the processor.

9. The method as recited in claim 2 , wherein the monitoring program sends a stimulation value to the FPGA.

10. The method as recited in claim 9 , wherein the stimulation value overwrites a constant in the first FPGA program.

11. The method as recited in claim 1 , wherein the signal value is read out from the FPGA via readback.

12. A system, comprising:

a processor configured to execute a monitoring program; and

a field-programmable gate array (FPGA) in communication with the processor; and

a further FPGA in communication with the processor;

wherein the first FPGA program is configured to transmit a signal value to the further FPGA; and

wherein the monitoring program is configured to test communication between the FPGA and the further FPGA, wherein testing the communication between the FPGA and the further FPGA comprises:

obtaining a signal value from the FPGA prior to transmission of the signal value from the FPGA to the further FPGA;

obtaining a reference value from the further FPGA after transmission of the signal value from the FPGA to the further FPGA; and

comparing the signal value from the FPGA to the reference value from the further FPGA in order to detect whether an error has occurred in the communication between the FPGA and the further FPGA, wherein the signal value and the reference value are different, and wherein the monitoring program detects that an error has occurred in the communication between the FPGA and the further FPGA in response to determining that the reference value does not correspond to the signal value being changed by the further FPGA in a known manner.

13. The method as recited in claim 2 , wherein thermal load on memory locations is estimated via simulation.

14. The method as recited in claim 2 , wherein the signal value is read out from the first FPGA program via readback.

Assignments (3)
CHANGE OF NAME Recorded May 22, 2026
From: DSPACE GMBH
To: DSPACE SE & CO. KG
Reel/Frame 075622/0216 →
CHANGE OF NAME Recorded Apr 14, 2022
From: DSPACE DIGITAL SIGNAL PROCESSING AND CONTROL ENGINEERING GMBH
To: DSPACE GMBH
Reel/Frame 059704/0924 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 29, 2019
From: KALTE, HEIKO; LUBELEY, DOMINIK
To: DSPACE DIGITAL SIGNAL PROCESSING AND CONTROL ENGINEERING GMBH
Reel/Frame 050848/0465 →
Priority Claims (1)
EP 18203310 · Oct 30, 2018 · regional
Continuity (1)
Related Publication 20200132766A1 · Apr 30, 2020