IP Library Granted Patent US 8,661,378
Granted Patent B2
US 8,661,378 · App. 12/570,629 · Granted Feb 25, 2014

Asychronous system analysis

Inventors: Rajit Manohar (Ithaca, NY); Gael Paul (Aix-en-Provence, FR); Raymond Nijssen (San Jose, CA); Marcel Van der Goot (Pasadena, CA); Clinton W. Kelly (San Jose, CA); Virantha Ekanayake (San Jose, CA)
Assignee: Achronix Semiconductor Corporation
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,661,378
App. No.
12/570,629
Granted
Feb 25, 2014
Kind
B2
Abstract

Methods, systems, and circuits that implement timing analyses of an asynchronous system are described. A method may include converting a synchronous circuit design into an asynchronous representation, wherein a critical path may be identified. The critical path may be converted to a corresponding path in the synchronous circuit design. Additional methods, systems, and circuits are disclosed.

Claims (41)

1. A processor-implemented method to execute on one or more processors that perform the method comprising:

using the one or more processors coupled to a memory and a display device to perform at least a portion of one or more of

converting a synchronous netlist generated from a synchronous circuit design comprising an integrated circuit into an asynchronous representation corresponding to the synchronous circuit design, the asynchronous representation including a dataflow graph;

identifying a critical path in the asynchronous representation by performing a timing analysis on one or more paths in the dataflow graph to determine the critical path;

converting the critical path into a corresponding path in the synchronous circuit design; and

displaying the corresponding path on the display device.

2. The method of claim 1 , wherein converting the critical path comprises generating a synchronous netlist based on the synchronous circuit design.

3. The method of claim 2 , wherein the converting further comprises converting the synchronous netlist to the dataflow graph.

4. The method of claim 2 , wherein the synchronous netlist comprises a multi-clock domain synchronous netlist.

5. The method of claim 2 , wherein the synchronous netlist comprises a multi-clock domain synchronous netlist that comprise unrelated clock signals.

6. The method of claim 1 , wherein the critical path corresponds to one of a substantially short path in the dataflow graph, a substantially long path in the dataflow graph, or a substantially imbalanced path the dataflow graph.

7. The method of claim 1 , wherein the identifying of the critical path comprises identifying a slowest path in the dataflow graph.

8. The method of claim 7 , wherein the one or more paths in the dataflow graph includes one or more loops, and the slowest path comprises a loop.

9. The method of claim 1 , wherein the corresponding path comprises a portion of the synchronous circuit design including multiple synchronous gates and at least one flip-flop.

10. The method of claim 1 , wherein the performing of the timing analysis includes analyzing flows of data tokens in the dataflow graph.

11. The method of claim 10 , wherein the performing of the timing analysis comprises analyzing the asynchronous representation at an asynchronous pipeline level.

12. The method of claim 10 , wherein the performing of the timing analysis comprises analyzing the asynchronous representation using a technique inc hiding at least one of a Petri net, a marked graphs, or an event-rule system technique.

13. The method of claim 10 , wherein the synchronous circuit design comprises multi-clock domains, and wherein the performing of the timing analysis comprises performing a separate timing analysis for one or more clock domains in the multi-clock domains by separately analyzing flows of one or more data tokens corresponding to the one or more clock domains.

14. The method of claim 10 , wherein the synchronous circuit design comprises multi-clock domains, and wherein the performing of the timing analysis comprises performing a joint timing analysis for related clock domains in the multi-clock domains jointly analyzing flows of one or more data tokens corresponding to the related clock domains.

15. The method of claim 1 , further comprising reporting the corresponding path as an unacceptable path.

16. The method of claim 15 , further comprising improving the corresponding path by replacing the unacceptable path.

17. The method of claim 15 , wherein the unacceptable path comprises at least one of a substantially long path, a substantially short path, or an imbalanced path.

18. A system comprising:

memory to store a plurality of modules; and

one or more processors coupled to the memory to execute the plurality of modules including:

a conversion module to convert a synchronous circuit design into an asynchronous representation that includes a dataflow graph; and

an identification module to identify a critical path in the asynchronous representation by performing a timing analysis on one or more paths in the dataflow graph to determine the critical path, the conversion module further operating to convert the critical path into a corresponding path in the synchronous circuit design.

19. The system of claim 18 , wherein the conversion module is to generate a synchronous netlist based on the synchronous circuit design.

20. The system of claim 18 , wherein the conversion module is to convert the synchronous netlist into the dataflow graph.

21. The system of claim 18 , wherein the identification module is to identify a slowest path in the dataflow graph.

22. The system of claim 18 , further comprising:

a timing analysis module to perform a timing analysis of the asynchronous representation by analyzing flows of data tokens in the dataflow graph.

23. The system of claim 18 , wherein the identification module is to analyze the asynchronous representation using a. technique including at least one of a Petri net, a marked graphs, or an event-rule system technique.

24. The system of claim 18 , further comprising:

a reporting module to report the corresponding path as an unacceptable path.

25. A machine-readable storage device comprising instructions, which when executed by one or more processors, perform a method comprising:

converting a synchronous circuit design into an asynchronous representation that includes a dataflow graph;

identifying a critical path in the asynchronous representation by performing a timing analysis on one or more paths in the dataflow graph to determine the critical path;

converting the critical path into a corresponding path in the synchronous circuit design; and

displaying the corresponding path on a display device.

26. The machine-readable storage device of 25 , wherein the identifying of the critical path comprises performing a timing analysis including analyzing the asynchronous representation using a technique including at least one of a Petri net, a marked graphs, or an event-rule system technique.

Assignments (3)
RELEASE OF SECURITY INTEREST Recorded Nov 24, 2020
From: HERCULES CAPITAL, INC., AS AGENT
To: ACHRONIX SEMICONDUCTOR CORPORATION
Reel/Frame 054461/0220 →
SECURITY INTEREST Recorded Mar 16, 2020
From: ACHRONIX SEMICONDUCTOR CORPORATION
To: HERCULES CAPITAL, INC., AS AGENT
Reel/Frame 052121/0505 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 6, 2009
From: MANOHAR, RAJIT; PAUL, GAEL; NIJSSEN, RAYMOND; VAN DER GOTT, MARCEL; KELLY, CLINTON W.; EKANAYAKE, VIRANTHA
To: ACHRONIX SEMICONDUCTOR CORPORATION
Reel/Frame 023482/0011 →
Continuity (1)
Related Publication 20110078644A1 · Mar 31, 2011