The present invention relates to a delay circuit and method thereof, and particularly relates to a delay circuit that can detect if the delay stages have delay faults or not, and a related method.
One example of a detection method is inputting an input clock signal to a path having a specific number of delay stages of a delay circuit and checking if the output clock signal changes corresponding to the value of the input clock signal. If yes, the delay circuit is fine, if not, at least one delay stage on the path has a delay fault, thus the delay circuit should be abandoned.
There may be a delay time between the changing of the input clock value to the output clock signal. Such a delay time is acceptable if it is smaller than a specific value, so another detection method inputs two clock signals having a minor time difference to a path having a specific number of delay stages of a delay circuit and checking if the output signal changes in the acceptable delay time. If yes, the delay circuit is fine, if not, at least one delay stage on the path has a delay fault, and the delay circuit should therefore be abandoned.
Such a mechanism has various disadvantages, however. For example, if there is a delay time between the changing of the input clock value to the output clock signal, a flip flop is needed to detect if the delay circuit has a delay fault or not, but a delay circuit does not initially include a flip flop. Additionally, a delay stage may have an acceptable delay amount variance, but the delay amount variance may affect the determination result, since it is difficult to distinguish whether said delay amount variance is the acceptable delay amount or the unacceptable time delay.
Therefore, one objective of the present invention is to provide a delay circuit, which can detect if a delay chain thereof has delay faults or not.
Another objective of the present invention is to provide a delay circuit having a plurality of delay chains, wherein the delay circuit can detect whether each of the delay chains has a delay fault or not.
One embodiment of the present invention discloses a delay circuit, which comprises: a first delay module, having a first delay circuit with at least one delay stage; a delay measurement unit, coupled to the first delay module, for measuring a first delay amount and a second delay amount of the first delay chain corresponding to a first number and a second number of delay stages respectively; and a fault judge unit, coupled to the delay measurement unit, for determining if the first delay chain has a delay fault or not according to the first and second delay amounts. A method corresponding to this delay circuit can be obtained accordingly, and is therefore omitted here for brevity.
Another embodiment of the present invention discloses a delay circuit, which comprises: a first delay module, having a first delay circuit with at least one delay stage; a second delay module, having a second delay circuit with at least one delay stage; a delay measurement unit, coupled to the first and the second delay modules, for measuring a first delay amount of the first delay chain and a second delay amount of the second delay chain; and a fault judge unit, coupled to the delay measurement unit, for determining if the first delay chain or the second delay chain has delay faults or not according to the first and second delay amounts. A method corresponding to this delay circuit can be obtained accordingly, and is therefore omitted here for brevity.
According to the above-mentioned circuits, problems of the related art can be avoided. Also, the delay circuit according to the present invention can be utilized as a normal delay circuit.
These and other objectives of the present invention will no doubt become obvious to those of ordinary skill in the art after reading the following detailed description of the preferred embodiment that is illustrated in the various figures and drawings.
a illustrates a block diagram of a delay circuit according to an embodiment of the present invention.
b is a flow chart illustrating the operations of the delay circuit shown in
c is a flow chart illustrating the operations of the delay circuit shown in
Certain terms are used throughout the description and following claims to refer to particular components. As one skilled in the art will appreciate, electronic equipment manufacturers may refer to a component by different names. This document does not intend to distinguish between components that differ in name but not function. In the following description and in the claims, the terms “include” and “comprise” are used in an open-ended fashion, and thus should be interpreted to mean “include, but not limited to . . . ”. Also, the term “couple” is intended to mean either an indirect or direct electrical connection. Accordingly, if one device is coupled to another device, that connection may be through a direct electrical connection, or through an indirect electrical connection via other devices and connections.
a illustrates a block diagram of a delay circuit 200 according to an embodiment of the present invention that is used to generate a mapping table and select a proper number of delay stages according to the mapping table. The delay circuit 200 comprises a delay measurement unit 201, a storage device 203, a delay mapping unit 205, and a map delay module 207. The delay measurement unit 201 is utilized for generating a mapping table MT, a map enable signal MES, a ring enable signal RES, and a delay selection signal DS according to a reference signal RS and a reference clock signal RCLK. The storage device 203 (for example, a register or a memory), which is coupled to the delay measurement unit 201, is used for storing the mapping table MT from the delay measurement unit 201. The delay mapping unit 205, which is coupled to the storage device 203 and the delay measurement unit 201, is controlled by the map enable signal MES for generating a mapped selection signal MDS according to the delay selection signal DS in a first mode (mapping table generating mode) and according to an input selection signal IDS and a mapping value of the mapping table in a second mode (normal mode). The map delay module 207, which is coupled to the delay measurement unit 201 and the delay mapping unit 205, is controlled by the ring enable signal RES for generating the reference signal RS corresponding to the mapped selection signal MDS in the first mode and for delaying an input data signal Datain to generate an output data signal Dataout corresponding to the mapped selection signal MDS in the second mode.
Briefly, the operation of the delay circuit 200 can be summarized as a method comprising two steps: The first step generates a mapping table according to a reference signal RS from a delay circuit in a first mode. The second step maps an input selection signal IDS to select a proper number of delay stages of the map delay module 207 according to a mapping value of the mapping table MT in the second mode.
b is a flow chart illustrating the operations of the delay circuit 200 in the first mode (mapping table generating mode). The steps are as follows:
The map enable signal MES controls the delay mapping unit 205 to generate a mapped selection signal MDS according to the delay selection signal DS.
In another mode, the input delay selection signal IDS is transformed to the mapped selection signal MDS according to a mapping table MT stored in the storage device 203. Therefore the number of stages selected by the mapped selection signal MDS and the input delay selection signal IDS may be different in another mode. However, in this mode, the number of delay stages selected by the mapped selection signal MDS equals the number of the delay selection signal DS.
The ring enable signal RES controls the map delay module 207 to generate the reference signal RS corresponding to the delay stage N selected by the mapped selection signal MDS.
The reference signal RS, which is a periodical signal in this embodiment, can indicate the real delay amount of each delay stage of the map delay module 207. The detailed structure of the map delay module 207 and how the reference signal RS is generated will be described in the following.
Obtain the real delay amount of the delay stage selected by the delay stage N selected by the mapped selection signal MDS according to the reference signal RS and the reference clock signal RCLK.
Determine if the delay stage N selected by the mapped selection signal MDS is a final delay stage of the delay circuit. If yes, go to step 2009, if not, N=N+1, and return to step 2003.
The delay mapping unit 201 generates the mapping table MT according to the real delay amounts of all delay stages.
In one embodiment, the mapping table MT is generated according to which number of the delay stages has a real delay amount having a minimum difference from the delay amount of the original selected delay stage. For example, if the input delay selection signal IDS selects 3 delay stages having a delay amount of 1 us, and the real delay amount of 3 delay stages is 0.6 us, the real delay amount of 5 delay stages is 1.1 us. The mapping table will then map 3 delay stages to 5 delay stages, i.e. the mapped selection signal MDS will select 5 delay stages instead of 3 stages. It should be noted that such a mechanism is only given as an example and is not meant to limit the scope of the present invention. Other mechanisms based on this concept should also fall within the scope of the present invention. Also, the mapping table MT is generated according to all delay stages of the delay circuit in one embodiment, but the mapping table can also be generated according to only part of the delay stages.
The mapping table MT not only can be generated to indicate the real delay amount of the map delay module 207, but can also be generated to meet different requirements. For example, a delay circuit in the map delay module 207 can be a monotonic delay chain according to the mapping table. Also, the mapping table can make the delay stages of the delay circuit in the map delay module 207 have a minimum delay amount difference with each other. The detailed description of theses examples will be shown in the following.
In the first mode, the control signal MES controls the delay mapping unit 205 to enable the delay selection signal DS to be sent for selecting the number of delay stages of the map delay module 207, such that the map delay module 207 can generate a reference signal RS (a periodical signal in this embodiment, but not limited to being a periodical signal in other embodiments) corresponding to the selected number of delay stages. The reference signal RS can indicate the real delay of the selected number of delay stages. Then the delay measurement unit 201 generates a mapping table MT according to the reference signal RS.
c is a flow chart illustrating the operations of the delay circuit 200 in the second mode (normal mode). The steps are as follows:
The map enable signal MES controls the delay mapping unit 205 to generate the mapped selection signal MDS according to an input selection signal IDS and a mapping value from the mapping table MT stored in the storage device 203.
In this mode, the mapped selection signal MDS relates to the input delay selection signal IDS instead of the delay selection signal DS, and the number of stages selected by the mapped selection signal MDS and the input delay selection signal IDS may be different.
Select delay stages of the map delay module 207 according to the mapped selection signal MDS.
The ring enable signal RES controls the map delay module 207 to delay an input data signal Datain to generate an output data signal Dataout according to the delay stages selected by the mapped selection signal MDS, instead of generating the reference signal RS.
In the second mode, the delay mapping unit 205 maps the input selection signal IDS to a mapped selection signal MDS according to a mapping value of the mapping table MT to select a proper number of delay stages, such that a desired delay amount or a desired delay circuit type can be provided. For example, if the number of the original delay stages selected by the input selection signal IDS is 2 and the mapped delay stage number corresponding to the original delay stage number selected by the mapped selection signal MDS is 3, then the mapping value is 3.
It should be noted that the present invention is not limited to include all the devices disclosed in
Furthermore, the delay circuit 200 is not limited to be applied to a single delay mapping unit.
It should be noted that, although the map delay module 207 further includes an inverter 505 to match the structure of the delay chain 501 for generating the reference signal RS, the inverter 505 is not an essential component and can be omitted if the structure of the delay circuit is altered.
The periodical counter is reset to a negative value near 0, and the reference counter is set to 0. Then, a selected number of delay stages is selected by the delay selection signal DS, and the mapped delay circuit outputs the periodical signal (the reference signal RS) corresponding to the selected delay stages to the periodical counter 603, such that the periodical counter 603 will increment. The enable signal generator controls the enable signal ES to be 1 for enabling the reference counter 607 to increment when the periodical counter value reaches 0. The enable signal ES is set to 0 to stop the reference counter and the control signal RES is set to 0 when the periodical counter reaches a specific value M. After a period of time, the control unit resets the periodical counter 603 to a negative value near 0, sets the delay selection signal DS as 0 (makes the mapped delay circuit provide a periodical signal with no delay amount), and sets the ring enable signal RES to 1. Then the above-described operation is performed again, but this time the reference counter 607 will decrement.
In this way, the counter difference value CD between the periodical signal corresponding to the selected number of delay stages and the periodical signal corresponding to no delay stage is obtained. If the period of the reference clock signal is tr, the ideal CD is 2td*M/tr. By repeating the above-mentioned operation, all counter difference values CD between the periodical signals corresponding to all the delay stages and the periodical signal corresponding to no delay stage can be obtained. The control unit 601 can then generate a mapping table MT according to the counter difference values CD. It should be noted that, although the counter difference values CD indicate the relations between the delay stages in this embodiment, the delay amount of the delay stages can also be obtained according to the counter difference values CD if the delay amount of delay stages is known.
It should be noted that the devices and the operation shown in
As part or all of the counter difference values CD are obtained, a mapping table MT can be determined according to desired results. Table 1 is an example of a table illustrating the relation between ideal CDs and actual CDs.
The order of ideal CDs makes the delay circuit a monotonic delay circuit, but the order of actual CDs does not. Therefore, if the delay circuit is desired to be a monotonic delay circuit, a mapping table shown in Table 2 will be obtained. Although the input selection signal IDS selects 2 delay stages, the mapping value is 3. Similarly, although the input selection signal IDS selects 3 delay stages, the mapping value is 2. In this way, each number of the selected delay stages will have a delay amount having a minimum error from the ideal delay amount. Also, the delay circuit after mapping is a monotonic delay circuit in the embodiment shown in Table 2.
If the design of the circuit cannot allow all the counter difference values CD to be recorded, each number of selected delay stages is desired to have a delay amount having a minimum error from the ideal delay amount. Other kinds of mapping tables different from the mapping table shown in Table 2 can be generated. For example, only delay stages with a larger actual CD than the ideal CD can be selected as the delay stage for mapping. Table 3 illustrates such a kind of mapping table, which references the relation shown in Table 1. In this case, although the error between the ideal CD and the actual CD is 32, the delay circuit will still be a monotonic delay circuit, and the space for recording the counter difference values can be decreased.
If the delay chain is a high resolution delay chain, the storage device can only contain a simplified mapping table instead of a mapping table corresponding to all delay stages to save the storage space. Table 4 illustrates relations between ideal CDs and actual CDs for a high resolution delay chain. The delay chain includes 16 delay stages, but the number of the ideal CDs is only 4. Therefore, the actual CD of 1 delay stage is compared with the first ideal CD 20 and the actual CD of 2 delay stages is compared with the first ideal CD 40 etc. A mapping table can then be generated.
Table 5 is a mapping table example for a high resolution delay chain corresponding to Table 4. In this case, an original delay stage is mapped to a closest delay stage having an actual CD larger than the ideal counter difference of the original delay stage. The delay circuit is a monotonic delay circuit according to the mapping table shown in Table 5. In this case, the input selection signal IDS is multiplied by a predetermined parameter n (4 in this embodiment) to generate the mapped selection signal MDS for selecting mapped delay stages.
The multiplier 1305, which is coupled to the adder 1307, is used for generating the multiplied input selection signal MIDS. The adder 1307 is used for combining the multiplied input selection signal MIDS and the offset delay selection signal OS to generate the combined input selection signal CIDS.
Such a mapped delay circuit will have larger errors for delay amounts, however. Therefore, in order to decrease the difference between the original delay stages and mapped delay stages, the delay chain 1200 can comprise a main delay chain 1201 for providing a main delay amount according to the input selection signal IDS, and an offset delay chain to provide an offset delay amount according to an offset selection signal for amending the difference between the actual delay amount and the ideal delay amount, as shown in
The methods corresponding to the above mentioned circuits can be obtained according to the above description, and are therefore omitted for brevity.
According to the above-mentioned circuits and methods, not only can a desired delay amount be obtained by mapping, but a mapping table can also be generated according to the reference signal generated from the delay circuit to be mapped. Also, a monotonic delay circuit can be obtained accordingly. Preferably, the steps of generating the mapping table and selecting desired delay stages by mapping are performed by the same circuit.
The delay amount measured by the above-mentioned mechanism can also be utilized for other applications. For example, after the delay amount is measured, it can be utilized to check if the delay stages in the delay circuit have delay faults or not.
Specifically, the delay measurement unit 903 generates a delay codes DC, which is indicative of delay amounts corresponding to different delay stage numbers of the delay chain 902, according to the reference clock RCLK and the reference signal RS, which can be a periodical signal. The fault judge unit 905 generates a fail flag indicating if the delay chain 902 has delay faults or not according to the delay code DC. In this embodiment, the delay module 901 outputs the reference signal RS in a fault detecting mode, and delays an input data signal Datain to generate an output data signal Dataout in a normal mode. Also, the delay measurement 903 utilizes a ring enable signal RES and the fault judge unit 905 utilizes a mode selection signal MS to jointly control the delay module 901 to output the reference signal RS or the output data Dataout. A fault selection signal FS is utilized for selecting delay stages in the fault detecting mode, and the delay module 901 outputs reference signals RS corresponding to the selected delay stages. The input selection signal IS is utilized for selecting delay stages in the normal mode, and the delay module 901 outputs output data Dataout corresponding to the selected delay stages.
Step 1203
Set mode selection signal MS=1; set fault selection signal FS to an initial value.
Trigger the measurement unit to operate.
Wait for measurement to be completed.
Modify the fault selection signal FS to the next value, i.e. select a next delay stage number which is the current delay stage number plus 1 or plus a predetermined integer other than 1; and store delay code DC to a pre delay code.
Trigger the delay measurement unit to operate.
Wait for measurement to be completed.
Check if a different between the delay code DC and the pre delay code is smaller than a predetermined value. If not, go to step 1217, if yes, go to step 1219.
Set fail flag=1, which indicates the measured delay circuit has delay fault.
Check if the fault selection signal FS is the final value. If not, go to step 1221; if yes, go to step 1223.
Modify the fault selection signal FS to the next value, and store delay code DC to a pre delay code.
The above-mentioned first embodiment is utilized for detecting if any delay stage in a delay circuit has delay faults, and the present invention further discloses a second embodiment to detect if any of a plurality of delay circuits has delay faults.
Set mode selection signal MS=1; set fault selection signal FS to an initial value.
Set channel selection signal CHS=0
Trigger the measurement unit to operate.
Wait for measurement to be completed.
Modify the channel selection signal CHS to the next value (plus 1 or plus a predetermined integer other than 1), that is, select a next delay module different from the current delay module; and store delay code DC to a pre delay code.
Trigger the delay measurement unit to operate.
Wait measurement to be completed.
Check if a difference between the delay code DC and the pre delay code is smaller than a predetermined value. If not, go to step 1423, if yes, go to step 1419.
Are all delay modules detected?
Modify the channel selection signal CHE to the next value (plus 1 or plus a predetermined value other than 1)
Set fail flag=1, which indicates the measured delay circuit has delay fault, and go to step 1429.
Check if the fault selection signal FS is the final value. If not, go to step 1427; if yes, go to step 1429.
Modify the fault selection signal FS to the next value (plus 1 or plus a predetermined integer other than 1), and set channel selection signal CHS=0.
Briefly, the delay circuit 1300 measures delay amount of the delay stages with the same delay stage number (for example, 3 delay stages) of each delay module and determine if any one of the delay modules has delay faults according to the measurement result, i.e. the delay code DC. If no delay fault is found, the delay amounts of the delay stages with a next delay stage number (for example, 4 delay stages) are measured and it is determined if any one of the delay modules has delay faults according to the measurement result. Such steps will be repeated until a delay fault is found or until all delay stages are measured. The above-described operation is not meant to limit the scope of the present invention, however. The delay measurement unit 1301 can measure delay stages with different delay stage numbers of the delay modules. For example, the delay measurement unit 1301 can measure 3 delay stages of the delay module 1305 and 4 delay stages of the delay module 1307 and see if two delay amounts have a difference that is greater than a predetermined value to determine if any one of the delay modules 1305 and 1307 has delay fault.
According to the above-mentioned circuits, the delay stage can be detected if it has delay faults or not via detecting the delay amount thereof, thus the problems of the related art can be avoided. Also, the delay circuit according to the present invention can be utilized as a normal delay circuit, thus the application thereof can be extended.
Those skilled in the art will readily observe that numerous modifications and alterations of the device and method may be made while retaining the teachings of the invention. Accordingly, the above disclosure should be construed as limited only by the metes and bounds of the appended claims.
This application is a continuation-in-part application and claims the benefit of U.S. application Ser. No. 11/763,454 entitled “DELAY CIRCUIT AND RELATED METHOD THEREOF”, which was filed on Jun. 15, 2007.
Number | Date | Country | |
---|---|---|---|
Parent | 11763454 | Jun 2007 | US |
Child | 12110368 | US |