DETAILED DESCRIPTION OF THE INVENTION
[0034] In the following detailed description of the preferred embodiments, reference is made to the accompanying drawings that form a part hereof, and in which is shown by way of illustration specific preferred embodiments in which the inventions may be practiced. These embodiments are described in sufficient detail to enable those skilled in the art to practice the invention, and it is to be understood that other embodiments may be utilized and that logical, mechanical and electrical changes may be made without departing from the spirit and scope of the present invention. The following detailed description is, therefore, not to be taken in a limiting sense, and the scope of the present invention is defined only by the claims.
[0035] FIG. 3 shows a generalized data interface of a DDR SDRAM memory, including a DRAM core 300 , a data latch 302 , and a generalized clock recovery and skew adjustment circuit 304 . In operation, an external data clock is received through the clock input buffer 306 . The external data clock is replicated and adjusted for skew by the clock recovery and skew adjustment circuit 304 and output as an internal clock signal 308 . The internal clock signal 308 is utilized to trigger the data latch 302 on both the rising and falling edge of the clock, outputting data through buffer 310 onto the data bus. The internal clock signal is also utilized to drive the DQS strobe through buffer 312 .
[0036] FIG. 4 shows an example of a prior art SMD circuit which consists of a clock input buffer 410 , a data path model (DPM) 400 , forward delay line (FDL) 402 , an SMD control circuit 404 , a backward delay line (BDL) 406 , and a clock driver circuit 408 . The FDL 402 and BDL 406 are comprised of delay elements (not shown) that have the same unit delay. The input buffer 410 and clock driver 408 adds an additional internal delay for the SMD circuit of d in for the input buffer 410 and delay of d dp for the clock driver circuit 408 to the circuit that is compensated for by the DPM 400 .
[0037] The SMD circuit receives an external clock signal through the input buffer 410 , which couples the received clock signal to the SMD control 404 , the DPM 400 , and the BDL 406 . The received clock signal is passed through the DPM circuit 400 , which has a delay of d in +d dp , replicating the delays of input buffer 410 and clock driver 408 in order to account for them in the recovery of the clock signal. The clock signal is then passed to the forward delay line (FDL) 402 , where it is passed sequentially from delay element to delay element. The combined delay of the DPM 400 and the FDL 402 , is such that the forward edge of the received clock signal is still within the FDL 402 when the next external clock signal is received at the input buffer 410 . Upon receiving the next external clock signal the input buffer 410 again couples it to the SMD control 404 and the DPM 400 circuits. The next external clock signal enters the DPM circuit 400 and the FDL 402 chain to become the basis of the next recovered clock signal. The next external clock signal also triggers the SMD control 404 , which transfers the current clock signal from the position it has attained in the FDL 402 delay chain to the same position in the BDL 406 delay chain. Triggered by the next external clock signal from input buffer 410 , the initial clock signal then flows backwards through the BDL 406 , which is the same length as the FDL 402 and composed of the same unit delay elements. Because the BDL 406 is the same length as the FDL 402 the clock signal will take the same amount of time to transition through it and will therefore exactly replicate the input clock signal. The additional delay factors of the input buffer 410 and clock driver 408 will already be taken into account in the clock signal loaded into the BDL 406 by the pre-delay of the DPM 400 , that effectively subtracts the delay factors from the time period measured by the FDL 402 . The recovered and skew adjusted clock signal is coupled from the BDL 406 , through the clock driver circuit 408 , to provide a synchronous clock for the circuit that the SMD circuit of FIG. 4 is implemented into.
[0038] FIG. 5 shows an example of a SMD circuit which consists of a clock input buffer 510 , a data path model (DPM) 500 , forward delay line (FDL) 502 , a SMD control circuit 504 , a backward delay line (BDL) 506 , and the real data path (RDP) element 508 . The RDP 508 symbolically represents the real data path circuitry delay added by internal circuitry of the system, such as clock drivers and other logic delays, that the SMD circuit of FIG. 5 is implemented into and is not a real circuit component. The FDL 502 and BDL 506 are comprised of delay elements (not shown) that have the same unit delay. The input buffer 510 and real data path 508 add additional internal delays for the SMD circuit, d in for the input buffer 510 and delay of d dp for the RDP 508 , that are compensated for by the DPM 500 .
[0039] The SMD circuit receives an external clock signal through the input buffer 510 , which couples the received clock signal to the SMD control 504 and the DPM 500 . The received clock signal is passed through the DPM circuit 500 , which has a delay of d in +d dp , replicating the delays of input buffer 510 and real data path 508 in order to account for them in the recovery of the clock signal. The clock signal is then passed to the forward delay line (FDL) 502 , where it is passed sequentially from delay element to delay element. The combined delay of the DPM 500 and the FDL 502 , is such that the forward edge of the received clock signal is still within the FDL 502 when the next external clock signal is received at the input buffer 510 . Upon receiving the next external clock signal the input buffer 510 again couples it to the SMD control 504 and the DPM 500 circuits. The next external clock signal enters the DPM circuit 500 and the FDL 502 chain to become the basis of the next recovered clock signal. The next external clock signal also triggers the SMD control 504 , which transfers the current clock signal from the position it has attained in the FDL 502 delay chain to the same position in the BDL 506 delay chain. The next external clock signal enables the BDL 506 and the initial clock signal then flows backwards through the BDL 506 , which is the same length as the FDL 502 and composed of the same unit delay elements. Because the BDL 506 is the same length as the FDL 502 the clock signal will take the same amount of time to transition through it and will therefore exactly replicate the input clock signal. The additional delay factors of the input buffer 510 and clock driver 508 will already be taken into account in the clock signal loaded into the BDL 506 by the pre-delay of the DPM 500 , that effectively subtracts the delay factors from the time period measured by the FDL 502 . The recovered and skew adjusted clock signal is coupled from the BDL 506 to provide a synchronous clock for the circuit that the SMD circuit of FIG. 5 is implemented into, the delay of which is represented by the real data path 508 .
[0040] Shown in FIG. 7 a and 7 b are examples of NAND delay elements, such as would typically be used in either the FDL or the BDL of SMD circuits. The delay element in FIG. 7 a comprises a NAND gate 700 coupled to an inverter 702 . The delay element in FIG. 7 b comprises a first NAND gate 704 coupled to a second NAND gate 706 . Additional delay element structures or gate delays that could be utilized, such as, skew limited delays, and etc., will be apparent to those skilled in the art with the benefit of the present specification.
[0041] Shown in FIGS. 6 a and 6 b are expanded example views of the FDL 600 , SMD control 602 , and BDL 604 of a SMD circuit, to show circuit elements and interconnections. It is understood that the SMD circuits of FIGS. 6 a and 6 b work in conjunction with the other components that further comprise the SMD circuit such as shown in FIGS. 4 and 5 .
[0042] In FIG. 6 a, the FDL 600 includes a coupled series of such NAND delay elements, 606 , 608 , and 610 . A clock signal enters the FDL 600 on input 612 and is coupled to the NAND gate of the first delay element 606 , where the other input is coupled to Vcc. The signal passes through the first delay element 606 and is coupled to the next series delay element 608 , which also has its unused input tied to Vcc. The input clock signal is passed in this manner through the FDL 602 until the final delay element 610 is reached. As shown in FIG. 6 a, the output of each delay element, 606 , 608 , and 610 , is coupled, 614 , 616 , and 618 , to an input of the SMD control 602 . The SMD control 602 consists of a sequence of NAND gates, 620 , 622 , and 624 , that each have an input coupled to a control input 626 that generally accepts a clock signal. The other input to the NAND gates, 620 , 622 , and 624 , of the SMD control 602 is coupled to an input, 614 , 616 , and 618 , respectively, from the FDL 600 . The outputs of NAND gates, 620 , 622 , and 624 , is coupled, 628 , 630 , and 632 , to inputs of the series coupled delay elements, 634 , 636 , and 638 , that are incorporated into the BDL 604 . When a follow on clock signal is received at the control input 626 , the current clock signal that is transitioning the FDL 600 delay element chain is transferred through the SMD control 602 to the same position in the BDL 604 delay element chain. The delay elements, 634 , 636 , and 638 , of the BDL 604 are coupled in series, but flow in an opposite direction from the FDL 600 delay element chain. An input of the initial element 638 in the BDL 604 delay chain is coupled to Vcc 640 to initialize the chain. The transferred clock signal transitions back through the delay elements, 634 , 636 , and 638 , of the BDL 604 , and as the BDL 604 has the same number of delay elements as the FDL 600 the clock signal will take the same amount of time to transition to the output 642 of the BDL 604 as it took to get from the input 612 of the FDL 600 to the point at which it was transferred to the BDL 604 .
[0043] In FIG. 6 b one stage of a latch based SMD circuit is shown that comprises a vertical slice of an SMD circuit, detailing an expanded view of FDL 650 , BDL 654 , and SMD control circuit 652 , is shown. The FDL 650 and BDL 654 of FIG. 6 b are comprised of dual NAND delay elements, 656 and 658 , such as shown in FIG. 7 b. An example of an SMD array circuit constructed of the stages of the latch based SMD circuit of FIG. 6 b is shown in FIG. 6 c.
[0044] In FIG. 6 c, each stage 684 of the SMD array circuit has the FDL 650 output of the stage 684 coupled to the input of the FDL 650 delay element of the next stage 686 . This allows an input clock signal to pass sequentially through the SMD array circuit in the FDL 650 from stage to stage. Similarly, the BDL 654 input of each stage 684 coupled to the output of the BDL 654 delay element of the next stage 688 , allowing the recovered clock signal to pass sequentially backward through the SMD array circuit in the BDL 654 from stage to stage. Additionally, the output 690 of the SMD control circuit 652 is coupled to the next stage in the SMD array circuit, instead of being transferred directly to the BDL 654 element in the current stage. This allows the SMD array circuit to account for the additional delay of the internal latch and circuitry of each SMD circuit stage 684 . All other signals are coupled to the SMD array circuit and individual SMD circuit stages 684 in parallel.
[0045] In operation, an incoming clock pulse enters FDL 650 of the SMD circuit containing the SMD circuit stage of FIG. 6 b and is passed from delay element to delay element 658 . As this occurs, the next clock pulse is applied to the SMD circuit and causes the latch 666 of the SMD control circuit 652 to latch in the position of the current clock pulse in the FDL 650 . The SMD control circuit 652 then applies the latched clock pulse to one delay element up in the BDL 654 to adjust for internal delays. The transferred current clock pulse then is passed from delay element to delay element 656 in the BDL 654 until it reaches the coupled external circuit (not shown) that the SMD circuit drives.
[0046] In the FDL 650 , the first NAND gate 660 of each delay element has an input coupled to receive the incoming clock signal from the previous delay element and an input coupled to receive an active low control input Rdly_ 664 that is used by external circuitry to hold the state of the SMD. During operation, Rdly_ 664 is held high allowing the first NAND gate 660 to act logically as an inverter. The output of the first NAND gate 660 is coupled to an input of the second NAND gate 662 . The unused input of the second NAND gate 662 is coupled to Vcc (high) to allow the second NAND gate 662 to also act logically as an inverter, re-inverting the clock signal that is passed to it from the first NAND gate 660 . The output of the second NAND gate 662 is coupled to an input of latch 666 of the SMD control circuit 652 and to input 668 of the delay element (not shown) of the next stage of the FDL 650 .
[0047] The SMD control circuit latch 666 latches in the output from the second NAND gate 662 of the FDL 650 on the rising and falling edges of the input clock signal 670 . On a rising clock edge the latch 666 will latch in a zero from the FDL delay chain 650 . On a falling clock edge the latch 666 will latch in the position of the clock pulse that is transitioning the FDL delay element coupled to it. An active low reset signal, RST_ 672 , is provided to clear or preset the contents of the latches 666 the SMD control circuit 652 , such as upon startup. The output of the SMD control circuit latch 666 is coupled to the delay element of the next stage (not shown) of the BDL 654 through inverter 674 .
[0048] The BDL 654 circuit delay element chain flows in an opposite direction from the FDL 650 delay element chain. The inverted clock signal latched in the previous delay stage SMD control circuit latch (not shown) is placed on the NQB input 678 and is coupled into the BDL 654 delay circuit element 656 through the second NAND gate 676 of the BDL 654 delay element 656 . The next clock pulse is gated in by NAND gate 680 , placing a zero (low) signal on the coupled input of the first NAND gate 682 setting its output to a logical one (high). The logical one on the output of the first NAND gate 682 is coupled to an input of the second NAND gate 676 of the BDL 656 making it logically act like an inverter to the coupled inverted signal from the NBQ input 678 from the previous stage of the SMD circuit (not shown) transferring the latched clock signal from the FDL 650 to the BDL 654 . When the next clock pulse transitions to zero the NAND gate 680 and latch of the next stage (not shown) present a one (high) to the inputs of the second and first NAND gates, 676 and 682 , respectively, of the BDL 654 . This allows them to logically act as inverters and the transferred clock signal starts to transition back through the delay elements of the BDL 656 . As the BDL 654 has the same number of delay elements as the FDL 650 the clock signal will take the same amount of time to transition to the output of the BDL 654 as it took to get from the input of the FDL 650 to the point at which it was transferred to the BDL 654 .
[0049] FIG. 9 a shows an SMD circuit with an embodiment of the present invention. The SMD circuit of FIG. 9 a consists of a clock input buffer 910 , a data path model (DPM) 900 , forward delay line (FDL) 902 , a SMD control circuit 904 , a backward delay line (BDL) 906 , a clock driver circuit 908 , and two delay segments 912 and 914 . The FDL 902 and BDL 906 are comprised of delay elements (not shown) that have the same unit delay. The input buffer 910 and clock driver 908 adds an additional internal delay for the SMD circuit of d in for the input buffer 910 and delay of d dp for the clock driver circuit 908 to the circuit that is compensated for by the DPM.
[0050] In the SMD circuit of FIG. 9 a, the delay segments 912 and 914 provide a fixed delay for the FDL 902 and BDL 906 respectively of the SMD circuit. The fixed delay segments 912 and 914 are designed to incorporate a portion of the clock signal time period from the FDL 902 and BDL 906 , allowing them to be smaller and have less internal delay elements. Alternatively, the internal delay elements of the FDL 902 and BDL 906 could have a smaller unit delay and therefore allow a finer, higher granularity match with the input clock signal. In addition, the fixed delay segments 912 and 914 can be designed to incorporate a time period greater than, or several multiples of, the input clock period. This could be done, for example, to account for a clock input circuit that has a delay of multiple clock time periods. In practice, the fixed delay time period of the delay segments is optimally chosen to incorporate as much of the unchanging portion of the external clock time period as possible. This permits the FDL 902 and BDL 906 to be only long enough to incorporate the portion of the clock signal time period that must be adjusted for, allowing an SMD circuit of a smaller size than that of a similar conventional SMD circuit.
[0051] In FIG. 9 a, the SMD circuit receives an external clock signal through the input buffer 910 , which couples the received clock signal to the SMD control 904 , the DPM 900 , and the BDL 906 . The received clock signal is passed through the DPM circuit 900 , which has a delay of d in +d dp , replicating the delays of input buffer 910 and clock driver 908 in order to account for them in the recovery of the clock signal. The clock signal is then passed to delay segment 912 . Delay segment 912 couples the signal to the forward delay line (FDL) 902 , where it is internally passed from delay element to delay element. The combined delay of the DPM 900 , delay segment 912 , and the FDL 902 , is such that the forward edge of the received clock signal is within the FDL 902 when the next external clock signal is received at the input buffer 910 . Upon receiving the next external clock signal the input buffer 910 again couples it to the SMD control 904 , the DPM 900 , and the BDL 906 circuits. The next external clock signal enters the DPM circuit 900 , delay segment 912 , and FDL 902 chain to become the basis of the next recovered clock signal. The coupled next external clock signal also triggers the SMD control 904 , which transfers the initial clock signal from the position it has attained in the FDL 902 delay chain to the same position in the BDL 906 delay chain. Triggered by the next external clock signal coupled from the input buffer 910 , the current clock signal then flows backwards through the BDL 906 and delay segment 914 , which are the same length as the FDL 902 and delay segment 912 , and are composed of the same unit delay elements. It is noted that the next external clock signal could also be coupled through the SMD control 904 instead of directly from the input buffer 910 . The adjusted clock signal is then coupled from delay segment 914 to the internal clock driver circuit 908 . Because the BDL 906 and delay segment 914 are the same length as the FDL 902 and delay segment 912 the clock signal will take the same amount of time to transition through it and will therefore exactly replicate the input clock signal. The additional delay factors of the input buffer 910 and clock driver 908 will already be taken into account in the clock signal loaded into the BDL 906 by the SMD control 904 by the pre-delay of the DPM 900 , that effectively subtracts them from the time period measured by the FDL 902 . The recovered and skew adjusted clock signal is coupled from the clock driver circuit 908 to provide a synchronous clock for the circuit that the SMD circuit of FIG. 9 a is implemented into.
[0052] It is noted in the SMD circuit of FIG. 9 a, that the delay segments 912 and 914 and the DPM 900 can have multiple placements in the circuit and still achieve the same functionality. For example, the delay segment 912 can be placed before the DPM 900 . In addition, the delay segment 914 could be coupled before the BDL 906 , or split to have an element coupled both before and after the BDL 906 . Additional combinations of the delay segments 912 and 914 and the DPM 900 will be apparent to those skilled in the art with the benefit of the present specification.
[0053] FIG. 9 b shows another SMD circuit with another embodiment of the present invention. The SMD circuit of FIG. 9 b consists of a clock input buffer 960 , a data path model (DPM) 950 , forward delay line (FDL) 952 , an SMD control circuit 954 , a backward delay line (BDL) 956 , a delay segment 962 , and the real data path (RDP) element 958 . For the SMD circuit of FIG. 9 b, the RDP 958 represents the real data path delay added by internal circuitry of the system that the SMD circuit of FIG. 9 b is coupled to and that the DPM 950 element models. The FDL 952 and BDL 956 are comprised of delay elements (not shown) that have the same unit delay. The input buffer 960 and real data path 958 adds an additional internal delay for the SMD circuit of d in for the input buffer 960 and delay of d dp for the RDP 958 to the circuit that is compensated for by the DPM 950 .
[0054] In the SMD circuit of FIG. 9 b, the delay segment 962 provides a fixed delay for the FDL 952 and BDL 956 respectively of the SMD circuit. The fixed delay segment 962 is designed to incorporate a portion of the clock signal time period from the FDL 952 and BDL 956 , allowing them to be smaller and have less internal delay elements and have less control elements. Alternatively, the internal delay elements of the FDL 952 and BDL 956 could have a smaller unit delay and therefore allow a finer, higher granularity match with the input clock signal. In addition, the fixed delay segment 962 can be designed to incorporate a time period greater than, or several multiples of, the input clock period. This could be done, for example, to account for a clock input circuit that has a delay of multiple clock time periods. In practice, the fixed delay time period of the delay segments is optimally chosen to incorporate as much of the unchanging portion of the external clock time period as possible. This permits the FDL 952 and BDL 956 to be only long enough to incorporate the portion of the clock signal time period that must be adjusted for, allowing an SMD circuit of a smaller size than that of a similar conventional SMD circuit.
[0055] In FIG. 9 b, the SMD circuit receives an external clock signal through the input buffer 960 , which couples the received clock signal to the SMD control 954 and the delay segment 962 . Delay segment 962 couples the signal to the DPM 950 which has a delay of d in +d dp , replicating the delays of input buffer 960 and real data path (RDP) element 958 in order to account for them in the recovery of the clock signal. Delay segment 962 also couples the clock signal to the backward delay line (BDL) 956 . The DPM 950 couples the clock signal to the forward delay line (FDL) 952 , which passes the clock signal internally from delay element to delay element (not shown). The combined delay of the delay segment 962 , DPM 950 , and the FDL 952 , is such that the forward edge of the received clock signal is within the FDL 952 when the next external clock signal is received at the input buffer 960 . Upon receiving the next external clock signal the input buffer 960 again couples it to the SMD control 954 and the delay segment 962 circuits. The next clock signal enters the delay segment 962 , DPM circuit 950 , and FDL 952 chain to become the basis of the next recovered clock signal. The coupled next clock signal also triggers the SMD control 954 , which transfers the initial clock signal from the position it has attained in the FDL 952 delay chain to the same position in the BDL 956 delay chain, which passes it backwards from delay element to delay element (not shown). The adjusted forward edge of the current clock signal then flows from the BDL 956 , with the remainder of the current clock signal flowing through the BDL 956 from delay segment 962 . The adjusted clock signal is then coupled from the BDL 956 to the circuitry that the SMD circuit of FIG. 9 b drives, represented by the real data path (RDP) element 958 . Because the combined time delay of the BDL 956 and delay segment 962 are the same length as the combined time delay of the FDL 952 and delay segment 962 , less the time delay of the DPM 950 , the clock signal will take the same amount of time to transition through it. The additional delay factors of the input buffer 960 and real data path (RDP) element 958 will already be taken into account in the clock signal loaded into the BDL 956 by the pre-delay of the DPM 950 , that effectively subtracts them from the time period measured by the FDL 952 . The recovered and skew adjusted clock signal is coupled from the BDL 956 to provide a synchronous clock for the circuit that the SMD circuit of FIG. 9 b is implemented into.
[0056] Shown in FIG. 8 is an example of a RC delay element that is typically utilized in the delay segments 912 and 914 of FIG. 9 a and in the delay segment 962 of FIG. 9 b. The RC delay element of FIG. 8 comprises inverters 806 and 804 , a resistor 800 , and a capacitor 802 . Inverter 806 is coupled to resistor 800 , which is in turn coupled to capacitor 802 and inverter 804 . Capacitor 802 is coupled to a ground to form a RC circuit with resistor 800 . In operation, a clock signal enters the RC delay element of FIG. 8 and is coupled to inverter 806 . The clock signal passes through inverter 806 and charges capacitor 802 through resistor 800 . When the capacitor 802 is charged or discharged by inverter 806 , depending on the clock signal phase being transmitted, the delayed clock signal passes through coupled inverter 804 and exits the RC delay element. Additional delay element structures or gate delays that could be utilized, such as, skew limited delays, and etc., will be apparent to those skilled in the art with the benefit of the present specification.
[0057] FIG. 10 shows a diagram of a data output stage, such as that in FIG. 3 , which incorporates an embodiment of the present invention. The output stage of FIG. 10 shows a DDR SDRAM memory, including a DRAM core 1000 , a data latch 1002 , and an SMD clock recovery and skew adjustment circuit 1004 that incorporates delay segments, 1014 and 1016 , such as described in FIG. 9 a. Alternative SMD clock recovery and skew adjustment circuits of the present invention, such as that of FIG. 9 b, could also be used. In FIG. 10 , the delay segments 1014 and 1016 represent the non-variable portion of the clock signal, allowing for a more space efficient SMD circuit implementation. In operation an external data clock is received through the clock input buffer 1006 . The external data clock is replicated and adjusted for skew by the SMD clock recovery and skew adjustment circuit 1004 and output as an internal clock signal 1008 . The internal clock signal 1008 is utilized to trigger the data latch 1002 on both the rising and falling edge of the clock, outputting data through buffer 1010 onto the data bus. The internal clock signal is also utilized to drive the DQS strobe through buffer 1012 .
[0058] FIG. 11 shows an illustration of a non-volatile memory device of an embodiment of the present invention. It is noted that the memory device of FIG. 11 is only shown as an example, and embodiments of the present invention can include multiple types of other integrated circuits (i.e., a processor, a volatile memory device, an ASIC, etc.). Memory devices are well known in the prior art and the following description is intended only to be an overview of their operation and provide an example of their operation with an embodiment of the present invention.
[0059] The non-volatile memory device of FIG. 11 contains an array of nonvolatile floating gate memory cells arranged in columns coupled to bit lines as its main memory structure. In the memory device of FIG. 11 , address values for the memory are received on the external address bus connections 1100 . The received address values are stored internal to the memory device and utilized to select the memory cells in the array to read and write data to. In the case of the memory device of FIG. 11 , the internal address register is shown split with both a row address register 1102 and column address register 1104 . The address values held in the row address register 1102 and column address register 1104 , select a data word from the non-volatile memory cell array 1106 through the coupled row decode 1108 and column decode 1110 circuits. The selected data word is read by the coupled sense amplifier circuit 1112 . Data values for the memory device of FIG. 11 are received and transmitted on the bi-directional data word interface 1114 . Internal to the memory device, data to be written to or from the memory array 1106 is held in the Data buffer 1116 . Control of the memory device of FIG. 11 for both read operations and write operations is actuated by the internal control circuit 1118 . The control circuit 1118 operates in response external control signals received on control signal external interface connections 1120 and to internal events. As shown in FIG. 11 , all external signal connections to the memory device are coupled to internal I/O buffers on the integrated circuit chip ( 1122 , 1124 , and 1126 ). I/O buffers are shown for each of the major interfaces, address I/O buffers 1122 , data I/O buffers 1126 , and control signal 110 buffers 1124 . Interconnect lines ( 1128 , 1130 , 1132 , and 1134 ) couple the I/O buffers ( 1122 , 1124 , and 1126 ) to their corresponding active component input circuits that accept the incoming signals. The non-volatile memory device of FIG. 11 is shown integrating an SMD clock recovery and skew adjustment circuit 1136 that incorporates an embodiment of the present invention. An external clock signal 1138 is coupled to the SMD clock recovery and skew adjustment circuit 1136 , which recovers and skew adjusts the external clock. The SMD clock recovery and skew adjustment circuit 1136 also asserts a DQS strobe signal 1140 and an internal clock signal 1142 , when the non-volatile memory circuit of FIG. 11 is accessed.
[0060] Conclusion
[0061] A synchronous mirror delay (SMD) clock recovery and skew adjustment circuit for an integrated circuit is described, having a reduced circuit implementation. The SMD clock recovery and skew adjustment circuit incorporates a delay segment into the forward delay line (FDL) and backward delay line (BDL) that accounts for all or some of the non-variable portion of the asserted clock signal time period. This delay segment allows reduction of the FDL and BDL lines to only those portions necessary to sense and adjust for the portion of the inserted clock signal time period that is variable and that must be adjusted for. The described invention allows SMD clock recovery and skew adjustment circuits to be implemented in an optimized manner that exhibits a reduced overall circuit size.
[0062] Although specific embodiments have been illustrated and described herein, it will be appreciated by those of ordinary skill in the art that any arrangement, which is calculated to achieve the same purpose, may be substituted for the specific embodiment shown. This application is intended to cover any adaptations or variations of the present invention. Therefore, it is manifestly intended that this invention be limited only by the claims and the equivalents thereof.