Claims Analysis
Total Claims: 62
Claim 1
Independent Claim
132 words
A self-timed and self-enabled clock circuit for synchronizing operation of a digital circuit, comprising: a control circuit that detects input clock pulses and that provides an enable signal while the input clock pulses are provided; and a clock delay device, coupled to the control circuit, that has a plurality of inputs and an output that provides an output clock pulse when the clock delay device is enabled, the inputs including: a feedback clock input that is coupled to the output of the clock delay device; a clock input for receiving the input clock pulses; and an enable input that receives the enable signal to enable the clock delay device; wherein the clock delay device, when enabled by the enable signal, provides output clock pulses that are synchronized with the input clock pulses.
Claim 2
Dependent Claim
132 words
A self-timed and self-enabled clock circuit for synchronizing operation of a digital circuit, comprising: a control circuit that detects input clock pulses and that provides an enable signal while the input clock pulses are provided; and a clock delay device, coupled to the control circuit, that has a plurality of inputs and an output that provides an output clock pulse when the clock delay device is enabled, the inputs including: a feedback clock input that is coupled to the output of the clock delay device; a clock input for receiving the input clock pulses; and an enable input that receives the enable signal to enable the clock delay device; wherein the clock delay device, when enabled by the enable signal, provides output clock pulses that are synchronized with the input clock pulses.
Claim 3
Dependent Claim
20 words
The clock circuit of claim 1 wherein the clock delay device comprises a plurality of delay blocks sequentially coupled together.
Claim 4
Dependent Claim
38 words
The clock circuit of claim 2 wherein the output of the clock delay device is coupled to each of the plurality of delay blocks such that each output clock pulse resets each of the plurality of delay blocks.
Claim 5
Dependent Claim
21 words
The clock circuit of claim 2 wherein at least one of the plurality of delay blocks provides an intermediate clock edge.
Claim 6
Dependent Claim
19 words
The clock circuit of claim 4 wherein the intermediate clock edge is used to control an associated functional block.
Claim 7
Dependent Claim
16 words
The clock circuit of claim 2 wherein each of the delay blocks comprises coupled logic gates.
Claim 8
Dependent Claim
18 words
The clock circuit of claim 2 wherein one of the plurality of delay blocks comprises programmable delay logic.
Claim 9
Dependent Claim
31 words
The clock circuit of claim 7 wherein the programmable delay logic comprises: a plurality of delay devices; and selection logic coupled to select any one of the plurality of delay devices.
Claim 10
Dependent Claim
47 words
The clock circuit of claim 8 further comprising: each of the plurality of delay devices receiving an external clock signal and providing a corresponding clock edge; and the selection logic selecting a delay device providing a clock edge that most closely corresponds with the external clock signal.
Claim 11
Dependent Claim
30 words
The clock circuit of claim 9 wherein the selection logic selects a delay device having a clock edge that occurs closest to a controlling edge of the external clock signal.
Claim 12
Dependent Claim
23 words
The clock circuit of claim 1 wherein the input clock pulses are provided from an output of another self-timed and self-enabled clock circuit.
Claim 13
Dependent Claim
50 words
The clock circuit of claim 1 further comprising: the clock delay device including a second clock input; and wherein the clock delay device, when enabled by the enable signal, provides output clock pulses that are synchronized with the input clock pulses and clock signals provided to the second clock input.
Claim 14
Dependent Claim
42 words
The clock circuit of claim 12 further comprising: the input clock pulses being provided from an output of a previous self-timed and self-enabled clock circuit; and the second clock input receiving clock pulses provided from a subsequent self-timed and self-enabled clock circuit.
Claim 15
Dependent Claim
24 words
The clock circuit of claim 1 further comprising: a pulse shaper circuit, coupled to the clock delay device, that provides the output clock pulses.
Claim 16
Dependent Claim
34 words
The clock circuit of claim 1 further comprising: the control circuit further including a stall input, the control circuit disabling the clock delay device if a stall signal is received at the stall input.
Claim 17
Dependent Claim
153 words
A distributed clock system for a digital circuit, comprising: a first self clock that provides first output clock pulses when enabled, the first self clock comprising: an output, a first input coupled to the output and a second input; wherein the first self clock is enabled by each clock pulse received at the second input and synchronizes the first output clock pulses with respective clock signals received at the second input; and a second self clock that provides second output clock pulses when enabled, the second self clock comprising: an output, a first input coupled to the output of the second self clock, and a second input coupled to the output of the first self clock; wherein the second self clock is enabled by each clock pulse received at the second input and synchronizes the second output clock pulse with respective clock signals received at the second input of the second self clock.
Claim 18
Dependent Claim
153 words
A distributed clock system for a digital circuit, comprising: a first self clock that provides first output clock pulses when enabled, the first self clock comprising: an output, a first input coupled to the output and a second input; wherein the first self clock is enabled by each clock pulse received at the second input and synchronizes the first output clock pulses with respective clock signals received at the second input; and a second self clock that provides second output clock pulses when enabled, the second self clock comprising: an output, a first input coupled to the output of the second self clock, and a second input coupled to the output of the first self clock; wherein the second self clock is enabled by each clock pulse received at the second input and synchronizes the second output clock pulse with respective clock signals received at the second input of the second self clock.
Claim 19
Dependent Claim
25 words
The distributed clock system of claim 16 wherein the second input of the first self clock receives output clock pulses from a third self clock.
Claim 20
Dependent Claim
21 words
The distributed clock system of claim 16 wherein the second input of the first self clock receives an external clock signal.
Claim 21
Dependent Claim
45 words
The distributed clock system of claim 16 further comprising: the second clock having a third input that receives an external clock signal; and wherein the second self clock synchronizes the second output clock pulses with respective clock signals received at its second and third inputs.
Claim 22
Dependent Claim
50 words
The distributed clock system of claim 16 further comprising: the second self clock having a third input that receives output clock pulses from a third self clock; and wherein the second self clock synchronizes the second output clock pulses with respective clock signals received at its second and third inputs.
Claim 23
Dependent Claim
20 words
The distributed clock system of claim 16 wherein the first and second self clocks operate at approximately the same frequency.
Claim 24
Dependent Claim
35 words
The distributed clock system of claim 16 wherein at least one of the first and second self clocks operates at a frequency that is a multiple of other of the first and second self clocks.
Claim 25
Dependent Claim
20 words
The distributed clock system of claim 16 wherein the first and second self clocks operate asynchronously relative to each other.
Claim 26
Dependent Claim
38 words
The distributed clock system of claim 16 further comprising: a first functional block receiving the first output pulses from the first self clock; and a second functional block receiving the second output pulses from the second self clock.
Claim 27
Dependent Claim
20 words
The distributed clock system of claim 24 wherein the first and second functional blocks operate at approximately the same frequency.
Claim 28
Dependent Claim
21 words
The distributed clock system of claim 24 wherein the first and second functional blocks operate asynchronously with respect to each other.
Claim 29
Dependent Claim
63 words
The distributed clock system of claim 24 further comprising: a first queue buffer, coupled to the first functional block and receiving the first clock pulses, that receives data for the first functional block; and a second queue buffer, coupled to the second functional block and receiving the second clock pulses, that receives data from the first functional block for the second functional block.
Claim 30
Dependent Claim
44 words
The distributed clock system of claim 16 further comprising: a functional block receiving the second output pulses from the second self clock; and a queue buffer, coupled to the functional block and receiving the second clock pulses, that receives data for the functional block.
Claim 31
Dependent Claim
67 words
The distributed clock system of claim 28 further comprising: the second self clock having an enable input and providing the second output pulses if an enable signal is provided to the enable input; and a control block, coupled to the functional block, the queue buffer and the output of the first self clock, that provides the enable signal while receiving clock pulses from the first self clock.
Claim 32
Dependent Claim
42 words
The distributed clock system of claim 29 further comprising: the functional block detecting a stall condition and asserting a stall signal; and the control block receiving the stall signal and providing the enable signal only while the stall signal is not asserted.
Claim 33
Dependent Claim
45 words
The distributed clock system of claim 30 further comprising: a second functional block that detects a full condition and that asserts a full signal; and the control block receiving the full signal and providing the enable signal only while the full signal is not asserted.
Claim 34
Dependent Claim
30 words
The distributed clock system of claim 29 further comprising: the control block detecting a full condition of the queue buffer and asserting a full signal to a previous functional block.
Claim 35
Dependent Claim
228 words
A processor, comprising: a plurality of functional blocks, each comprising: a queue buffer having a data input and a data output, the data input being the data input of the respective functional block; an execution unit that has an input coupled to the data output of the queue buffer and an execution data output, the execution output being the data output of the respective functional block; a self clock that has an output, a first clock input, a feedback input coupled to the output of the self clock, and an enable input; the self clock, when enabled, providing output clock pulses that are synchronized with clock pulses received at the first clock input; and a control block, coupled to the queue buffer, the execution unit and self clock, that has an enable output coupled to the enable input of the self clock; the control block enabling the self clock while the execution unit is processing data and while clock pulses are received at the first clock input of the self clock; and the plurality of functional blocks including a first and second functional blocks coupled together; wherein a first clock input of the second functional block is coupled to a clock output of the first functional block, and wherein the data output of the first functional block is coupled to the data input of the second functional block.
Claim 36
Dependent Claim
228 words
A processor, comprising: a plurality of functional blocks, each comprising: a queue buffer having a data input and a data output, the data input being the data input of the respective functional block; an execution unit that has an input coupled to the data output of the queue buffer and an execution data output, the execution output being the data output of the respective functional block; a self clock that has an output, a first clock input, a feedback input coupled to the output of the self clock, and an enable input; the self clock, when enabled, providing output clock pulses that are synchronized with clock pulses received at the first clock input; and a control block, coupled to the queue buffer, the execution unit and self clock, that has an enable output coupled to the enable input of the self clock; the control block enabling the self clock while the execution unit is processing data and while clock pulses are received at the first clock input of the self clock; and the plurality of functional blocks including a first and second functional blocks coupled together; wherein a first clock input of the second functional block is coupled to a clock output of the first functional block, and wherein the data output of the first functional block is coupled to the data input of the second functional block.
Claim 37
Dependent Claim
30 words
The processor of claim 33 wherein the processor comprises a pipeline processor, and wherein each of the plurality of functional blocks is associated with a stage of the pipeline processor.
Claim 38
Dependent Claim
38 words
The processor of claim 33 wherein at least one functional block further comprises: a second queue buffer coupled to the execution unit; and a second self clock coupled to the control block and to the second queue buffer.
Claim 39
Dependent Claim
15 words
The processor of claim 33 wherein the queue buffer comprises a plurality of storage devices.
Claim 40
Dependent Claim
13 words
The processor of claim 36 wherein the plurality of storage devices comprise registers.
Claim 41
Dependent Claim
42 words
The processor of claim 33 further comprising: the first functional block having a self clock with a second clock input; and wherein a clock output of the second functional block is coupled to the second clock input of the first functional block.
Claim 42
Dependent Claim
20 words
The processor of claim 33 wherein at least one of the plurality of functional blocks receives an external clock signal.
Claim 43
Dependent Claim
42 words
The processor of claim 33 further comprising: the execution unit detecting a stall condition and asserting a stall signal; and the control block receiving the stall signal and disabling the self clock from providing clock pulses while the stall signal is provided.
Claim 44
Dependent Claim
32 words
The processor of claim 33 wherein the control unit includes a full input and disables the self clock from providing clock pulses while a full signal is received at the full input.
Claim 45
Dependent Claim
35 words
The processor of claim 41, the control unit including a full output, wherein the control unit detects a full condition of the queue buffer and asserts a full signal indicative thereof via the full output.
Claim 46
Dependent Claim
25 words
The processor of claim 42 further comprising: a full output of the second functional block coupled to a full input of the first functional block.
Claim 47
Dependent Claim
54 words
The processor of claim 33 further comprising: the queue buffer including a first storage device coupled to a second storage device and to the execution unit; the second storage device storing new data from a previous functional block during a stall condition; and the first storage device storing current data during the stall condition.
Claim 48
Dependent Claim
51 words
The processor of claim 33 further comprising: the queue buffer including a first storage device coupled to a second storage device and to the execution unit; the control block enabling the self clock to provide clock pulses only if valid data is stored in both the first and second storage devices.
Claim 49
Independent Claim
83 words
A method of operating each of a plurality of coupled functional blocks of a digital system, comprising: receiving input data and corresponding first input clock pulses; activating a self clock to provide an output clock pulse for each first input clock pulse; processing the input data and generating output data; generating, by the self clock, an output clock pulse to correspond with each output data; and deactivating the self clock while first input clock pulses are not received or during a stall condition.
Claim 50
Independent Claim
83 words
A method of operating each of a plurality of coupled functional blocks of a digital system, comprising: receiving input data and corresponding first input clock pulses; activating a self clock to provide an output clock pulse for each first input clock pulse; processing the input data and generating output data; generating, by the self clock, an output clock pulse to correspond with each output data; and deactivating the self clock while first input clock pulses are not received or during a stall condition.
Claim 51
Dependent Claim
36 words
The method of claim 46 further comprising: receiving, from a subsequent functional block, second input clock pulses; and synchronizing, by the self clock while enabled, output clock pulses with the first and second input clock pulses.
Claim 52
Dependent Claim
46 words
The method of claim 46, the first input clock pulses being provided from a previous functional block, further comprising: receiving, from a subsequent functional block, second input clock pulses; and operating the previous, a current and the subsequent functional blocks asynchronously with respect to each other.
Claim 53
Dependent Claim
64 words
The method of claim 46, the first input clock pulses being provided from a previous functional block, further comprising: receiving, from a subsequent functional block, second input clock pulses; and operating at least one of the previous, a current and the subsequent functional blocks at a frequency that is a multiple of at least one other of the previous, current and subsequent functional blocks.
Claim 54
Dependent Claim
19 words
The method of claim 46 further comprising: the receiving first input clock pulses comprising receiving an external clock signal.
Claim 55
Dependent Claim
30 words
The method of claim 46 further comprising generating, by the self clock, an intermediate clock edge between each of the first input clock pulses and the corresponding output clock pulses.
Claim 56
Dependent Claim
25 words
The method of claim 46 further comprising: determining a stall condition; and disabling the self clock from providing output clock pulses during the stall condition.
Claim 57
Dependent Claim
19 words
The method of claim 52 further comprising: refreshing current data in a current functional block during the stall condition.
Claim 58
Dependent Claim
27 words
The method of claim 46 further comprising: receiving a full signal from a subsequent functional block; and disabling the self clock while the full signal is asserted.
Claim 59
Dependent Claim
21 words
The method of claim 54 further comprising: refreshing current data in a current functional block while the full signal is asserted.
Claim 60
Dependent Claim
32 words
The method of claim 52 further comprising: queuing the input data in a queue buffer; detecting a full condition of the queue buffer; and disabling the self clock during the full condition.
Claim 61
Dependent Claim
19 words
The method of claim 56 further comprising: refreshing current data in a current functional block during the full condition.
Claim 62
Dependent Claim
26 words
The method of claim 56, further comprising: generating a full signal indicative of the full condition; and providing the full signal to a previous functional block.