IP Library Granted Patent US 8,856,706
Granted Patent B2
US 8,856,706 · App. 13/887,596 · Granted Oct 7, 2014

System and method for metastability verification of circuits of an integrated circuit

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 8,856,706
App. No.
13/887,596
Granted
Oct 7, 2014
Kind
B2
Abstract

A system and methods for metastability verification of an integrated circuit design are provided. An IC design is received and the source-to-destination paths of the IC design are determined. For each of the determined source-to-destination paths, it is determined whether the corresponding source is synchronized. For each source its respective synchronized or unsynchronized result is stored and a report is generated for each source describing whether it is synchronized or unsynchronized. The system may be at least a portion of a computer aided design (CAD) system.

Claims (43)

1. A system for performing metastability verification comprising:

a processor;

a memory communicatively connected to the processor; and

a data storage;

the processor communicatively connected to the data storage; and

a memory communicatively connected to the processor, the memory containing instructions that when executed by the processor configure the system to: determine at least a source-to-destination path of the IC design; determine by structural pruning potential synchronization points for each of the two or more sources of the sources-destination; determine for the at least a source-to-destination path whether each of the corresponding source is synchronized respective of the potential synchronization points; and, store in the data storage for each source its respective synchronized or unsynchronized result.

2. The system of claim 1 , wherein the memory further containing instructions that when executed by the processor configure the system to: receive the IC design from the data storage communicatively connected to the processor.

3. The system of claim 1 , wherein the data storage containing at least the IC design.

4. The system of claim 1 , wherein the memory further containing instructions that when executed by the processor configure the system to: provide a report of each source determined to be synchronized and each source determined to be unsynchronized.

5. The system of claim 1 , wherein the memory further containing instructions that when executed by the processor configure the system to: identify destinations by clock-domain analysis; and, group together destinations corresponding to the same clock-domain into respective same-domain groups.

6. The system of claim 5 , wherein the memory further containing instructions that when executed by the processor configure the system to: identify each source corresponding to each of the destinations in the same-domain groups; and, identify synchronizers in the same domain-group which are in transitive fan-in cones.

7. The system of claim 6 , wherein to identify synchronizers further comprises to: use of at least a graph algorithm of linear-time complexity.

8. The system of claim 1 , wherein the structural pruning comprises to: use of a graph algorithm of linear-time complexity.

9. The system of claim 1 , wherein to determine for each source-to-destination path whether the source is definitely synchronized or definitely unsynchronized further comprises to: mark a source as unsynchronized if no synchronization points are found for the source.

10. The system of claim 1 , wherein to determine for each source-to-destination path whether the source is definitely synchronized or definitely unsynchronized comprises to: mark a source as synchronized if the source passes a data hold and glitch check.

11. The system of claim 10 , wherein the data hold and glitch check are performed upon determination that the source is blocked from the destination.

12. The system of claim 11 , wherein the determination that the source is blocked from the destination is made for each potential synchronization point identified.

13. The system of claim 1 , wherein the system is at least a portion of a computer aided design (CAD) system.

14. A computerized method for metastability verification of an integrated circuit design (IC), the method comprising:

determining, using a processor executing instructions in a memory that is communicatively connected to the processor, at least a source-to-destination path of the IC design;

determining by structural pruning, using the processor executing instructions in a memory that is communicatively connected to the processor, potential synchronization points for each of the two or more sources of the sources-destination;

determining, using the processor executing instructions in a memory that is communicatively connected to the processor, for the at least a source-to-destination path whether each of the corresponding source is synchronized respective of the potential synchronization points; and

storing in a data storage for each source its respective synchronized or unsynchronized result.

15. The method of claim 14 , further comprising:

receiving the IC design from the data storage.

16. The method of claim 14 , further comprising:

providing, using the processor executing instructions in a memory that is communicatively connected to the processor, a report of each source determined to be synchronized and each source determined to be unsynchronized.

17. The method of claim 14 , wherein determining the source-to destination paths comprises:

identifying destinations by clock-domain analysis; and

grouping together destinations corresponding to the same clock-domain into respective same-domain groups.

18. The method of claim 17 , further comprising:

identifying each source corresponding to each of the destinations in the same-domain groups.

19. The method of claim 18 , further comprising:

identifying synchronizers in the same domain-group which are in transitive fan-in cones.

20. The method of claim 18 , wherein identifying synchronizers comprises using at least a graph algorithm of linear-time complexity.

21. The method of claim 14 , wherein the structural pruning comprises using a graph algorithm of linear-time complexity.

22. The method of claim 14 , wherein determining for each source-to-destination path whether the source is definitely synchronized or definitely unsynchronized comprises:

marking a source as unsynchronized if no synchronization points are found for the source.

23. The method of claim 14 , wherein determining for each source-to-destination path whether the source is definitely synchronized or definitely unsynchronized comprises:

marking a source as synchronized if the source passes a data hold and glitch check.

24. The method of claim 23 , wherein the data hold and glitch check are performed upon determination that a condition under which the source is blocked from the destination is met.

25. The method of claim 24 , wherein the condition under which the source is blocked from the destination is checked for each potential synchronization point identified.

26. A non-transitory computer readable medium having stored thereon instructions for causing one or more processing units to execute the method according to claim 14 .

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 25, 2015
From: ATRENTA INC.
To: SYNOPSYS, INC.
Reel/Frame 036687/0290 →
RELEASE OF SECURITY INTEREST Recorded Sep 10, 2015
From: SILICON VALLEY BANK
To: ATRENTA INC.
Reel/Frame 036584/0644 →