Testing integrated circuit designs with accelerated replay

US12346643B1 · US · B1

Patent metadata
FieldValue
Publication numberUS-12346643-B1
Application numberUS-202117301251-A
CountryUS
Kind codeB1
Filing dateMar 30, 2021
Priority dateMar 30, 2021
Publication dateJul 1, 2025
Grant dateJul 1, 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.

A technique to stress test an integrated circuit design under test in a simulation environment may include running a simulation that includes providing bus interface transactions and idle cycles on a bus interface of an integrated circuit design. The technique may further include capturing bus interface activity on the bus interface during the simulation to generate a stimulus file and replaying the simulation by executing a test bench driver that reads the stimulus file and injects the bus interface transactions with modified idle cycles onto the bus interface of the integrated circuit design.

First claim

Opening claim text (preview).

What is claimed is: 1. A computer-implemented method for testing an integrated circuit design, the method comprising: running a simulation that includes: reading, by a controller model, controller instructions from a memory model; executing, by the controller model, microcode to translate the controller instructions into device instructions for an integrated circuit design under test; and dispatching, by the controller model, the device instructions onto a bus interface between the controller model and the integrated circuit design, wherein the device instructions are dispatched onto the bus interface with intervening idle cycles; capturing bus interface activity on the bus interface to generate a stimulus file, wherein one or more of the intervening idle cycles are excluded from the stimulus file; and executing a test bench driver to bypass the microcode and replay the simulation, wherein replaying the simulation includes: reading, by the test bench driver, the stimulus file; and injecting, by the test bench driver, the device instructions from the stimulus file into the integrated circuit design without the excluded one or more of the intervening idle cycles. 2. The computer-implemented method of claim 1 , wherein the bus interface includes: a data bus; a push signal to indicate that a valid device instruction is present on the data bus; and a full signal generated by the integrated circuit design under test to indicate that a processing queue of the integrated circuit design is full. 3. The computer-implemented method of claim 2 , wherein in response to the integrated circuit design asserting the full signal, the test bench driver maintains a current device instruction on the data bus until the full signal is deasserted. 4. The computer-implemented method of claim 1 , wherein the controller model is held in reset while the test bench driver is injecting the device instructions. 5. A computer-implemented method, comprising: running a simulation that includes providing bus interface transactions and idle cycles on a bus interface of an integrated circuit design under test; capturing bus interface activity on the bus interface during the simulation to generate a stimulus file; and replaying the simulation by executing a test bench driver that reads the stimulus file and injects the bus interface transactions with modified idle cycles onto the bus interface of the integrated circuit design under test. 6. The computer-implemented method of claim 5 , wherein the bus interface transactions include data movement instructions being dispatched to the integrated circuit design under test, the data movement instructions causing the integrated circuit design to fetch data from a memory model and load the data into a computational logic block of the integrated circuit design. 7. The computer-implemented method of claim 5 , wherein the bus interface transactions are generated by a controller model executing microcode. 8. The computer-implemented method of claim 7 , wherein the microcode executed by the controller model is a pre-release version that is undergoing optimization. 9. The computer-implemented method of claim 7 , wherein the controller model is held in reset while the simulation is being replayed. 10. The computer-implemented method of claim 5 , wherein the test bench driver is a system Verilog driver. 11. The computer-implemented method of claim 5 , wherein the stimulus file is a binary file or a text file. 12. The computer-implemented method of claim 5 , wherein the stimulus file includes data bus state information correlated with time information. 13. The computer-implemented method of claim 5 , wherein the stimulus file is generated by excluding a plurality of the idle cycles from the bus interface activity. 14. The computer-implemented method of claim 5 , wherein replaying the simulation includes removing a plurality of the idle cycles from the bus interface when the stimulus file is read. 15. The computer-implemented method of claim 5 , wherein the bus interface transactions are injected onto the bus interface with all of the idle cycles removed. 16. The computer-implemented method of claim 5 , wherein the bus interface includes a full signal indicating whether a processing queue of the integrated circuit design is full. 17. The computer-implemented method of claim 16 , wherein in response to the full signal being asserted, the test bench driver maintains a current bus interface transaction on the bus interface until the full signal is deasserted. 18. The computer-implemented method of claim 17 , wherein in response to the full signal being deasserted, the test bench driver injects a next bus interface transaction onto the bus interface. 19. The computer-implemented method of claim 5 , wherein the integrated circuit design is a hardware accelerator design. 20. A non-transitory computer readable medium storing code that, when executed by one or more processors, causes the one or more processors to implement a test bench driver that is configured to: read a binary stimulus file containing bus interface activity captured in a prior simulation, the bus interface activity containing activity on a bus interface between a controller model and an integrated circuit design; modify one or more idle cycles from the bus interface activity; and inject the bus interface activity with the modified one or more idle cycles onto the bus interface while the controller model is being held in reset.

Assignees

Inventors

Classifications

  • Design verification, e.g. functional simulation or model checking · CPC title

  • G06F30/331Primary

    with hardware acceleration, e.g. by using field programmable gate array [FPGA] or emulation · 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 US12346643B1 cover?
A technique to stress test an integrated circuit design under test in a simulation environment may include running a simulation that includes providing bus interface transactions and idle cycles on a bus interface of an integrated circuit design. The technique may further include capturing bus interface activity on the bus interface during the simulation to generate a stimulus file and replayin…
Who is the assignee on this patent?
Amazon Tech Inc
What technology area does this patent fall under?
Primary CPC classification G06F30/331. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jul 01 2025 00:00:00 GMT+0000 (Coordinated Universal Time) (B1). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).