System and method for filtering field programmable gate array input/output

US10248585B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10248585-B2
Application numberUS-201615182005-A
CountryUS
Kind codeB2
Filing dateJun 14, 2016
Priority dateJun 14, 2016
Publication dateApr 2, 2019
Grant dateApr 2, 2019

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Systems and methods for adding a logic layer between FPGA I/O and the core logic of the FPGA. With the extra layer, users can monitor and/or modify the I/O to the FPGA. In addition, users can monitor and/or modify input/output to the core logics of the FPGA, thereby filtering both I/O to the FPGA and the logic blocks of the FPGA. With the filtering in place, a non-intrusive digital scope can be implemented which can, in turn, be used to create a “black box” regarding FPGA I/O during the occurrence of the catastrophic events within the system.

First claim

Opening claim text (preview).

We claim: 1. A method comprising: receiving a Field Programmable Gate Array (FPGA) program bitstream; generating, based at least in part on the FPGA bitstream, FPGA programming logic segments; modifying, based at least in part on the FPGA programming logic segments, an FPGA to comprise a core logic layer and a filtering layer; receiving, by the filtering layer, Input/Output (I/O) associated with the core logic layer; modifying, based at least in part on the filtering layer, the I/O associated with the core logic layer; that the sampling the I/O associated with the core logic layer to generate a sampled I/O; receiving, at a processor, a timestamp from the FPGA associated with the sampled I/O; receiving, at the processor, an interrupt signal associated with the FPGA; and in response to receiving the interrupt signal, correlating the sampled I/O and the timestamp with an Epoch time of the processor. 2. The method of claim 1 , wherein the I/O associated with the core logic layer comprises one of signals associated with pins of the FPGA, signals embedded inside a serial GPIO interface, or signals of or any other buses. 3. The method of claim 1 , further comprising passing the modified I/O associated with the core logic layer through the filtering layer. 4. The method of claim 1 , further comprising: identifying a trigger; and in response to detecting the trigger: storing the sampled I/O in a FPGA blockRAM. 5. The method of claim 4 , wherein the trigger is an error condition. 6. The method of claim 1 , wherein the timestamp from the FPGA is calibrated by the processor. 7. A system comprising: a processor; a Field Programmable Gate Array (FPGA); and a computer-readable storage medium having instructions stored which, when executed by the processor, cause the processor to perform operations comprising: receiving a FPGA program bitstream; generating, based at least in part on the FPGA bitstream, FPGA programming logic segments; modifying, based at least in part on the FPGA programming logic segments, the FPGA to comprise a core logic layer and a filtering layer; receiving, a timestamp from the FPGA associated with a sampled Input/Output (I/O), wherein the sampled I/O is a sample of an I/O associated with the core logic layer; receiving an interrupt signal associated with the FPGA; and in response to receiving the interrupt signal, correlating the sampled I/O and the timestamp with an Epoch time of the processor. 8. The system of claim 7 , wherein the I/O associated with the core logic layer comprises one of signals associated with pins of the FPGA, signals embedded inside a serial GPIO interface, or signals of or any other buses. 9. The system of claim 7 , wherein the modified FPGA performs operations comprising passing the I/O associated with the core logic layer through the filtering. 10. The system of claim 7 , the computer-readable storage medium having additional instructions stored which, when executed by the processor, cause the processor to perform operations comprising: identifying a trigger; and in response to detecting the trigger: storing the sampled I/O in a FPGA blockRAM. 11. The system of claim 10 , wherein the trigger is an error condition. 12. The system of claim 7 , wherein the timestamp from the FPGA is calibrated by the processor. 13. A computer-readable storage device having instructions stored which, when executed by a computing device, cause the computing device to perform operations comprising: receiving a Field Programmable Gate Array (FPGA) program bitstream; generating, based at least in part on the FPGA bitstream, FPGA programming logic segments; modifying, based at least in part on the FPGA programming logic segments, the FPGA to comprise a core logic layer and a filtering layer; receiving, a timestamp from the FPGA associated with a sampled Input/Output (I/O), wherein the sampled I/O is a sample of an I/O associated with the core logic layer; receiving an interrupt signal associated with the FPGA; and in response to receiving the interrupt signal, correlating the sampled I/O and the timestamp with an Epoch time of the computing device. 14. The computer-readable storage device of claim 13 , wherein the I/O associated with the core logic layer comprises one of signals associated with pins of the FPGA, signals embedded inside a serial GPIO interface, or signals of or any other buses. 15. The computer-readable storage device of claim 13 , wherein the modified FPGA is configured to pass the I/O through the filtering layer.

Assignees

Inventors

Classifications

  • G06F13/16Primary

    for access to memory bus (G06F13/28 takes precedence) · CPC title

  • where the computing system component is a storage system, e.g. DASD based or network based (digital input from or digital output to record carriers G06F3/06; digital recording or reproducing G11B20/18; for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS], H04L67/1097) · CPC title

  • for memories · CPC title

  • on a serial bus, e.g. I2C bus, SPI bus (on daisy chain buses G06F13/4247) · CPC title

  • where the reporting involves data filtering, e.g. pattern matching, time or event triggered, adaptive or policy-based reporting · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10248585B2 cover?
Systems and methods for adding a logic layer between FPGA I/O and the core logic of the FPGA. With the extra layer, users can monitor and/or modify the I/O to the FPGA. In addition, users can monitor and/or modify input/output to the core logics of the FPGA, thereby filtering both I/O to the FPGA and the logic blocks of the FPGA. With the filtering in place, a non-intrusive digital scope can be…
Who is the assignee on this patent?
Oracle Int Corp
What technology area does this patent fall under?
Primary CPC classification G06F13/16. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Apr 02 2019 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 4 related publications on this page (citations in our corpus or others sharing the same primary CPC).