Automatic comparison and performance analysis between different implementations

US9317629B1 · US · B1

Patent metadata
FieldValue
Publication numberUS-9317629-B1
Application numberUS-76532410-A
CountryUS
Kind codeB1
Filing dateApr 22, 2010
Priority dateDec 29, 2005
Publication dateApr 19, 2016
Grant dateApr 19, 2016

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.

The present invention provides a method and system for automatic verification of automatically generated standalone code intended for execution on a target computing platform against its original design simulated in a simulation environment. The present invention also applies to execution comparisons between two implementations, such as two simulations, one simulation and one standalone code implementation, or two standalone code implementations. Block diagrams can be used to create a comparison model that compares two implementations. The comparison of different implementations can be performed at a block level, a subsystem level, a model level, or multi-model level. The present invention allows automatic comparison once a user supplies the intermediate outputs and/or signals that the user wants to compare and monitor. Reports can be generated to show the statistics of the comparison results.

First claim

Opening claim text (preview).

We claim: 1. A method comprising: automatically generating, by a processor of a host computer, an executable comparison block diagram model including: a first portion that represents a first simulation as a plurality of interconnected graphical blocks, outputs of at least some of the interconnected graphical blocks of the first portion representing intermediate outputs in the first simulation, and a second portion that represents a second simulation as a plurality of interconnected graphical blocks, outputs of at least some of the interconnected graphical blocks of the second portion representing intermediate outputs in the second simulation, where the first and second simulations represent different implementations of a design, and the first and second simulations are configured for independent execution; storing the executable comparison block diagram in a memory; identifying for comparison, with a difference block in the comparison block diagram model, a first intermediate output from the first simulation and a second intermediate output from the second simulation, the difference block being separate from the first and second portions that represent the first and second simulations; providing a switching capability at the second portion of the executable comparison block diagram model, the switching capability controlling whether a next component of the second portion of the executable comparison block diagram model receives: the first intermediate output of the first simulation, or the second intermediate output, where the next component of the second portion of the executable comparison block diagram model is relative to the second intermediate output in an execution order; instructing the first simulation and the second simulation to execute simultaneously in a locked-step manner during execution of the comparison block diagram model; automatically comparing, by the processor, at least one value of the first intermediate output with at least one value of the second intermediate output during the execution of the comparison block diagram model including the first and second portions that represent the first and second simulations; and generating a report comparing the first simulation with the second simulation. 2. The method of claim 1 further comprising: executing the first simulation and the second simulation on different host computers. 3. The method of claim 1 further comprising: identifying a third intermediate output from the first simulation and a fourth intermediate output from the second simulation; and comparing at least one value of the third intermediate output with at least one value of the fourth intermediate output during execution of the first and second simulations. 4. The method of claim 3 , wherein the third intermediate output is an output of a first block using the first intermediate output as an input, and the fourth intermediate output is an output of a second block using either the second intermediate output or the first intermediate output as an input. 5. The method of claim 1 further comprising: receiving comparison instructions specifying at least one or a combination of the following: a number of test runs, a range of system input sources, a range of subsystem-level design parameter values, a range of independent subsystem-level error tolerances, a range of accumulated subsystem-level error tolerances, and a range of reporting metrics and formats. 6. The method of claim 1 , wherein the report includes statistics on at least one or a combination of: an error rate, an error distribution, and a sensitivity metric. 7. The method of claim 6 , wherein the error rate is at least one or a combination of: a mean time before error, a mean time between errors, a rate of error per time, and a rate of error per run. 8. The method of claim 6 , wherein the sensitivity metric comprises at least one or a combination of an independent subsystem level sensitivity to subsystem input and an independent subsystem-level sensitivity to subsystem parameters. 9. The method of claim 1 , wherein the first portion represents semantics of the first simulation and the second portion represent semantics of the second simulation. 10. A non-transitory computer-readable medium storing instructions executable by one or more computing devices, the instructions comprising instructions for: generating automatically an executable comparison block diagram model including: a first portion that represents a first simulation as a plurality of interconnected graphical blocks, outputs of at least some of the interconnected graphical blocks of the first portion representing intermediate outputs in the first simulation, and a second portion that represents a second simulation as a plurality of interconnected graphical blocks, outputs of at least some of the interconnected graphical blocks of the second portion representing intermediate outputs in the second simulation, where the first and second simulations represent different implementations of a design, and the first and second simulations are configured for independent execution; storing the comparison block diagram model in a memory; identifying for comparison, with a difference block in the comparison block diagram model, a first intermediate output from the first simulation and a second intermediate output from the second simulation, the difference block being separate from the first and second portions that represent the first and second simulations; providing a switching capability at the second portion of the executable comparison block diagram model, the switching capability controlling whether a next component of the second portion of the executable comparison block diagram model receives: the first intermediate output of the first simulation, or the second intermediate output, where the next component of the second portion of the executable comparison block diagram model is relative to the second intermediate output in an execution order; instructing the first simulation and the second simulation to execute simultaneously in a locked-step manner during execution of the comparison block diagram model; automatically comparing at least one value of the first intermediate output from the first simulation with at least one value of the second intermediate output from the second simulation during execution of the comparison block diagram model including the first and second portions representing the first and second simulations; and providing an output to a user comparing the first simulation with the second simulation. 11. The medium of claim 10 further comprising instructions for: executing the first simulation and the second simulation on different host computers. 12. The medium of claim 10 further comprising instructions for: identifying a third intermediate output from the first simulation and a fourth intermediate output from the second simulation; and comparing at least one value of the third intermediate output with at least one value of the fourth intermediate output during execution of the first and second simulations. 13. The medium of claim 12 , wherein the third intermediate output is an output of a first block using the first intermediate output as an input, and the fourth intermediate output is an output of a second block using either the second intermediate output or the first intermediate output as an input. 14. The medium of claim 10 further comprising instructions for: receiving comparison instructions specifying at least one or a combination of the following: a number of test runs, a range of system input sources, a

Assignees

Inventors

Classifications

  • Analysis of software for verifying properties of programs (testing of software G06F11/3668) · CPC title

  • G06F30/20Primary

    Design optimisation, verification or simulation (optimisation, verification or simulation of circuit designs G06F30/30) · CPC title

  • Fault verification, e.g. comparing two values which should be the same, unless a computational fault occurred · CPC title

  • Testing of software · CPC title

  • Physics · mapped topic

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 US9317629B1 cover?
The present invention provides a method and system for automatic verification of automatically generated standalone code intended for execution on a target computing platform against its original design simulated in a simulation environment. The present invention also applies to execution comparisons between two implementations, such as two simulations, one simulation and one standalone code im…
Who is the assignee on this patent?
Koh David, Ogilvie Brian K, Mathworks Inc
What technology area does this patent fall under?
Primary CPC classification G06F11/3604. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Apr 19 2016 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).