IP Library Granted Patent US 8,301,933
Granted Patent B2
US 8,301,933 · App. 12/559,102 · Granted Oct 30, 2012

Multi-clock asynchronous logic circuits

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,301,933
App. No.
12/559,102
Granted
Oct 30, 2012
Kind
B2
Abstract

Methods, systems, and circuits for implementing multi-clock designs in asynchronous logic circuits are described. A method may include associating one or more data tokens with a clock domain of a multi-clock domain netlist. A durational relationship between a clock period associated with the clock domain and one or more other clock domains of the multi-clock domain netlist may be determined. Data tokens used in other clock domains may be transformed based on the determined relationship.

Claims (56)

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

associating at least one data token with a clock domain of a multi-clock domain netlist of a synchronous circuit design;

determining a durational relationship between clock periods associated with the clock domain and at least one other clock domain of the multi-clock domain netlist;

transforming the at least one data token when using the at least one data token in the at least one other clock domain, based on the relationship; and

converting the multi-clock domain netlist of the synchronous circuit design into an asynchronous representation using the at least one data token being transformed.

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

3. The method of claim 1 , further comprising identifying at least some of the clock domains of the multi-clock domain netlist.

4. The method of claim 1 , wherein the determining of the relationship comprises determining that the clock period associated with the clock domain and the at least one other clock domain are related.

5. The method of claim 1 , wherein the transforming comprises up-sampling the at least one data token, when the clock period associated with the clock domain is longer than clock period associated with the at least one other clock domain.

6. The method of claim 5 , wherein the up-sampling comprises repeating at least one instance of the at least one data token, based on a value of a control signal.

7. The method of claim 1 , wherein the transforming comprises down-sampling the at least one data token, when the clock period associated with the clock domain is shorter than clock period associated with the at least one other clock domain.

8. The method of claim 7 , wherein the down-sampling comprises dropping at least one instance of the at least one data token, based on a value of a control signal.

9. The method of claim 1 , wherein the determining of the relationship comprises determining that the clock periods associated with the clock domain and the at least one other clock domain are unrelated.

10. The method of claim 9 , wherein the transforming comprises up-down sampling the at least one data token.

11. The method of claim 10 , wherein the up-down sampling comprises sampling a last value of the at least one data token held in a local state, based on a value of a control signal.

12. The method of claim 1 , wherein the determining of the relationship comprises determining that the clock periods associated with the clock domain and the at least one other clock domain are unrelated when at least one of following conditions exists:

the clock periods associated with the clock domain and the at least one other clock domain are not rational multiples of one another, or

the clock periods associated with the clock domain and the at least one other clock domain are rational multiples of one another and a least common multiple of the clock periods associated with the clock domain and the at least one other clock domain is larger than a threshold value.

13. The method of claim 1 , wherein the clock domain comprises a virtual clock domain created in the multi-clock domain netlist, the virtual clock domain to operate at a selected frequency associated with a period different from the clock periods.

14. 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:

an association module to associate at least one data token with a clock domain of a multi-clock domain netlist of a synchronous circuit design;

a determination module to determine a durational relationship between clock periods associated with the clock domain and at least one other clock domain of the multi-clock domain netlist; and

a transformation module to transform the at least one data token when using the at least one data token in the at least one other clock domain, based on the relationship, the transformation module configured to convert the multi-clock domain netlist of the synchronous circuit design into an asynchronous representation using the at least one data token being transformed.

15. The system of claim 14 , further comprising an identification module to identify at least some of the clock domains of the multi-clock domain netlist.

16. The system of claim 14 , wherein the determination module is to determine that the clock periods associated with the clock domain and the at least one other clock domain are related.

17. The system of claim 16 , wherein the transformation module is to up-sample the at least one data token, when the clock period associated with the clock domain is longer than the clock period associated with the at least one other clock domain.

18. The system of claim 16 , wherein the transformation module comprises;

a pattern generator to generate a control signal; and

an up-sampler block to repeat at least one instance of the at least one data token, based on a value of the control signal.

19. The system of claim 16 , wherein the transformation module is to down-sample the at least one data token, when the clock period associated with the clock domain is shorter than the clock period associated with the at least one other clock domain.

20. The system of claim 16 , wherein the transformation module comprises;

a pattern generator to generate a control signal; and

a down-sampler block to drop at least one instance of the at least one data token, based on a value of the control signal.

21. The system of claim 14 , wherein the determination module is to determine that the clock period associated with the clock domain and the at least one other clock domain are unrelated.

22. The system of claim 21 , wherein the transformation module comprises;

an up-down sampler including a local state to hold a last value of the at least one data token, the up-down sampler to sample the held last value, based on a value of a control signal.

23. The system of claim 14 , wherein the determination module is to determine that the clock periods associated with the clock domain and the at least one other clock domain are unrelated when at least one of following conditions exits:

the clock period associated with the clock domain and the at least one other clock domain are not rational multiples of one another, or

the clock periods associated with the clock domain and the at least one other clock domain are rational multiples of one another and a least common multiple of the clock periods associated with the clock domain and the at least one other clock domain is larger than a threshold value.

24. The system of claim 14 , wherein the transformation module is configured to perform the converting such that the asynchronous representation is equivalent to the multi-clock domain netlist of the synchronous circuit design.

25. The system of claim 24 , wherein the asynchronous representation comprises at least one asynchronous netlist.

26. The system of claim 14 , wherein the determination module is configured to determine a repeating period that corresponds to a least common multiple of the clock periods.

27. A non-transitory machine-readable medium comprising instructions, which when executed by one or more processors, perform a method comprising:

associating at least one data token with a clock domain of a multi-clock domain netlist of a synchronous circuit design;

determining a durational relationship between clock periods associated with the clock domain and at least one other clock domain of the multi-clock domain netlist;

transforming the at least one data token when using the at least one data token in the at least one other clock domain, based on the relationship; and

converting the multi-clock domain netlist of the synchronous circuit design into an asynchronous representation using the at least one data token being transformed.

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

converting a synchronous multi-clock domain circuit design into an asynchronous representation by

generating a multi-clock domain netlist of the synchronous circuit design; and

converting the multi-clock domain netlist into an asynchronous representation, the converting comprising:

associating at least one data token with a clock domain of the multi-clock domain netlist;

determining a durational relationship between clock periods associated with the clock domain and at least one other clock domain of the multi-clock domain netlist; and

transforming the at least one data token when using the at least one data token in the at least one other clock domain, based on the relationship.

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 Oct 13, 2009
From: MANOHAR, RAJIT; KELLY, CLINTON W.; EKANAYAKE, VIRANTHA; PAUL, GAEL; NIJSSEN, RAYMOND; VAN DER GOOT, MARCEL
To: ACHRONIX SEMICONDUCTOR CORPORATION
Reel/Frame 023367/0371 →
Continuity (1)
Related Publication 20110066873A1 · Mar 17, 2011