Verification of hardware design for integrated circuit implementing polynomial input variable function

US12197835B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-12197835-B2
Application numberUS-202318369338-A
CountryUS
Kind codeB2
Filing dateSep 18, 2023
Priority dateApr 15, 2019
Publication dateJan 14, 2025
Grant dateJan 14, 2025

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.

Methods and systems for verifying a hardware design for an integrated circuit that implements a function that is polynomial in an input variable x over a set of values of x. The method includes formally verifying that a first instantiation of the hardware design implements a function that is polynomial of degree k in x by formally verifying that for all x in the set of values of x the first instantiation of the hardware design has a constant k th difference; and verifying that a second instantiation of the hardware design generates an expected output in response to each of at least k different values of x in the set of values of x.

First claim

Opening claim text (preview).

What is claimed is: 1. A computer-implemented method of verifying a hardware design for an integrated circuit that implements a function that is polynomial of degree k in an input variable x over a set of values of x, the set of values of x comprising equally spaced values of x, k being an integer greater than or equal to one, the method comprising, in one or more processors: formally verifying that an instantiation of the hardware design implements a function that is polynomial of degree k in x by formally verifying that for all values of x in the set of values of x the instantiation of the hardware design has a constant k th difference; and verifying that an instantiation of the hardware design generates an expected output in response to each of at least k different values of x in the set of values of x. 2. The method of claim 1 , wherein the set of values of x comprises a contiguous block of integers, and formally verifying that for all values of x in the set of values of x an instantiation of the hardware design has a constant k th difference comprises formally verifying that the instantiation of the hardware design P satisfies: ∑ i = 0 k ( k i ) ⁢ ( - 1 ) i ⁢ P ⁡ ( x + i ) = c for all values of x in the set of values of x wherein c is a constant. 3. The method of claim 1 , wherein when k is one, formally verifying that for all values of x in the set of values of x an instantiation of the hardware design has a constant k th difference comprises formally verifying that a difference in outputs of the instantiation of the hardware design in response to any two consecutive values of x in the set of values of x is constant. 4. The method of claim 1 , wherein verifying that an instantiation of the hardware design generates an expected output in response to each of at least k different values of x in the set of values of x comprises verifying that the instantiation of the hardware design generates a correct output according to the function in response to each of at least k different values of x in the set of values of x. 5. The method of claim 1 , wherein verifying that an instantiation of the hardware design generates an expected output in response to each of at least k different values of x in the set of values of x comprises verifying a functional equivalence of the instantiation of the hardware design and an instantiation of another hardware design for at least k different values of x in the set of values of x wherein the other hardware design is for an integrated circuit that implements a function that is polynomial of degree k in x for all x in the set of values of x; and further comprising formally verifying that for all values of x in the set of values of x the instantiation of the other hardware design has a constant k th difference. 6. The method of claim 5 , wherein verifying the functional equivalence of the instantiation of the hardware design and the instantiation of the other hardware design for at least k different values of x in the set of values of x comprises verifying that for each of the at least k different values of x in the set of values of x the instantiation of the hardware design and the instantiation of the other hardware design generate a same output as each other. 7. The method of claim 1 , wherein the function is also polynomial of degree r in x over a second set of values of x, the method further comprising: formally verifying that an instantiation of the hardware design implements a function that is polynomial of degree r in x by formally verifying that for all values of x in the second set of values of x the instantiation of the hardware design has a constant r th difference; and verifying that an instantiation of the hardware design generates an expected output in response to each of r+1 different values of x in the second set of values of x. 8. The method of claim 1 , wherein: the function is also polynomial of degree q in a second input variable z over a set of values of z; the method further comprising formally verifying that an instantiation of the hardware design implements a function that is polynomial of degree q in z by formally verifying that for all values of z in the set of values of z the instantiation of the hardware design has a constant q th difference; and the verification that an instantiation of the hardware design generates an expected output in response to each of at least k different values of x in the set of values of x is performed for at least q different values of z. 9. The method of claim 8 , wherein the input variable x and the second input variable z are ordered and the verification that an instantiation of the hardware design has a constant difference for the lower ordered input variable is performed under a constraint that the higher ordered input variable is restricted to at least k or at least q values of that input variable. 10. The method of claim 1 , wherein: the function has at least one additional input variable; the formal verification that for all values of x in the set of values of x an instantiation of the hardware design has a constant k th difference is performed for each valid value of each of the at least one additional input variable; and the verification that an instantiation of the hardware design generates an expected output in response to each of at least k different values of x in the set of values of x is performed for each valid value of each of the at least one additional input variable. 11. The method of claim 1 , wherein the input variable x is a multiple bit binary number and formally verifying that for all values of x in the set of values of x an instantiation of the hardware design has a constant k th difference comprises verifying the constant k th difference separately for each bit of the input variable x. 12. The method of claim 1 , wherein: the input variable x is a multiple bit binary number; k is equal to one; the constant k th difference is c; and verifying that an instantiation of the hardware design has a constant k th difference comprises verifying for each bit i of the input variable x that the difference in the outputs of the instantiation of the hardware design in response to a first value of x and a second value of x is equal to 2 i *c wherein the i th least significant bit of the first value of x is one and the i th least significant bit of the second value of x is zero and all other

Assignees

Inventors

Classifications

  • Equivalence checking · CPC title

  • using simulation · CPC title

  • using formal methods, e.g. equivalence checking or property checking · CPC title

  • G06F30/33Primary

    Design verification, e.g. functional simulation or model checking · 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 US12197835B2 cover?
Methods and systems for verifying a hardware design for an integrated circuit that implements a function that is polynomial in an input variable x over a set of values of x. The method includes formally verifying that a first instantiation of the hardware design implements a function that is polynomial of degree k in x by formally verifying that for all x in the set of values of x the first ins…
Who is the assignee on this patent?
Imagination Tech Ltd
What technology area does this patent fall under?
Primary CPC classification G06F30/3323. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jan 14 2025 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 6 related publications on this page (citations in our corpus or others sharing the same primary CPC).