Phase algebra for analysis of hierarchical designs

US9916407B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9916407-B2
Application numberUS-201514631539-A
CountryUS
Kind codeB2
Filing dateFeb 25, 2015
Priority dateDec 5, 2013
Publication dateMar 13, 2018
Grant dateMar 13, 2018

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 design tool can implement phase algebra based design evaluation to evaluate a circuit design with a compact representation of waveforms without simulating the individual waveforms. The tool can determine whether module instances of a register level circuit design share a common usage, each instance being associated with a mapping. Two instances share a common usage if a sequence of signal transition representations received by the first instance can be mapped using a first mapping to the same common sequence of signal transition representations as a mapping of another sequence of signal transition representations received by the second instance using a second mapping. A result sequence of signal transition representations was generated by a previous propagation of the common sequence through the common usage. If the two instances share the common usage, the result sequence is mapped to an output sequence for the second instance using the second mapping.

First claim

Opening claim text (preview).

What is claimed is: 1. A computer program product for evaluation of a circuit design represented in register transfer level code and having a compact representation of waveforms, where the evaluation avoids simulation of the waveforms, the computer program product comprising: a non-transitory computer readable storage medium having program instructions stored thereon, the program instructions executable on one or more processors, the program instructions comprising instructions to determine, by a circuit evaluator operating via the one or more processors, a first mapping associated with a first instance of a first module of the circuit design represented in the register transfer level code and a second mapping associated with a second instance of the first module, wherein the first mapping is for mapping a first input sequence of signal transition representations received by the first instance to a common sequence of signal transition representations, and the second mapping is for mapping a second input sequence of signal transition representations received by the second instance to the common sequence; instructions to determine, by a circuit evaluator operating via the one or more processors, whether the first instance and the second instance share a common usage, wherein the common usage is associated with a result sequence of signal transition representations that was generated by a previous propagation of the common sequence through the common usage, and each signal transition representation represents a non-deterministic transition from a previous signal state to a set of one or more possible signal states; and instructions to, in response to a determination that the first instance and the second instance share the common usage, map the result sequence of signal transition representations to an output sequence of signal transition representations for the second instance using the second mapping. 2. The computer program product of claim 1 , wherein the previous propagation of the mapped first input sequence comprises, propagation of the common sequence through the common usage to generate the result sequence of signal transition representations, wherein the result sequence of signal transition representations is for mapping to a first output sequence of signal transition representations for the first instance using the first mapping, and the result sequence of signal transition representations is for mapping to a second output sequence of signal transition representations for the second instance using the second mapping. 3. The computer program product of claim 1 , wherein the first mapping maps one or more of: a clock of the first input sequence to a clock of the common sequence, and a mode of the first input sequence to a mode of the common sequence. 4. The computer program product of claim 1 , wherein the common sequence is generated based on the first mapping prior to the determination of whether the first instance and the second instance share the common usage. 5. The computer program product of claim 1 , wherein program instructions to determine whether the first instance and the second instance share the common usage comprise program instructions to, determine a plurality of second mapping candidates for mapping the second input sequence to the common sequence, and determine the second mapping from the plurality of second mapping candidates. 6. The computer program product of claim 5 , further comprising program instructions to, eliminate one or more of the plurality of second mapping candidates prior to said determining the second mapping from the plurality of second mapping candidates. 7. An apparatus comprising: one or more processors; and a non-transitory computer readable storage medium having stored thereon program instructions executable by the one or more processors, to cause the apparatus to evaluate a circuit design represented in register transfer level code with compact representation of waveforms, where the evaluation avoids simulation of the waveforms, the program instructions comprising, instructions to determine, by at least one of the processors, a first mapping associated with a first instance of a first module of the circuit design represented in register transfer level code and a second mapping associated with a second instance of the first module, wherein the first mapping is for mapping a first input sequence of signal transition representations received by the first instance to a common sequence of signal transition representations, the second mapping is for mapping a second input sequence of signal transition representations received by the second instance to the common sequence; determine, by at least one of the processor, whether the first instance and the second instance share a common usage, wherein the common usage is associated with a result sequence of signal transition representations that was generated by a previous propagation of the common sequence through the common usage, and each signal transition representation represents a non-deterministic transition from a previous signal state to a set of one or more possible signal states; and in response to a determination that the first instance and the second instance share the common usage, map the result sequence of signal transition representations to an output sequence of signal transition representations for the second instance using the second mapping. 8. The apparatus of claim 7 , wherein the previous propagation of the mapped first input sequence comprises, propagation of the common sequence through the common usage to generate the result sequence of signal transition representations, wherein the result sequence of signal transition representations is for mapping to a first output sequence of signal transition representations for the first instance using the first mapping, and the result sequence of signal transition representations is for mapping to a second output sequence of signal transition representations for the second instance using the second mapping. 9. The apparatus of claim 7 , wherein the first mapping maps one or more of: a clock of the first input sequence to a clock of the common sequence, and a mode of the first input sequence to a mode of the common sequence. 10. The apparatus of claim 7 , wherein the common sequence is generated based on the first mapping prior to the determination of whether the first instance and the second instance share the common usage. 11. The apparatus of claim 7 , wherein program instructions executable to determine whether the first instance and the second instance share the common usage comprise program instructions executable to, determine a plurality of second mapping candidates for mapping the second input sequence to the common sequence, and determine the second mapping from the plurality of second mapping candidates.

Assignees

Inventors

Classifications

  • Clock trees · CPC title

  • Timing analysis or timing optimisation · CPC title

  • Delay-insensitive circuit design, e.g. asynchronous or self-timed · CPC title

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

  • Design verification, e.g. using simulation, simulation program with integrated circuit emphasis [SPICE], direct methods or relaxation methods · 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 US9916407B2 cover?
A design tool can implement phase algebra based design evaluation to evaluate a circuit design with a compact representation of waveforms without simulating the individual waveforms. The tool can determine whether module instances of a register level circuit design share a common usage, each instance being associated with a mapping. Two instances share a common usage if a sequence of signal tra…
Who is the assignee on this patent?
IBM
What technology area does this patent fall under?
Primary CPC classification G06F30/3312. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Mar 13 2018 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 12 related publications on this page (citations in our corpus or others sharing the same primary CPC).