PROGRAMMABLE DELAY LINE CIRCUIT WITH GLITCH AVOIDANCE
Embodiments of programmable delay line circuits are disclosed herein. The delay line circuit may comprise a first multiplexer having a first input coupled with an input line; a second multiplexer having a first input, and a second input coupled with an output of the first multiplexer, and an output coupled with a second input of the first multiplexer; a third multiplexer having a first input coupled with the output of the second multiplexer, a second input coupled with the input line, and an output coupled with an output line; a first control gate coupled with the third multiplexer to control the third multiplexer; and a second control gate coupled with the second multiplexer to control the second multiplexer; wherein the first and second control gates selectively control the second and third multiplexer, responsive to a delay value encoded in Gray Code.
Latest M2000 SA. Patents:
- CROSSBAR STRUCTURE WITH MECHANISM FOR GENERATING CONSTANT OUTPUTS
- SIMULTANEOUS BI-DIRECTIONAL DATA TRANSFER
- Reconfigurable system and method with corruption detection and recovery
- Runtime reconfiguration of reconfigurable circuits
- Reconfigurable integrated circuits with scalable architecture including one or more adders
The present invention relates to the fields of integrated circuit (IC), and more specifically, the present invention relates to programmable delay line circuits with glitch avoidance, and their usage in reconfigurable circuits.
BACKGROUNDA programmable delay line (hereafter called a delay line) is a circuit where an input signal may be passed to the output of the delay line after a programmably determined delay. Delay line circuits are typically used to adjust the relative delay difference between two signals to achieve reliable data transfer. However, there may be several disadvantages of the known delay line circuits. One of the potential disadvantages is that most of the known delay line circuits suffer from glitches. Another potential disadvantage is that the known delay line circuits may have a low adjustability regarding the number of delays and the step of each delay in accordance with various applications.
Embodiments of the present invention will be described by way of exemplary embodiments, but not limitations, illustrated in the accompanying drawings in which like references denote similar elements, and in which:
Illustrative embodiments of the present invention include, but are not limited to delay line circuits constructed with multiplexers.
Various aspects of the illustrative embodiments will be described using terms commonly employed by those skilled in the art to convey the substance of their work to others skilled in the art. However, it will be apparent to those skilled in the art that alternate embodiments may be practiced with only some of the described aspects. For purposes of explanation, specific numbers, materials, and configurations are set forth in order to provide a thorough understanding of the illustrative embodiments. However, it will be apparent to one skilled in the art that alternate embodiments may be practiced without the specific details. In other instances, well-known features are omitted or simplified in order not to obscure the illustrative embodiments.
Further, various operations will be described as multiple discrete operations, in turn, in a manner that is most helpful in understanding the illustrative embodiments; however, the order of description should not be construed as to imply that these operations are necessarily order dependent. In particular, these operations need not be performed in the order of presentation.
The phrase “in one embodiment” is used repeatedly. The phrase generally does not refer to the same embodiment; however, it may. The terms “comprising,” “having,” and “including” are synonymous, unless the context dictates otherwise.
Gray Code is a binary numeral system where two successive values differ in only one bit. Table 1 provides an example of decimal numbers 0 to 15 and their corresponding binary Gray Code values. In various embodiments, a delay value of a delay line circuit may represent the discrete number of delays to be added into an input signal. In various embodiments, the delay value may be encoded in Gray Code.
For the embodiments, the delay line circuit 100 may further comprise five control gates 111 to 151 and the five control gates may be configured to receive the delay value encoded in Gray Code. In accordance with various embodiments, the control gates may be five different AND gates that are configured to output logic 0 or 1 respectively based on the delay value. In various embodiments, the output of control gate 111 may be coupled to the control terminals of multiplexers 120 and 190; the output of control gate 121 may be coupled to the control terminals of multiplexers 130 and 180; the output of control gate 131 may be coupled to the control terminals of multiplexers 140 and 170; the output of control gate 141 may be coupled to the control terminal of multiplexer 160; the output of control gate 151 may be coupled to the control terminal of multiplexer 150. In various embodiments, when the delay value represents decimal number 0, only control gates 111 and 121 may be configured to output logic 1; when the delay value represents decimal number 1, only control gates 121 and 131 may be configured to output logic 1; when the delay value represents decimal number 2, only control gates 131 and 141 may be configured to output logic 1; when the delay value represents decimal number 3, only control gates 141 and 151 may be configured to output logic 1; when the delay value represents decimal number 4, only control gate 151 may be configured to output logic 1. In various embodiments, the control terminal of multiplexer 110 may be coupled with an external signal which may be logic 0.
In various embodiments, when the delay value represents decimal number 1, the control terminal of multiplexers 130, 140, 170 and 180 may be coupled to logic “1” and the control terminals of the other multiplexers may be coupled to logic “0”. In various embodiments, the input signal may be passed through multiplexers 110 and 120 to the input terminal “0” of multiplexer 130, but may not be further passed through multiplexer 130 because the control terminal of multiplexer 130 is coupled to logic “1”. Instead, the input signal may be turned around and coupled to the input terminal “1” of multiplexer 170. As stated above, when the delay value represents decimal number 1, the control terminal of multiplexer 170 may be coupled to logic “1”. So, the input signal may be passed through multiplexer 170 to the input terminal “0” of multiplexer 180. However, as stated above, when the delay value represents decimal number 1, the control terminal of multiplexer 180 may be coupled to “1”, thus the value at the input terminal “0” of multiplexer 180 cannot be passed through. Rather, in various embodiments, the output from multiplexer 110 may be coupled to the input terminal “1” of multiplexer 180. So, the input signal may be passed through multiplexers 110 and 180 to the input terminal “0” of multiplexer 190. And because when the delay value represents decimal number 1, the control terminal of multiplexer 190 may be coupled to be logic “0”, the input signal may be passed through the multiplexer 190 as the output of the delay line circuit 100. In various embodiments, the input signal may be passed to the output of the delay line circuit 100 through multiplexers 110, 180 and 190 when the delay value represents decimal number 1.
In various embodiments, as illustrated in
As illustrated in
In various embodiments, the delay line circuit may also comprise N+1 control gates. In various embodiments, control gate A may be configured to control multiplexers B and C, and A is an integer ranges from 1 to N−1, B is an integer that may be described as B=A+1, and C is an integer that may be described as C=2N+2−A. In various embodiments, control gate N may be configured to control multiplexer N+2, and control gate N+1 may be configured to control multiplexer N+1. In various embodiments, the control terminal of the first multiplexer may be coupled to a constant value such as logic 0. In various embodiments, control gate D may be configured to output logic 1 only when the delay value equals to D−2 or D−1, wherein D is an integer ranges from 2 to N+1. In various embodiments, the first control gate may output logic 1 only when the delay value is logic 0. Also, in various embodiments, the control gates may be AND gates and due to the characteristic of Gray Code that two successive values differ in only one bit, AND gates with M−1 inputs may suffice to be used in the delay line circuit 300 if the delay value is an M-bit Gray Code value, where M is an integer.
Although specific embodiments have been illustrated and described herein, it will be appreciated by those of ordinary skill in the art that a wide variety of alternate and/or equivalent implementations may be substituted for the specific embodiments shown and described, without departing from the scope of the embodiments of the present invention. This application is intended to cover any adaptations or variations of the embodiments discussed herein. Therefore, it is manifestly intended that the embodiments of the present invention be limited only by the claims and the equivalents thereof.
Claims
1. A programmable delay line circuit comprising:
- a first multiplexer having a first input coupled with an input line;
- a second multiplexer having a first input, and a second input coupled with an output of the first multiplexer, and an output coupled with a second input of the first multiplexer;
- a third multiplexer having a first input coupled with the output of the second multiplexer, a second input coupled with the input line, and an output coupled with an output line;
- a first control gate coupled with the third multiplexer to control the third multiplexer; and
- a second control gate coupled with the second multiplexer to control the second multiplexer;
- wherein the first and second control gates selectively control the third and second multiplexer, responsive to a delay value encoded in Gray Code, to provide programmable delay to a signal provided to the input line, and the first multiplexer is controlled by a constant value.
2. The programmable delay line circuit of claim 1, wherein the first control gate and the second control gates are responsive when the delay value represents decimal number 0, and only the second control gate is responsive when the delay value represents decimal number 1.
3. The programmable delay line circuit of claim 1, further comprising: wherein the first control gate controls the third and the fourth multiplexer, the second control gate controls the second multiplexer, and the third control gate controls the fifth multiplexer, responsive to a delay value, to provide programmable delay to the signal provided to the input line.
- a fourth multiplexer having a first input coupled with the output of the first multiplexer, a second input coupled with the output of the second multiplexer, and an output coupled with the second input of the second multiplexer;
- a fifth multiplexer having a first input coupled with the output of the second multiplexer, a second input coupled with the output of the first multiplexer, and an output coupled with the second input of the first multiplexer and the first input of the third multiplexer;
- the first control gate further coupled with the fourth multiplexer to control the fourth multiplexer; and
- a third control gate coupled with the fifth multiplexer to control the fifth multiplexer;
4. The programmable delay line circuit of claim 3 wherein only the first and third control gates are responsive when the delay value represents decimal number 0, only the third and second control gates are responsive when the delay value represents decimal number 1, and only the second control gate is responsive when the delay value represents decimal number 2.
5. A programmable delay line circuit comprising:
- a first delay element having a first input coupled with an input line;
- a second delay element having a first input, and a second input coupled with an output of the first delay element, and an output coupled with a second input of the first delay element;
- an output multiplexer having a first input coupled with the output of the second delay element, a second input coupled with the input line, and an output coupled with an output line;
- a first control gate coupled with the output multiplexer to control the output multiplexer; and
- a second control gate coupled with the second delay element to control the second delay element;
- wherein the first and second control gates selectively control the second delay element and the output multiplexer, responsive to a delay value encoded in Gray Code, to provide programmable delay to a signal provided to the input line, and the first delay element is controlled by a constant value.
6. The programmable delay line circuit of claim 5 further comprising
- a first additional delay element having a first input coupled with the output of the first delay element, a second input coupled with the output of the second delay element, and an output coupled with the second input of the second delay element;
- a second additional delay element having a first input coupled with the output of the second delay element, a second input coupled with the output of the first delay element, and an output coupled with the second input of the first delay element and the first input of the output multiplexer;
- the first control gate further coupled with the first additional delay element to control the first additional delay element; and
- a third control gate coupled with the second additional delay element to control the second additional delay element;
- wherein the first control gate controls the output multiplexer and the first additional delay element, the second control gate controls the second delay element, and the third control gate controls the second additional delay element, responsive to the delay value, to provide programmable delay to the signal provided to the input line.
7. The programmable delay line circuit of claim 6, wherein only the first and third control gates are responsive when the delay value represents decimal number 0, only the third and second control gates are responsive when the delay value represents decimal number 1, and only the second control gate is responsive when the delay value represents decimal number 2.
8. A reconfigurable circuit comprising:
- a plurality of reconfigurable function blocks;
- a plurality of reconfigurable crossbar devices coupled with the plurality of reconfigurable function blocks;
- a programmable delay circuit included with at least a selected one of the reconfigurable function blocks or reconfigurable crossbar devices, the programmable delay circuit comprising: a first multiplexer having a first input coupled with an input line; a second multiplexer having a first input, and a second input coupled with an output of the first multiplexer, and an output coupled with a second input of the first multiplexer; a third multiplexer having a first input coupled with the output of the second multiplexer, a second input coupled with the input line, and an output coupled with an output line; a first control gate coupled with the third multiplexer to control the third multiplexer; and a second control gate coupled with the second multiplexer to control the second multiplexer;
- wherein the first and second control gates selectively control the third and second multiplexer, responsive to a delay value encoded in Gray Code, to provide programmable delay to a signal provided to the input line, and the first multiplexer is controlled by a constant value.
9. The reconfigurable circuit of claim 8, wherein the first control gate and the second control gates are responsive when the delay value represents decimal number 0, and only the second control gate is responsive when the delay value represents decimal number 1.
10. The reconfigurable circuit of claim 8, where in the programmable delay line circuit further comprising: wherein the first control gate controls the third and the fourth multiplexer, the second control gate controls the second multiplexer, and the third control gate controls the fifth multiplexer, responsive to a delay value, to provide programmable delay to the signal provided to the input line.
- a fourth multiplexer having a first input coupled with the output of the first multiplexer, a second input coupled with the output of the second multiplexer, and an output coupled with the second input of the second multiplexer;
- a fifth multiplexer having a first input coupled with the output of the second multiplexer, a second input coupled with the output of the first multiplexer, and an output coupled with the second input of the first multiplexer and the first input of the third multiplexer;
- the first control gate further coupled with the fourth multiplexer to control the fourth multiplexer; and
- a third control gate coupled with the fifth multiplexer to control the fifth multiplexer;
11. The reconfigurable circuit of claim 10, wherein only the first and third control gates are responsive when the delay value represents decimal number 0, only the third and second control gates are responsive when the delay value represents decimal number 1, and only the second control gate is responsive when the delay value represents decimal number 2.
12. The reconfigurable circuit of claim 8, further comprising a Gray Code counter coupled with the programmable delay line circuit, configured to generate the delay value encoded in Gray Code.
Type: Application
Filed: Mar 31, 2009
Publication Date: Sep 30, 2010
Applicant: M2000 SA. (Bievre)
Inventor: Jean Barbier (Montpellier)
Application Number: 12/415,507
International Classification: H03H 11/26 (20060101); H03K 17/693 (20060101);