Formal verification tool to verify hardware design of memory unit

US11948652B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11948652-B2
Application numberUS-202217573542-A
CountryUS
Kind codeB2
Filing dateJan 11, 2022
Priority dateNov 11, 2015
Publication dateApr 2, 2024
Grant dateApr 2, 2024

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.

Hardware monitors which can be used by a formal verification tool to exhaustively verify a hardware design for a memory unit. The hardware monitors include detection logic to monitor one or more control signals and/or data signals of an instantiation of the memory unit to detect symbolic writes and symbolic reads. In some examples a symbolic write is a write of symbolic data to a symbolic address; and in other examples a symbolic write is a write of any data to a symbolic address. A symbolic read is a read of the symbolic address. The hardware monitors also include assertion verification logic that verifies an assertion that read data corresponding to a symbolic reads matches write data associated with one or more symbolic writes preceding the read.

First claim

Opening claim text (preview).

What is claimed is: 1. A formal verification tool configured to verify operation of an instantiation of a hardware unit for storing data defined in a hardware design, the formal verification tool comprising: assertion verification logic configured to verify a formal assertion that establishes that, for a read of a symbolic address of the instantiation of the hardware unit that occurs after one or more writes to the symbolic address, read data corresponding to the read of the symbolic address matches write data corresponding to the one or more writes to the symbolic address, wherein the symbolic address is a variable that represents each possible address value of the instantiation of the hardware unit which causes the formal verification tool to assess each of the possible address values. 2. The formal verification tool of claim 1 , further comprising a seen symbolic write register and wherein the formal verification tool is configured to set the seen symbolic write register when a write to the symbolic address of the instantiation of the hardware unit occurs and the write data matches symbolic data. 3. The formal verification tool of claim 2 , further comprising a symbolic read request register and wherein the formal verification tool is configured to set the symbolic read request register when a read of the symbolic address in the instantiation of the hardware unit occurs when the seen symbolic write register is set; and wherein the assertion verification logic is configured to verify the formal assertion by, in response to determining that the seen symbolic write register is set and the symbolic read request register is set, comparing the read data corresponding to the read of the symbolic address to the symbolic data. 4. The formal verification tool of claim 3 , wherein the assertion verification logic is further configured to output an error message in response to determining that the read data corresponding to the read of the symbolic address does not match the symbolic data. 5. The formal verification tool of claim 3 , further comprising a symbolic mask register, and wherein the formal verification tool is configured to, when a write of the symbolic data to the symbolic address in the instantiation of the hardware unit occurs, record, in the symbolic mask register, which particular bits of a memory block were written to; and wherein the assertion verification logic is configured to combine each of the read data corresponding to the read of the symbolic address and the symbolic data with the data in the symbolic mask register prior to comparing the read data corresponding to the read of the symbolic address and the symbolic data. 6. The formal verification tool of claim 1 , further comprising: a symbolic read request register, wherein the formal verification tool is configured to, when a read of the symbolic address in the instantiation of the hardware unit occurs, set the symbolic read request register; and a last written data register, wherein the formal verification tool is configured to, when a write to the symbolic address in the instantiation of the hardware unit occurs, store write data corresponding to the write to the symbolic address in the last written data register. 7. The formal verification tool of claim 6 , wherein the assertion verification logic is configured to verify the formal assertion by, in response to determining that the symbolic read request register is set, comparing the read data corresponding to the read of the symbolic address to the write data in the last written data register. 8. The formal verification tool of claim 7 , wherein the assertion verification logic is configured to output an error message in response to determining that the read data corresponding to the read of the symbolic address does not match the write data in the last written data register. 9. The formal verification tool of claim 7 , further comprising an initialized register, wherein the formal verification tool is configured to, when a write to the symbolic address in the instantiation of the hardware unit occurs, update the initialized register to indicate which particular bits of a memory block at the symbolic address have been written to at least once. 10. The formal verification tool of claim 9 , wherein the assertion verification logic is configured to combine each of the read data corresponding to the read of the symbolic address and the write data in the last written data register with the data in the initialized register prior to comparing the read data corresponding to the read of the symbolic address and the write data in the last written data register. 11. The formal verification tool of claim 3 , further comprising a seen symbolic read register, wherein the formal verification tool is configured to, when the read data corresponding to a read of the symbolic address has been output, set the seen symbolic read register. 12. The formal verification tool of claim 11 , wherein the assertion verification logic is further configured to perform the comparison only if the seen symbolic read register is set. 13. The formal verification tool of claim 1 , wherein the hardware unit implements one or more of: multiple access ports, partial reads and writes, pipelining, and clock gating. 14. A method of verifying operation of an instantiation of a hardware unit for storing data defined by a hardware design, the method comprising: verifying operation of the instantiation of the hardware unit, using a formal verification tool, by verifying a formal assertion that establishes that when a read of a symbolic address of the instantiation of the hardware unit occurs after one or more writes to the symbolic address, read data corresponding to the read of the symbolic address matches write data corresponding to the one or more writes to the symbolic address, wherein the symbolic address is a variable that represents each possible address value of the instantiation of the hardware unit which causes the formal verification tool to assess each of the possible address values. 15. The method of claim 14 , further comprising, in response to determining that a write to the symbolic address in the instantiation of the hardware unit has occurred, storing write data corresponding to the write to the symbolic address in a last written data register; and wherein verifying the formal assertion comprises comparing the read data corresponding to the read of the symbolic address to the write data in the last written data register. 16. The method of claim 15 , further comprising, in response to determining that a write to the symbolic address in the instantiation of the hardware unit has occurred, updating an initialized register to indicate which particular bits of a memory block at the symbolic address have been written to at least once; and wherein verifying the formal assertion further comprises, prior to comparing the read data corresponding to the read of the symbolic address to the write data in the last written data register, combining each of the read data corresponding to the read of the symbolic address and the write data in the last written data register with data in the initialized register. 17. The method of claim 15 , further comprising, in response to determining that the read data corresponding to the read of the symbolic address does not match the write data in the last written data register, outputting an error message. 18. The method of claim 14 , further comprising: in response to determining that a write to the symbolic address in the instantiation of the hardware un

Assignees

Inventors

Classifications

  • G11C29/38Primary

    Response verification devices · CPC title

  • to test input/output devices or peripheral units · CPC title

  • where the computing system component is a memory, e.g. virtual memory, cache (accessing, addressing or allocating within memory systems or architectures G06F12/00; checking stores for correct operation G11C29/00) · CPC title

  • for performance assessment · CPC title

  • comprising I/O circuitry · 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 US11948652B2 cover?
Hardware monitors which can be used by a formal verification tool to exhaustively verify a hardware design for a memory unit. The hardware monitors include detection logic to monitor one or more control signals and/or data signals of an instantiation of the memory unit to detect symbolic writes and symbolic reads. In some examples a symbolic write is a write of symbolic data to a symbolic addre…
Who is the assignee on this patent?
Imagination Tech Ltd
What technology area does this patent fall under?
Primary CPC classification G11C29/38. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Apr 02 2024 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 3 related publications on this page (citations in our corpus or others sharing the same primary CPC).