IP Library Granted Patent US 10,489,535
Granted Patent B2
US 10,489,535 · App. 15/718,375 · Granted Nov 26, 2019

Method and apparatus for reducing constraints during rewind structural verification of retimed circuits

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,489,535
App. No.
15/718,375
Granted
Nov 26, 2019
Kind
B2
Abstract

A method for performing a rewind functional verification includes identifying state variables that model a number of registers on each edge of a retiming graph for an original design and a retimed design. Random variables are identified that model retiming labels representing a number and a direction of a register movement relative to a node on a retiming graph for the retimed design. A retiming constraint is identified for each edge on the retiming graph for the retimed design, wherein the retiming constraint reflects a relationship between the state variables and the random variables. A random variable that models a retiming label at a source of an edge is recursively substituted for a random variable that models a retiming label at a sink of the edge when a number of registers on the edge is unchanged after register retiming.

Claims (37)

1. A method for performing a rewind functional verification, the method comprising:

identifying state variables that model a number of registers on each edge of a retiming graph for an original design and a retimed design;

identifying random variables that model retiming labels representing a number and a direction of a register movement relative to a node on a retiming graph for the retimed design;

identifying a retiming constraint for each edge on the retiming graph for the retimed design, wherein the retiming constraint reflects a relationship between the state variables and the random variables; and

substituting a random variable that models a retiming label at a source of an edge for a random variable that models a retiming label at a sink of the edge when a number of registers on the edge is unchanged after a register retiming.

2. The method of claim 1 further comprising substituting the random variable that models the retiming label at the source of the edge for another random variable that models a retiming label at a node connected to the sink of the edge when a number of registers on an edge connecting the node to the sink is unchanged after the register retiming.

3. The method of claim 1 further comprising substituting the random variable that models the retiming label at the source of the edge for a further random variable that models a retiming label at a further node connected to the node on the retiming graph when a number of registers on an edge connecting the further node to the node on the retiming graph is unchanged after the register retiming.

4. The method of claim 1 , wherein the substituting of a random variable that models a retiming label at a source is performed recursively for other connected nodes.

5. The method of claim 1 further comprising removing a redundant constraint in response to the substituting.

6. The method of claim 5 further comprising determining whether the retimed design is structurally correct in response to identifying solutions for remaining random variables.

7. The method of claim 6 further comprising identifying solutions for the random variables without the substituting and the removing in response to determining the retimed design is structurally incorrect.

8. The method of claim 7 further comprising identifying an edge associated with the retimed design being structurally incorrect in response to identifying solutions for the random variables.

9. A method for performing a rewind functional verification, the method comprising:

identifying random variables that model retiming labels representing a number and a direction of a register movement relative to a node on a retiming graph for a retimed design;

identifying an edge on a retiming graph for an original design and a retimed design;

designating random variables for nodes associated with the edge on the retiming graph to be in an equivalence class in response to determining that a number of registers on the edge on the retiming graph is unchanged after a register retiming;

identifying a next edge on the retiming graph for the original design and the retimed design that is connected to a node having a random variable in the equivalence class;

designating random variables for nodes associated with the next edge to be in the equivalence class in response to determining that a number of registers on the next edge is unchanged after the register retiming;

substituting the random variables in the equivalence class with a new single variable; and

determining whether the retimed design is structurally correct in response to identifying solutions for remaining random variables after the substituting.

10. The method of claim 9 further comprising:

identifying state variables that model a number of registers on each edge of the retiming graph for the original design and a retimed design; and

identifying a retiming constraint for each edge on the retiming graph for the retimed design, wherein the retiming constraint reflects a relationship between the state variables and the random variables.

11. The method of claim 10 further comprising removing a redundant constraint in response to the substituting.

12. The method of claim 11 further comprising identifying solutions for the random variables without the substituting and the removing in response to determining the retimed design is structurally incorrect.

13. The method of claim 12 further comprising identifying an edge associated with the retimed design being structurally incorrect in response to identifying solutions for the random variables.

14. A non-transitory computer readable medium including a sequence of instructions stored thereon for causing a computer to execute a method for performing a rewind functional verification, the sequence of instructions comprising:

identifying state variables that model a number of registers on each edge of a retiming graph for an original design and a retimed design;

identifying random variables that model retiming labels representing a number and a direction of a register movement relative to a node on a retiming graph for the retimed design;

identifying a retiming constraint for each edge on the retiming graph for the retimed design, wherein the retiming constraint reflects a relationship between the state variables and the random variables; and

substituting a random variable that models a retiming label at a source of an edge for a random variable that models a retiming label at a sink of the edge when a number of registers on the edge is unchanged after a register retiming.

15. The non-transitory computer readable medium of claim 14 , wherein the method further comprises substituting the random variable that models the retiming label at the source of the edge for another random variable that models a retiming label at a node connected to the sink of the edge when a number of registers on an edge connecting the node to the sink is unchanged after the register retiming.

16. The non-transitory computer readable medium of claim 14 , wherein the method further comprises substituting the random variable that models the retiming label at the source of the edge for a further random variable that models a retiming label at a further node connected to the node on the retiming graph when a number of registers on an edge connecting the further node to the node on the retiming graph is unchanged after the register retiming.

17. The non-transitory computer readable medium of claim 14 , wherein the substituting a random variable that models a retiming label at a source is performed recursively for other connected nodes.

18. The non-transitory computer readable medium of claim 14 , wherein the method further comprises removing a redundant constraint in response to the substituting.

19. The non-transitory computer readable medium of claim 18 , wherein the method further comprises determining whether the retimed design is structurally correct in response to identifying solutions for remaining random variables.

20. The non-transitory computer readable medium of claim 19 , wherein the method further comprises identifying solutions for the random variables without the substituting and the removing in response to determining the retimed design is structurally incorrect.

Assignments (3)
SECURITY INTEREST Recorded Sep 12, 2025
From: ALTERA CORPORATION
To: BARCLAYS BANK PLC, AS COLLATERAL AGENT
Reel/Frame 073431/0309 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 19, 2024
From: INTEL CORPORATION
To: ALTERA CORPORATION
Reel/Frame 066353/0886 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 28, 2017
From: IYER, MAHESH A.; KAMATH, VASUDEVA M.
To: INTEL CORPORATION
Reel/Frame 043729/0681 →