7610567

Systems and Methods for Performing Automated Conversion of Representations of Synchronous Circuit Designs to and from Representations of Asynchronous Circuit Designs

PublishedOctober 27, 2009
Assigneenot available in USPTO data we have
InventorsRajit Manohar
Technical Abstract

Patent Claims
24 claims

Legal claims defining the scope of protection, as filed with the USPTO.

1

1. A method of converting between an asynchronous circuit design and a synchronous circuit design, comprising: identifying, by a computer, a synchronous design comprising multiple clock domains; generating a synchronous netlist of the synchronous design; and converting the synchronous netlist to an asynchronous design, the converting including determining a repeating period that corresponds to a least common multiple of all clock cycle times.

2

2. The method of claim 1 wherein the synchronous netlist comprises a standardized synchronous netlist including modules from an originating electronic design interface format.

3

3. The method of claim 1 wherein the converting is performed automatically without human intervention.

4

4. The method of claim 1 wherein an asynchronous design representation of the asynchronous design is selected from a group including a dataflow graph, a detailed description of the implementation of a dataflow graph, or a high-level language.

5

5. The method of claim 1 wherein the converting includes generating annotations that translate performance characteristics of the asynchronous design back into a synchronous domain to validate timing characteristics of the asynchronous design.

6

6. The method of 1 wherein the asynchronous design comprises a dataflow graph including data represented as tokens.

7

7. The method of claim 6 wherein the netlist includes at least one of a group comprising a synchronous clock, a synchronous clock frequency, a multi-cycle path, an input restraint, or an output restraint.

8

8. The method of claim 7 wherein the synchronous netlist includes combinational logic gates and state-holding logic gates.

9

9. The method of claim 8 wherein the dataflow graph includes at least one of a group including a function block, a source block, a sink block, a copy block, a merge block, or an initial block.

10

10. The method of claim 9 wherein the synchronous design comprises a single clock domain and the converting includes: ignoring clock and clock enable inputs; grouping combinational logics by operations; and specifying a logic computation of the combinational logics.

11

11. The method of claim 10 and further including assuming an ideal logic delay and state-holding elements.

12

12. The method of claim 9 wherein the synchronous design includes a state-holding element with a gated clock, the converting including at least one of a group including eliminating a gating through substitution of a MUX transformation, or using gating information to make an output of the state-holding element a conditional signal.

13

13. The method of claim 9 and further including, for a selected asynchronous combinational logic function in the asynchronous design: identifying a condition token and a data token for the selected asynchronous combinational logic function; buffering the condition token and data token; and generating an unconditional data token matching the value of an output of the selected asynchronous combinational logic function for every clock signal of the selected asynchronous combinational logic function to convert the asynchronous combinational logic function back to a synchronous combinational logic function.

14

14. The method of claim 6 wherein the dataflow graph is implemented using synchronous logic.

15

15. The method of claim 1 and further including maintaining the state-holding elements from each clock domain separate.

16

16. The method of claim 1 wherein an asynchronous design representation of the asynchronous design includes synchronous input signals and synchronous output signals.

17

17. The method of claim 1 and further including generating an asynchronous netlist based upon the asynchronous design, the asynchronous netlist being used for implementing the asynchronous design on a field programmable gate array.

18

18. A system for converting between an asynchronous circuit design and a synchronous circuit design, comprising: a synchronous design file comprising multiple clock domains; a synthesis tool connected to receive the synchronous design file and generate a synchronous netlist of the synchronous design; and a converter connected to receive the synchronous netlist and to convert the synchronous netlist to an asynchronous design, the converter configured to determine a repeating period that corresponds to a least common multiple of all clock cycle times.

19

19. The system of claim 18 wherein the synchronous netlist comprises a standardized synchronous netlist including modules from an originating electronic design interface format.

20

20. The system of claim 18 wherein an asynchronous design representation of the asynchronous design is selected from a group including a dataflow graph, a detailed description of an implementation of a dataflow graph, or a high-level language.

21

21. The system of claim 18 and further including an annotation generator connected to receive the asynchronous design and generate annotations that translate performance characteristics of the asynchronous design back into a synchronous domain to validate timing characteristics of the asynchronous design.

22

22. The system of 18 wherein the asynchronous design is a dataflow graph including data represented as tokens.

23

23. A system for converting between an asynchronous circuit design and a synchronous circuit design, comprising: means for identifying a synchronous design comprising multiple clock domains; means for generating a synchronous netlist of the synchronous design; and means for converting the synchronous netlist to an asynchronous design, the means for converting including means for determining a repeating period that corresponds to a least common multiple of all clock cycle times.

24

24. A program product comprising a computer-readable storage medium for converting between an asynchronous circuit design and a synchronous circuit design, the program product comprising a computer-readable storage medium operative by a computer and storing control instructions operative on the computer, which when executed cause the computer to perform: identifying a synchronous design comprising multiple clock domains; generating a synchronous netlist of the synchronous design; and converting the synchronous netlist to an asynchronous design, the converting including determining a repeating period that corresponds to a least common multiple of all clock cycle times.

Patent Metadata

Filing Date

Unknown

Publication Date

October 27, 2009

Inventors

Rajit Manohar

Want to explore more patents?

Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.

Citation & reuse

Analysis on this page is generated by Patentable — an AI-powered patent intelligence platform. AI-generated summaries, explanations, and analysis may be reused with attribution and a visible link back to the canonical URL below. Patent abstracts and claims are USPTO public domain.

Cite as: Patentable. “SYSTEMS AND METHODS FOR PERFORMING AUTOMATED CONVERSION OF REPRESENTATIONS OF SYNCHRONOUS CIRCUIT DESIGNS TO AND FROM REPRESENTATIONS OF ASYNCHRONOUS CIRCUIT DESIGNS” (7610567). https://patentable.app/patents/7610567

© 2026 Patentable. All rights reserved.

Patentable is a research and drafting-assistant tool, not a law firm, and does not provide legal advice. Documents we generate are drafts for review by a licensed patent attorney.