IP Library Granted Patent US 7,545,896
Granted Patent B2
US 7,545,896 · App. 11/137,105 · Granted Jun 9, 2009

Asynchronous multi-clock system

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 7,545,896
App. No.
11/137,105
Granted
Jun 9, 2009
Kind
B2
Abstract

A system for controlling the transfer of a signal sequence in a first clock domain to a plurality of other clock domains. The system comprising: detecting circuitry for detecting receipt of the signals from the clock domains and setting an update signal when all of the signals received from the clock domains have a common state; and gating circuitry for receiving the update signal and operable, when the update signal is set, to allow a next signal in the sequence to be received at the input of the first circuitry.

Claims (114)

1. An electronic circuit in a first clock domain, the electronic circuit capable of:

receiving a signal sequence;

outputting a first signal from the signal sequence to a plurality of other clock domains in dependence upon a clock signal of the first clock domain;

receiving from each of the plurality of other clock domains an output of the first signal in dependence upon a clock signal of the other clock domain;

outputting a next signal from the signal sequence in dependence upon the clock signal of the first clock domain, wherein the next signal is output upon detecting that all of the plurality of other clock domains have output the first signal; wherein detecting that all of the plurality of other clock domains have output the first signal by: generating an update signal when all of the plurality of other clock domains have output the first signal; and gating the next signal from the signal sequence to be output in dependence upon the update signal; and further wherein the electronic circuit is further capable of synchronizing at least one of the outputs received from the plurality of other domains with the clock signal of the first domain using a circuit capable of reducing metastability in the synchronized output.

2. The electronic circuit of claim 1 , wherein the signal sequence is one of: a sequence of bits, a sequence of messages, and a sequence of control signals.

3. The electronic circuit of claim 1 , wherein at least one of the outputs received from the plurality of other domains is received from a circuit capable of reducing metastability in the output.

4. An electronic circuit in a first clock domain, the electronic circuit capable of:

receiving a signal sequence;

outputting a first signal from the signal sequence to a plurality of other clock domains in dependence upon a clock signal of the first clock domain;

receiving from each of the plurality of other clock domains an output of the first signal in dependence upon a clock signal of the other clock domain; and

outputting a next signal from the signal sequence in dependence upon the clock signal of the first clock domain, wherein the next signal is output upon detecting that all of the plurality of other clock domains have output the first signal, wherein the electronic circuit is further capable of detecting that all of the plurality of other clock domains have output the first signal by:

generating an update signal when all of the plurality of other clock domains have output the first signal; and

gating the next signal from the signal sequence to be output in dependence upon the update signal, and

wherein the electronic circuit is further capable of generating an update signal when all of the plurality of other clock domains have output the first signal by:

generating a first signal indicating that the outputs of all of the plurality of other clock domains have a common first logic level;

generating a second signal indicating that the outputs of all of the plurality of other clock domains have a common second logic level;

wherein the electronic circuit is further capable of generating an update signal when all of the plurality of other clock domains have output the first signal by:

generating a first signal corresponding to a common logic level for the outputs of all of the plurality of other clock domains; and

generating the update signal by combining the first signal with the first state,

wherein the first signal remains at a previous common logic lever of the outputs of all of the plurality of other clock domains until the outputs of all of the plurality of other clock domains have a new common logic level.

5. An electronic circuit in a first clock domain, the electronic circuit capable of:

receiving a signal sequence;

outputting a first signal from the signal sequence to a plurality of other clock domains in dependence upon a clock signal of the first clock domain;

receiving from each of the plurality of other clock domains an output of the first signal in dependence upon a clock signal of the other clock domain; and

outputting a next signal from the signal sequence in dependence upon the clock signal of the first clock domain, wherein the next signal is output upon detecting that all of the plurality of other clock domains have output the first signal, wherein the electronic circuit is further capable of detecting that all of the plurality of other clock domains have output the first signal by:

generating an update signal when all of the plurality of other clock domains have output the first signal; and

gating the next signal from the signal sequence to be output in dependence upon the update signal, and

wherein the electronic circuit is further capable of generating an update signal when all of the plurality of other clock domains have output the first signal by:

generating a first signal corresponding to a common logic level of the outputs of all of the plurality of other clock domains; and

generating the update signal by combining the first signal with the first state,

wherein the first signal remains at a previous common logic level of the outputs of all of the plurality of other clock domains until the outputs of all of the plurality of other clock domains have a new common logic level.

6. An apparatus comprising:

a source of a signal sequence; and

an integrated circuit including an electronic circuit in a first clock domain, the electronic circuit capable of:

receiving a signal sequence;

outputting a first signal from the signal sequence to a plurality of other clock domains in dependence upon a clock signal of the first clock domain;

receiving from each of the plurality of other clock domains an output of the first signal in dependence upon a clock signal of the other clock domain;

outputting a next signal from the signal sequence in dependence upon the clock signal of the first clock domain, wherein the next signal is output upon detecting that all of the plurality of other clock domains have output the first signal; wherein detecting that all of the plurality of other clock domains have output the first signal by: generating an update signal when all of the plurality of other clock domains have output the first signal; and gating the next signal from the signal sequence to be output in dependence upon the update signal; and further wherein the electronic circuit is further capable of synchronizing at least one of the outputs received from the plurality of other domains with the clock signal of the first domain using a circuit capable of reducing metastability in the synchronized output.

7. The apparatus of claim 6 , wherein the signal sequence is one of: a sequence of bits, a sequence of messages, and a sequence of control signals.

8. The apparatus of claim 6 , wherein at least one of the outputs received from the plurality of other domains is received from a circuit capable of reducing metastability in the output.

9. An apparatus comprising:

a source of a signal sequence; and

an integrated circuit including an electronic circuit in a first clock domain, the electronic circuit capable of:

receiving a signal sequence;

outputting a first signal from the signal sequence to a plurality of other clock domains in dependence upon a clock signal of the first clock domain;

receiving from each of the plurality of other clock domains an output of the first signal in dependence upon a clock signal of the other clock domain; and

outputting a next signal from the signal sequence in dependence upon the clock signal of the first clock domain, wherein the next signal is output upon detecting that all of the plurality of other clock domains have output the first signal,

wherein the electronic circuit is further capable of detecting that all of the plurality of other clock domains have output the first signal by:

generating an update signal when all of the plurality of other clock domains have output the first signal; and

gating the next signal from the signal sequence to be output in dependence upon the update signal, and

wherein the electronic circuit is further capable of generating an update signal when all of the plurality of other clock domains have output the first signal by:

generating a first signal indicating that the outputs of all of the plurality of other clock domains have a common first logic level;

generating a second signal indicating that the outputs of all of the plurality of other clock domains have a common second logic level;

combining the first signal with a current logic level of the update signal to generate a third signal;

combining the second signal with the third signal to generate a fourth signal; and

outputting the fourth signal as the update signal in dependence upon the clock signal of the first domain.

10. An apparatus comprising:

a source of a signal sequence; and

an integrated circuit including an electronic circuit in a first clock domain, the electronic circuit capable of:

receiving a signal sequence;

outputting a first signal from the signal sequence to a plurality of other clock domains in dependence upon a clock signal of the first clock domain;

receiving from each of the plurality of other clock domains an output of the first signal in dependence upon a clock signal of the other clock domain; and

outputting a next signal from the signal sequence in dependence upon the clock signal of the first clock domain, wherein the next signal is output upon detecting that all of the plurality of other clock domains have output the first signal,

wherein the electronic circuit is further capable of detecting that all of the plurality of other clock domains have output the first signal by:

generating an update signal when all of the plurality of other clock domains have output the first signal; and

gating the next signal from the signal sequence to be output in dependence upon the update signal, and

wherein the electronic circuit is further capable of generating an update signal when all of the plurality of other clock domains have output the first signal by:

generating a first signal corresponding to a common logic level of the outputs of all of the plurality of other clock domains; and

generating the update signal by combining the first signal with the first state,

wherein the first signal remains at a previous common logic level of the outputs of all of the plurality of other clock domains until the outputs of all of the plurality of other clock domains have a new common logic level.

11. A method, comprising:

receiving a signal sequence in an electronic circuit in a first clock domain;

outputting a first signal from the signal sequence to a plurality of other clock domains in dependence upon a clock signal of the first clock domain;

receiving from each of the plurality of other clock domains an output of the first signal in dependence upon a clock signal of the other clock domain;

outputting a next signal from the signal sequence in dependence upon the clock signal of the first clock domain, wherein the next signal is output upon detecting that all of the plurality of other clock domains have output the first signal; wherein detecting that all of the plurality of other clock domains have output the first signal further comprises: generating an update signal when all of the plurality of other clock domains have output the first signal; and gating the next signal from the signal sequence to be output in dependence upon the update signal; and further wherein synchronizing at least one of the outputs received from the plurality of other domains with the clock signal of the first domain; and reducing metastability in the synchronized output.

12. The method of claim 11 , further comprising reducing metastability in at least one of the outputs received from the plurality of other domains.

13. A method, comprising:

receiving a signal sequence in an electronic circuit in a first clock domain;

outputting a first signal from the signal sequence to a plurality of other clock domains in dependence upon a clock signal of the first clock domain;

receiving from each of the plurality of other clock domains an output of the first signal in dependence upon a clock signal of the other clock domain; and

outputting a next signal from the signal sequence in dependence upon the clock signal of the first clock domain, wherein the next signal is output upon detecting that all of the plurality of other clock domains have output the first signal, wherein detecting that all of the plurality of other clock domains have output the first signal further comprises:

generating an update signal when all of the plurality of other clock domains have output the first signal; and

gating the next signal from the signal sequence to be output in dependence upon the update signal, and

wherein generating an update signal when all of the plurality of other clock domains have output the first signal further comprises:

generating a first signal indicating that the outputs of all of the plurality of other clock domains have a common first logic level;

generating a second signal indicating that the outputs of all of the plurality of other clock domains have a common second logic level;

combining the first signal with a current logic level of the update signal to generate a third signal;

combining the second signal with the third signal to generate a fourth signal; and

outputting the fourth signal as the update signal in dependence upon the clock signal of the first domain.

14. A method, comprising:

receiving a signal sequence in an electronic circuit in a first clock domain;

outputting a first signal from the signal sequence to a plurality of other clock domains in dependence upon a clock signal of the first clock domain;

receiving from each of the plurality of other clock domains an output of the first signal in dependence upon a clock signal of the other clock domain; and

outputting a next signal from the signal sequence in dependence upon the clock signal of the first clock domain, wherein the next signal is output upon detecting that all of the plurality of other clock domains have output the first signal, wherein detecting that all of the plurality of other clock domains have output the first signal further comprises:

generating an update signal when all of the plurality of other clock domains have output the first signal; and

gating the next signal from the signal sequence to be output in dependence upon the update signal, and

wherein generating an update signal when all of the plurality of other clock domains have output the first signal further comprises:

generating a first signal corresponding to a common logic level of the outputs of all of the plurality of other clock domains; and

generating the update signal by combining the first signal with the first state,

wherein the first signal remains at a previous common logic level of the outputs of all of the plurality of other clock domains until the outputs of all of the plurality of other clock domains have a new common logic level.

15. The apparatus of claim 6 , wherein the apparatus is an integrated circuit.

16. The apparatus of claim 6 , wherein the apparatus is a set top box.

17. The apparatus of claim 6 , wherein the apparatus is a digital video disk unit.

18. The apparatus of claim 6 , wherein the apparatus is a decoding terminal.

19. An electronic circuit in a first clock domain, comprising:

first circuitry connected to receive a signal sequence at an input and transmit, at an output, a first signal from the signal sequence to a plurality of other clock domains in dependence upon a clock signal of the first clock domain;

detection circuitry connected to receive a signal output from each of the plurality of other clock domains and to set an update signal when all of the signal outputs from the plurality of other clock domains have a common state; and

gating circuitry connected to permit a next signal in the signal sequence to be transmit only when the update signal is set; and wherein the electronic circuit is further capable of synchronizing at least one of the outputs received from the plurality of other domains with the clock signal of the first domain using a circuit capable of reducing metastability in the synchronized output.

20. An apparatus, comprising:

means for receiving a signal sequence in an electronic circuit in a first clock domain;

means for outputting a first signal from the signal sequence to a plurality of other clock domains in dependence upon a clock signal of the first clock domain;

means for receiving from each of the plurality of other clock domains an output of the first signal in dependence upon a clock signal of the other clock domain; and

wherein next signal is the signal sequence is output upon detecting that all of the plurality of other clock domains have output the first signal; and wherein the electronic circuit is further capable of synchronizing at least one of the outputs received from the plurality of other domains with the clock signal of the first domain using a circuit capable of reducing metastability in the synchronized output.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 31, 2016
From: STMICROELECTRONICS LIMITED
To: STMICROELECTRONICS (RESEARCH & DEVELOPMENT) LIMITED
Reel/Frame 038847/0890 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 22, 2005
From: HUTSON, MATTHEW PETER
To: STMICROELECTRONICS LIMITED
Reel/Frame 016905/0554 →