Data transfer between asynchronous clock domains

US10025343B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10025343-B2
Application numberUS-201113991602-A
CountryUS
Kind codeB2
Filing dateDec 28, 2011
Priority dateDec 28, 2011
Publication dateJul 17, 2018
Grant dateJul 17, 2018

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Some implementations disclosed herein provide techniques and arrangements for transferring data between asynchronous clock domains. A synchronization signal may be generated by a first of the clock domains, and data may be transferred between the domains in response to the synchronization signal. Clock cycles of the second of the clock domains may be monitored in comparison to the synchronization signal to report the number of second clock domain cycles occurring per occurrence of the synchronization signal. This information may be recorded by testing and validation equipment to facilitate error analyses.

First claim

Opening claim text (preview).

What is claimed is: 1. A processor, comprising: first and second clock domains to be clocked by first and second asynchronous clock signals, respectively; first logic to transfer data between the first and second clock domains in response to a synchronization signal, each cycle of the synchronization signal corresponding to a fixed multiple of first clock signal cycles, wherein the synchronization signal is to be propagated from the first clock domain to the second clock domain to transfer a buffer write pointer from the first clock domain to the second clock domain, and then from the second clock domain to the first clock domain to transfer a buffer read pointer from the second clock domain to the first clock domain; and second logic to indicate cycles of the second clock signal that correspond to the synchronization signal. 2. The processor of claim 1 , wherein the synchronization signal comprises a single bit. 3. The processor of claim 1 , wherein the synchronization signal comprises a repeating pulse. 4. The processor of claim 1 , wherein: the synchronization signal comprises multiple bits; and the first logic comprises transfer registers corresponding to the multiple bits of the synchronization signal. 5. The processor of claim 1 , further comprising an elastic buffer to be accessed asynchronously by the first and second clock domains, wherein the data exchanged between the first and second clock domains comprises one or more pointers to the elastic buffer. 6. The processor of claim 1 , further comprising an elastic buffer to be accessed asynchronously by the first and second clock domains, wherein the data exchanged between the first and second clock domains comprises read and write pointers associated with the elastic buffer. 7. The processor of claim 1 , wherein the synchronization signal is to be propagated from the first clock domain to the second clock domain, and then from the second clock domain to the first clock domain. 8. The processor of claim 1 , wherein the synchronization signal is synchronous with the first clock signal. 9. The processor of claim 1 , further comprising a frequency divider to generate the synchronization signal in response to the first clock signal. 10. A system, comprising: a buffer to transfer data between first and second clock domains, wherein the first and second clock domains are clocked by first and second cyclical clock signals, respectively, and wherein the buffer is indexed by one or more buffer pointers; a synchronization clock to generate a synchronization signal based at least in part on the first clock signal, each cycle of the synchronization signal corresponding to a fixed multiple of first clock signal cycles; synchronization logic to transfer the one or more buffer pointers between the first and second timing domains in response to the synchronization signal, wherein the synchronization signal is to be propagated from the first clock domain to the second clock domain to transfer a buffer write pointer from the first clock domain to the second clock domain, and then from the second clock domain to the first clock domain to transfer a buffer read pointer from the second clock domain to the first clock domain; and reporting logic to indicate correlation of the second clock signal to the synchronization signal. 11. The system of claim 10 , wherein the synchronization signal comprises a single bit. 12. The system of claim 10 , wherein the synchronization logic comprises multiple transfer registers. 13. The system of claim 10 , wherein the synchronization signal comprises pulses, and wherein the reporting logic is to indicate how many cycles of the second clock signal correspond to each of the pulses. 14. The system of claim 10 , wherein the buffer comprises a first-in-first-out buffer, and the buffer pointers comprise read and write pointers. 15. The system of claim 10 , wherein the synchronization clock comprises a frequency divider to generate the synchronization signal in response to at least the first clock signal. 16. The system of claim 10 , wherein the synchronization signal is to be propagated from the first clock domain to the second clock domain, and then from the second clock domain to the first clock domain. 17. The system of claim 10 , wherein the synchronization signal is to be synchronous with the first clock signal. 18. A method, comprising: clocking a first clock domain with a first cyclical clock signal; clocking a second clock domain with a second cyclical clock signal, wherein the first and second cyclical clock signals are asynchronous; generating a synchronization signal based at least in part on the first clock signal, each cycle of the synchronization signal corresponding to a fixed multiple of first clock signal cycles; propagating the synchronization signal from the first clock domain to the second clock domain and back to the first clock domain; transferring data between the first and second clock domains in response to the synchronization signal; and reporting correspondence between the synchronization signal and cycles of the second clock signal. 19. The method of claim 18 , further comprising generating the synchronization signal in synchronization with the first clock signal. 20. The method of claim 18 , wherein the synchronization signal comprises cycles that are synchronous with the first clock signal, and the reporting comprises indicating how many cycles of the second clock signal occur during each cycle of the synchronization signal. 21. The method of claim 18 , further comprising: transferring a first buffer pointer from the first clock domain to the second clock domain in response to propagating the synchronization signal from the first clock domain to the second clock domain; and transferring a second buffer pointer from the second clock domain to the first clock domain in response to propagating the synchronization signal back to the first clock domain.

Assignees

Inventors

Classifications

  • using a clocked protocol · CPC title

  • G06F1/12Primary

    Synchronisation of different clock signals {provided by a plurality of clock generators} · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10025343B2 cover?
Some implementations disclosed herein provide techniques and arrangements for transferring data between asynchronous clock domains. A synchronization signal may be generated by a first of the clock domains, and data may be transferred between the domains in response to the synchronization signal. Clock cycles of the second of the clock domains may be monitored in comparison to the synchronizati…
Who is the assignee on this patent?
Rifani Michael C, Kyker Alan B, Geist Alan S, and 2 more
What technology area does this patent fall under?
Primary CPC classification G06F1/12. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jul 17 2018 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).