Method and apparatus for generating a sequence of clock signals

Abstract
A clock generator circuit generates a sequence of clock signals equally phased from each other from a master clock signal. The clock generator is formed by inner and outer delay-locked loops. The inner delay-locked loop includes a voltage controlled delay line that delays a reference clock applied to its input by a plurality of respective delays. Two of the clock signals in the sequence are applied to a phase detector so that the signals at the outputs of the delay line have predetermined phases relative to each other. The outer delay-locked loop is formed by a voltage controlled delay circuit that delays the command clock by a voltage controlled delay to provide the reference clock to the delay line of the inner delay-locked loop. The outer delay-locked loop also includes a phase detector that compares the command clock to one of the clock signals in the sequence generated by the delay line. The outer delay-locked loop thus locks one of the clock signals in the sequence to the command clock. As a result, all of the clock signals in the sequence generated by the delay line have respective predetermined phases relative to the phase of the command clock. One of the clock signals in the sequence is selected by a multiplexer to clock a command data latch at a time corresponding to the delay in coupling a command data bit to the latch.
Description
TECHNICAL FIELD

This invention relates to generating a sequence of accurately phased clock signals, and more particularly, to using delay and phase locked loops to provide a sequence of clock signals that are accurately phased relative to a master clock signal.


BACKGROUND OF THE INVENTION

Clock signals are used by a wide variety of digital circuits to control the timing of various events occurring during the operation of the digital circuits. For example, clock signals are used to designate when commands and other signals used in computer systems are valid and can thus be used to control the operation of the computer system. A clock signal can then be used to latch the command or other signals so that they can be used after the command or other signals are no longer valid.


The problem of accurately controlling the timing of clock signals for high speed digital circuits is exemplified by clock signals used in high speed dynamic random access memories (“DRAMs”) although the problem is, of course, also applicable to other digital circuits. Initially, DRAMs were asynchronous and thus did not operate at the speed of an external clock. However, since asynchronous DRAMs often operated significantly slower than the clock frequency of processors that interfaced with the DRAM, “wait states” were often required to halt the processor until the DRAM had completed a memory transfer. The operating speed of asynchronous DRAMs was successfully increased through such innovations as burst and page mode DRAMs which did not require that an address be provided to the DRAM for each memory access. More recently, synchronous dynamic random access memories (“SDRAMs”) have been developed to allow the pipelined transfer of data at the clock speed of the motherboard. However, even SDRAMs are incapable of operating at the clock speed of currently available processors. Thus, SDRAMs cannot be connected directly to the processor bus, but instead must interface with the processor bus through a memory controller, bus bridge, or similar device. The disparity between the operating speed of the processor and the operating speed of SDRAMs continues to limit the speed at which processors may complete operations requiring access to system memory.


A solution to this operating speed disparity has been proposed in the form of a computer architecture known as “SyncLink.” In the SyncLink architecture, the system memory is coupled to the processor directly through the processor bus. Rather than requiring that separate address and control signals be provided to the system memory, SyncLink memory devices receive command packets that include both control and address information. The SyncLink memory device then outputs or receives data on a data bus that is coupled directly to the data bus portion of the processor bus.


An example of a packetized memory device using the SyncLink architecture is shown in FIG. 1. The SyncLink memory device 10 includes a clock divider and delay circuit 40 that receives a master or command clock signal on line 42 and generates a large number of other clock and timing signals to control the timing of various operations in the memory device 10. The memory device 10 also includes a command buffer 46 and an address capture circuit 48 which receive an internal clock signal ICLK, a command packet CA0-CA9 on a command bus 50, and a FLAG signal on line 52. As explained above, the command packet contains control and address data for each memory transfer, and the FLAG signal identifies the start of a command packet which may include more than one 10-bit packet word. In fact, a command packet is generally in the form of a sequence of 10-bit packet words on the 10-bit command bus 50. The command buffer 46 receives the command packet from the bus 50, and compares at least a portion of the command packet to identifying data from an ID register 56 to determine if the command packet is directed to the memory device 10 or some other memory device 10 in a computer system. If the command buffer determines that the command is directed to the memory device 10, it then provides a command word to a command decoder and sequencer 60. The command decoder and sequencer 60 generates a large number of internal control signals to control the operation of the memory device 10 during a memory transfer.


The address capture circuit 48 also receives the command words from the command bus 50 and outputs a 20-bit address corresponding to the address data in the command. The address is provided to an address sequencer 64 which generates a corresponding 3-bit bank address on bus 66, a 10-bit row address on bus 68, and a 7-bit column address on bus 70.


One of the problems of conventional DRAMs is their relatively low speed resulting from the time required to precharge and equilibrate circuitry in the DRAM array. The packetized memory device 10 shown in FIG. 1 largely avoids this problem by using a plurality of memory banks 80, in this case eight memory banks 80a-h. After a memory read from one bank 80a, the bank 80a can be precharged while the remaining banks 80b-h are being accessed. Each of the memory banks 80a-h receive a row address from a respective row latch/decoder/driver 82a-h. All of the row latch/decoder/drivers 82a-h receive the same row address from a predecoder 84 which, in turn, receives a row address from either a row address register 86 or a refresh counter 88 as determined by a multiplexer 90. However, only one of the row latch/decoder/drivers 82a-h is active at any one time as determined by bank control logic 94 as a function of bank data from a bank address register 96.


The column address on bus 70 is applied to a column latch/decoder 100 which, in turn, supplies I/O gating signals to an I/O gating circuit 102. The I/O gating circuit 102 interfaces with columns of the memory banks 80a-h through sense amplifiers 104. Data is coupled to or from the memory banks 80a-h through the sense amplifiers 104 and I/O gating circuit 102 to a data path subsystem 108 which includes a read data path 110 and a write data path 112. The read data path 110 includes a read latch 120 receiving and storing data from the I/O gating circuit 102. In the memory device 10 shown in FIG. 1, 64 bits of data are applied to and stored in the read latch 120. The read latch then provides four 16-bit data words to a multiplexer 122. The multiplexer 122 sequentially applies each of the 16-bit data words to a read FIFO buffer 124. Successive 16-bit data words are clocked through the FIFO buffer 124 by a clock signal generated from an internal clock by a programmable delay circuit 126. The FIFO buffer 124 sequentially applies the 16-bit words and two clock signals (a clock signal and a quadrature clock signal) to a driver circuit 128 which, in turn, applies the 16-bit data words to a data bus 130. The driver circuit 128 also applies the clock signals to a clock bus 132 so that a device, such as a processor, reading the data on the data bus 130 can be synchronized with the data.


The write data path 112 includes a receiver buffer 140 coupled to the data bus 130. The receiver buffer 140 sequentially applies 16-bit words from the data bus 130 to four input registers 142, each of which is selectively enabled by a signal from a clock generator circuit 144. Thus, the input registers 142 sequentially store four 16-bit data words and combine them into one 64-bit data word applied to a write FIFO buffer 148. The write FIFO buffer 148 is clocked by a signal from the clock generator 144 and an internal write clock WCLK to sequentially apply 64-bit write data to a write latch and driver 150. The write latch and driver 150 applies the 64-bit write data to one of the memory banks 80a-h through the I/O gating circuit 102 and the sense amplifier 104.


As mentioned above, an important goal of the SyncLink architecture is to allow data transfer between a processor and a memory device to occur at a significantly faster rate. However, the operating rate of a packetized DRAM, including the packetized memory device 10 shown in FIG. 1, is limited by the time required to receive and process command packets applied to the memory device 10. More specifically, not only must the command packets be received and stored, but they must also be decoded and used to generate a wide variety of signals. However, in order for the memory device 10 to operate at a very high speed, the command packets must be applied to the memory device 10 at a correspondingly high speed. As the operating speed of the memory device 10 increases, the command packets are provided to the memory device 10 at a rate that can exceed the rate at which the command buffer 46 can process or even store the command packets.


One of the limiting factors in the speed at which the command buffer 46 can store and process the command packets is control of the relative timing between the command packets and the clock signal ICLK. Both the command data signals and the ICLK signal are delayed relative to receipt of the command packet on the command bus 50 and the master clock signal on line 42. Furthermore, the amount of the delay is highly variable, and it is difficult to control. If the delay of the internal clock signal ICLK cannot be precisely controlled, it may cause the latch in the command buffer 48 to latch invalid command data signals. Thus, the speed at which command packets can be applied to the memory device 10 is limited by the delays in the memory device 10. Similar problems exist for other control signals in the memory device 10 which control the operation of the memory device 10 during each clock cycle.


Although the foregoing discussion is directed to the need for faster command buffers in packetized DRAMs, similar problems exist in other memory devices, such as asynchronous DRAMs and synchronous DRAMs, which must process control and other signals at a high rate of speed. Thus, for the reasons explained above, the limited operating speed of conventional command buffers threatens to severely limit the maximum operating speed of memory devices, particularly packetized DRAMs. Therefore, there is a need to precisely control the timing of clock signals relative to other signals, such as command packets applied to a command buffer in a packetized DRAM.


SUMMARY OF THE INVENTION

In one aspect of the invention, a clock circuit having first and second delay locked loops generates a sequence of clock signals. The first delay locked loop is configured to delay a reference clock signal to have a first phase relationship relative to a master clock signal and the second delay locked loop is configured to delay a plurality of clock signals relative to the reference clock signal. The plurality of clock signals have different respective phases relative to the phase of the reference clock signal.


In another aspect of the invention a clock circuit having first and second delay locked loops generates a sequence of clock signals. The first delay locked loop has a multi-tap adjustable delay circuit configured to generate the sequence of clock signals which are increasingly delayed from a first clock signal to a last clock signal. The first delay locked loop is configured to delay the last clock signal to have a first phase relative to the first clock signal. The second delay locked loop is configured to synchronize the first clock signal to a master clock signal whereby the clock signals in the sequence have different respective phases with respect to the master clock signal.


In another aspect of the invention a clock circuit provides a plurality of clock signals that have predetermined phases relative to a master clock signal. The clock circuit includes first and second adjustable delays and first and second phase detectors. The first adjustable delay, which is adjusted in accordance with a first control signal, is configured to provide a reference clock signal having a delay relative to the master clock signal. The second adjustable delay, which is adjusted in accordance with a second control signal, is configured to provide a plurality of clock signals having different respective delays relative to the reference clock signal. The first phase detector is coupled to the first adjustable delay and is configured to compare the master clock signal and a first one of the plurality of clock signals and generate the first control signal based on a variance from a first phase relationship. The second phase detector is coupled to the second adjustable delay and is configured to compare the first one of the plurality of clock signals and a second one of the plurality of clock signals and generate the second control signal based on a variance from a second phase relationship.





BRIEF DESCRIPTION OF THE DRAWINGS


FIG. 1 is a block diagram of a conventional packetized dynamic random access memory (“DRAM”) that may use a clock generator in accordance with an embodiment of the present invention.



FIG. 2 is a block diagram illustrating the manner in which an embodiment of clock generator in accordance with present invention may be used in a command latch in the packetized DRAM of FIG. 1.



FIG. 3 is a more detailed block diagram and logic diagram of the command latch of FIG. 2 using an embodiment of a clock generator in accordance with present invention.



FIG. 4 is a timing diagram showing many of the waveforms present in the command latch of FIG. 3.



FIG. 5 is a block diagram of a computer system using a plurality of DRAMs, each of which include the command latch of FIG. 3.





DETAILED DESCRIPTION OF THE INVENTION

One embodiment of a command latch 200 using an embodiment of a clock generator 210 in accordance with present invention is illustrated in FIG. 2. The command latch 200 also includes a latch circuit 212 receiving a command data bit CMD DATA from a command packet on a line of the command bus 50. The clock generator 210 receives a master or command clock signal CMD CLK on line 42 and generates the internal clock signal ICLK which is applied to the clock input of the latch circuit 212. The output of the latch circuit 212 is coupled to a variety of circuits in the memory device 10, including a select circuit 214. As explained below, the clock generator 210 produces a sequence of clock signals each having an increased delay relative to the leading edge of the master clock. One of the clock signals in the sequence is selected for use as the internal clock signal ICLK for clocking the latch circuit 212. The clock signal in the sequence for use as ICLK is selected by a multi-bit select word SELECT generated by the select circuit 214. Basically, the select circuit 214 determines which of the clock signals in the sequence has the proper timing to match the delay of the command data from the command bus 50 to the input of the latch circuit 212. The select circuit 214 then applies an appropriate SELECT word to the clock generator 210 to use the selected clock signal in the sequence as the internal clock signal ICLK.


A variety of designs may be used for the select circuit 214, as will be apparent to one skilled in the art. For example, a plurality of very short logic “1” pulses may be applied to the command bus line 50 in synchronism with the command clock signal CMD CLK. The select circuit 214 can then select each of the clock signals in the sequence and determine which clock signal(s) are able to capture the logic “1” pulses. If several clock signals are successful in capturing the logic “1” pulses, then the clock signal occurring midway between the successful clock signals can be used as the internal clock signal ICLK.


The command latch 200, including one embodiment of a clock generator 210 in accordance with the present invention, is shown in greater detail in FIG. 3. The latch 212 is illustrated in FIG. 3 as consisting of a receiver buffer 240 receiving a respective one of 10 bits of the command data CMD DATA. The output of the receiver buffer 240 is applied to the data input D of a latch circuit 242. The latch circuit 242 latches or stores the logic level applied to its D input whenever a clock signal applied to its clock C input goes high. The stored logic level is then continuously applied to the output of the latch circuit 242. Although a single receiver buffer 240 and latch circuit 242 are shown in FIG. 3, it will be understood that there are actually 10 receiver buffers 240 and latch circuits 242 to store the 10 bits of the command data on the command bus 50.


As explained above, it is very difficult to clock the latch circuit 242 at the proper time at the maximum speed of the command latch 200 because delays of the CMD DATA from the command bus 50 to the latch circuit 242 may not be equal to delays of the CMD CLK from the line 42 to the clock input of the latch circuit 242. Also, of course, unequal delays external to an integrated circuit containing the command latch 200 may cause the CMD CLK and the CMD DATA to be applied to the integrated circuit at different times. The function of the clock generator 210 is to provide an internal clock signal ICLK to the clock input of the latch circuit 242 that is capable of storing a command data bit at even the fastest operating speed of the command latch 200 despite any unequal internal or external delays that would cause the command bit and ICLK to be coupled to the latch circuit 242 at different times. However, it will be understood that the clock generator 210 may be used for other purposes both in dynamic random access memories and in other circuits.


The master or command clock CMD CLK is coupled from line 42 through a receiver buffer 250 substantially identical to the receiver buffer 240 coupling a command data bit to the latch circuit 242. The output of the receiver buffer 250 is applied to a conventional voltage controlled delay circuit 252 and to one input of a phase detector 254. The voltage controlled delay circuit 252 couples the output of the receiver buffer 250 to an output line 256 with a delay that is a function of a control signal applied to the delay circuit 252 on line 258. Although the control signal on line 258 is an analog voltage, it will be understood that other types of control signals, including digital words, may alternatively be used. The output of the voltage controlled delay circuit 252 is applied to a multi-tap voltage controlled delay line 260.


The multi-tap voltage controlled delay line 260 couples the clock signal applied to its input on line 256 to a plurality of output lines 264a-264n. The incoming clock signal is coupled to the output lines 264 with an increasing delay from the first line 264a to the last line 264n. In the embodiment illustrated in FIG. 3, there are 17 output lines 264, but the delay line 260 may have a greater or lesser number of output lines 264. When a delay locked loop that includes the delay line 260 is locked as explained below, the signals at the first output line 264a and the last or 17th output line 264n are the inverse of each other, i.e., phased 180 degrees from each other. Thus, the signals on the 17 lines are delayed by 11.25 degrees more than the signal coupled to the previous line 264. Thus, the first line 264a has a relative phase of zero degrees, the 16th line 264n-1 has a phase of 168.75 degrees and the last line 264n has a phase of 180 degrees. More specifically, a control voltage applied to the delay line 260 through line 270 is adjusted so that the phase of the signal on the last line 264n relative to the phase on the first line 264a is 180 degrees. This is accomplished by applying the first line 264a and the last line 264n to respective inputs of a phase detector 272.


As mentioned above, the delay line 260 and phase detector 272 implement a first delay locked loop. When the first delay locked loop is locked, the signal on line 264n will have a phase relative to the phase of the signal on line 264a of 180 degrees. Therefore, as mentioned above, the signal on each of the output lines 264a-264n will sequentially increase from zero degrees to 180 degrees. Although the signals on lines 264a-n are equally phased apart from each other, it will be understood that equal phasing is not required.


The clock generator 210 also includes a second delay locked loop formed by the phase detector 254, the voltage controlled delay circuit 252 and the voltage controlled delay line 260. More particularly, the last output line 264n of the delay line 260 is applied through a simulated multiplexer circuit 290 and a clock driver 292 to one input of the phase detector 254. It will be recalled that the other input of the phase detector 254 receives the output of the receiver buffer 250. Like the phase detector 272, when the second delay locked loop is locked, the signals applied to the phase detector 254 are the inverse of each other. Thus, when the second loop is locked, the phase of the signal at the output of the clock driver 292 is 540 degrees (effectively 180 degrees) relative to the phase of the signal at the output of the receiver buffer 250.


The remaining output lines 264a-264n-1 of the delay line 260 are coupled to a multiplexer 310 having a plurality of output lines coupled to respective clock drivers 312a-n. The multiplexer 310 couples the input of each of the clock drivers 312a-n to any one of the output lines 264a-264n-1 as determined by respective select words SELECT. The clock driver 312a is used to generate the internal clock signal ICLK which is coupled to the clock input of the latch circuit 242. The other clock drivers 312b-n are used to couple various clock outputs from the delay line to other circuits in the memory device (not shown).


The phase detectors 254, 272 are each implemented using to a phase detector circuit 330, a charge pump 332 and a capacitor 334. However, other varieties of phase detectors may alternatively be used.


The phase detector circuit 330 applies either an increase signal on line 336 or a decrease signal on line 338 to respective inputs of the charge pump 332. The phase detector circuit 330 generates the increase signal on line 336 whenever the phase of a first signal on one of its inputs relative to a second signal on the other of its inputs is less than 180 degrees. As explained below, the increase signal on line 336 causes the charge pump 332 to adjust the control voltage to increase the delay of the first signal so that the phase of the first signal relative to the phase of the second signal approaches 180 degrees. The phase detector circuit 330 generates the decrease signal on line 338, in the opposite condition, i.e., when the phase of the second signal relative to the first signal is greater than 180 degrees. The decrease signal on line 338 causes the charge pump 332 to adjust the control voltage to reduce the delay of second signal toward 180 degrees.


Although the phase detector circuit 330 may be implemented in a variety of ways, it may simply use two set-reset flip-flops (not shown) for generating the increase and decrease signals, respectively. The increase flip-flop is set by the rising edge of the first signal on one of the inputs and reset by the falling edge of the second signal on the other input. Thus, the duration that the flip-flop is set, and hence the duration of the increase signal on line 336, corresponds to the period of time that the second signal must be further delayed to have a phase of 180 degrees relative to the phase of the first signal. Similarly, the flip-flop producing the decrease signal on line 338 is set by the falling edge of the second signal and reset by the rising edge of the first signal so that the duration of the decrease signal on line 338 corresponds to the time that the second signal is delayed beyond the time that it would have a phase of 180 degrees relative to the phase of the first signal.


There are also a variety of approaches for implementing the charge pump 332. However, the charge pump 332 can be implemented by simply applying a constant current to the capacitor 334 for the duration of each increase signal on line 336 and removing a constant current from the capacitor 334 for the duration of each decrease signal on line 338. Appropriate circuitry could also be included in either the phase detector circuit 330 or the charge pump 332 to provide hysteresis in a band when the first and second signals have relative phases of approximately 180 degrees from each other as will be apparent to one skilled in the art. The operation of the command latch 200 of FIG. 3 can best be explained with reference to the timing diagram of FIG. 4. As illustrated in FIG. 4, the command clock signal CMD CLK on line 42 is delayed by approximately 70 degrees in passing through the receiver buffer 250 to node A (FIG. 3). Assuming that both of the delay-lock loops are locked, the signal at the output of the receiver buffer 250 is delayed by 120 degrees in passing through the voltage controlled delay circuit 252 to node B. The signal on node B is then coupled to node C with a delay of another 120 degrees and to node D with a delay of 300 degrees so that the signals at nodes C and D are phased 180 degrees apart from each other. Since the signals at nodes C and D are compared to each other by the phase detector 272, the phase detector 272 adjusts the control voltage on line 270 to ensure that the signals at nodes C and D are phased 180 degrees from each other. The other outputs from the delay line 260 have phases relative to the phase of the signal at node C that increase 11.25 degrees for each output in sequence from the first line 264a to the last line 264n.


As mentioned above, one of the first 16 output lines 264a-264n-1 of the delay lines 260 is coupled through the multiplexer 310 and the clock driver 312a to provide the internal clock signal ICLK at node E. In passing through the multiplexer 310 and the clock driver 312a, the selected output from the delay line is delayed by another 120 degrees. Thus, the signal Eo coupled from the first output line of the delay line 260 is delayed by 120 degrees, the signal E4 from the fifth output is delayed by 165 degrees, the signal E8 from the ninth output is delayed by 210 degrees, the signal E12 from the 13th output is delayed by 255 degrees, and the signal E15 from the 16th output is delayed by 288.75 degrees. Although the output signals are coupled from the delay line 260 through the multiplexer 310 and clock driver 312a with a delay, that delay is matched by the coupling of the signal from line 264n through the simulated multiplexer 290 and clock driver 292 since the same circuit is used for the simulated multiplexer 290 as the multiplexer 310 and the clock driver 292 is identical to the clock driver 312a. For this reason, and because the phase of the signal on line 264n is 180 degrees relative to the phase of the signal on line 264a, the signal at the output of the clock driver 292 at node G has a phase relative to the phase of the signal Eo at the output of the clock 312a of 180 degrees. Since the signals applied to the inputs of the phase detector 254 are the inverse of each other when the delay-locked loop is locked, the signal Eo has substantially the same phase as the signal at the output of the receiver buffer 250. Furthermore, the delay of the voltage controlled delay circuit 252 will be adjusted so that the signal Eo always has the same phase as the command clock coupled to the output of the receiver buffer 250 at A. Assuming the CMD DATA is valid on the rising edge of the CMD CLK signal, the command data bit coupled to the latch circuit 242 is valid on the rising edge of ICLK since ICLK is properly phased to the signal at node A and the delay through the receiver buffer 250 is substantially the same as the delay through the receiver buffer 240.


In operation, the multiplexer 310 selects one of the outputs from the delay line 260 as determined by the SELECT signal so that the optimum clock signal between Eo and E15 (FIG. 4) will be used as the internal clock ICLK.


In summary, the “inner” delay locked loop formed by the phase detector 272 and the voltage controlled delay circuit 260 generates a sequence of signals that have increasing phases from zero to 180 degrees. The “outer” delay locked loop formed by the phase detector 254, the voltage controlled delay circuit 252 and the delay line 260 align one of the clock signals in the sequence to the command clock. As a result, all of the clock signals at the output of the delay line 260 have respective predetermined phases relative to the phase of the command clock at node A.


Although the embodiment of the clock generator 210 illustrated in FIG. 3 uses delay-locked loops, it will be understood that other locked loop circuits, such as phase-locked loop circuits, may also be used. Other modifications will also be apparent to one skilled in the art.


A computer system using the command latch 200 of FIGS. 2 and 3 in each of a plurality of packetized DRAMs 10 of FIG. 1 is shown in FIG. 5. With reference to FIG. 5 the computer system 400 includes a processor 402 having a processor bus 404 coupled to three packetized dynamic random access memory or SyncLink DRAMs (“SLDRAM”) 10a-c. The computer system 400 also includes one or more input devices 4100, such as a keypad or a mouse, coupled to the processor 402 through a bus bridge 412 and an expansion bus 414, such as an industry standard architecture (“ISA”) bus or a Peripheral component interconnect (“PCI”) bus. The input devices 410 allow an operator or an electronic device to input data to the computer system 400. One or more output devices 420 are coupled to the processor 402 to display or otherwise output data generated by the processor 402. The output devices 420 are coupled to the processor 402 through the expansion bus 414, bus bridge 412 and processor bus 404. Examples of output devices 420 include printers and video display units. One or more data storage devices 422 are coupled to the processor 402 through the processor bus 404, bus bridge 412, and expansion bus 414 to store data in or retrieve data from storage media (not shown). Examples of storage devices 422 and storage media include fixed disk drives floppy disk drives, tape cassettes and compact-disk read-only memory drives.


In operation, the processor 402 communicates with the memory devices 10a-c via the processor bus 404 by sending the memory devices 10a-c command packets that contain both control and address information. Data is coupled between the processor 402 and the memory devices 10a-c, through a data bus portion of the processor bus 404. Although all the memory devices 10a-c are coupled to the same conductors of the processor bus 404, only one memory device 10a-c at a time reads or writes data, thus avoiding bus contention on the processor bus 404. Bus contention is avoided by each of the memory devices 10a-c and the bus bridge 412 having a unique identifier, and the command packet contains an identifying code that selects only one of these components.


The computer system 400 also includes a number of other components and signal lines which have been omitted from FIG. 5 in the interests of brevity. For example, as explained above, the memory devices 10a-c also receive a command or master clock signal to provide internal timing signals, a data clock signal clocking data into and out of the memory device 16, and a FLAG signal signifying the start of a command packet.


From the foregoing it will be appreciated that, although specific embodiments of the invention have been described herein for purposes of illustration, various modifications may be made without deviating from the spirit and scope of the invention. Accordingly, the invention is not limited except as by the appended claims.

Claims
  • 1. A clock circuit for generating a sequence of clock signals, comprising: a first delay locked loop having a multi-tap adjustable delay circuit and a phase detector, the multi-tap adjustable delay circuit having an input clock node to receive a reference clock signal and a control node to receive a control signal and configured to generate the sequence of clock signals which are increasingly delayed from a first clock signal to a last clock signal by delaying the reference clock signal by respective delays that are a function of the control signal, the phase detector configured to compare the phase of the first and last clock signals and generate the control signal as a function of a phase relationship therebetween, the phase detector including a charge pump and configured to generate a first signal in response to a first-type of clock edge of the last clock signal lagging a second-type of clock edge of the first clock signal and generate a second signal in response to the first-type of clock edge of the last clock signal leading the second-type of clock edge of the first clock signal, the phase detector further configured to generate as the control signal a voltage that increases toward one polarity responsive to the first signal and toward the opposite polarity responsive to the second signal, the first delay locked loop configured to delay the last clock signal to have a first phase relative to the first clock signal; anda second delay locked loop configured to synchronize the first clock signal to a master clock signal whereby the clock signals in the sequence have different respective phases with respect to the master clock signal.
  • 2. The clock circuit of claim 1 wherein the first delay locked loop is configured to delay the last clock signal to have be 180 degrees out of phase with the first clock signal.
  • 3. The clock circuit of claim 1 wherein the multi-tap adjustable delay circuit is configured to increasingly delay the clock signals in the sequence in equal increments from the first clock signal to the last clock signal to provide adjacent clock signals in the sequence having respective phases that are equally spaced from each other.
  • 4. The clock circuit of claim 1, further comprising a multiplexer configured to select one of the clock signals and provide the same a clock output terminal.
  • 5. The clock circuit of claim 1 wherein the second delay locked loop comprises: a phase detector to compare the phase of the master clock signal to the phase of the last clock signal and generate a control signal as a function of a phase relationship therebetween;an adjustable delay coupled to the phase detector and having an input clock node to receive the master clock signal and further having a control node to receive the control signal, the adjustable delay configured to provide the reference clock signal having a delay relative to the master clock signal that is a function of a control signal.
  • 6. The clock circuit of claim 5 wherein the phase detector includes a charge pump and the phase detector is configured to generate a first signal in response to a first-type of clock edge of the last clock signal lagging a second-type of clock edge of the master clock signal and generate a second signal in response to the first-type of clock edge of the last clock signal leading the second-type of clock edge of the master clock signal, the phase detector further configured to generate as the control signal a voltage that increases toward one polarity responsive to the first signal and toward the opposite polarity responsive to the second signal.
  • 7. A clock circuit for providing a plurality of clock signals that have predetermined phases relative to a master clock signal, the clock circuit comprising: a first adjustable delay configured to provide a reference clock signal having a delay relative to the master clock signal, the first adjustable delay adjusted in accordance with a first control signal;a second adjustable delay configured to provide a plurality of clock signals having different respective delays relative to the reference clock signal, the second adjustable delay adjusted in accordance with a second control signal;a first phase detector coupled to the first adjustable delay and configured to compare the master clock signal and a first one of the plurality of clock signals and generate an enable signal in response to a variance from a first phase relationship due to a greater delay than needed to provide the first phase relationship, the first phase detector further configured to generate as the first control signal a voltage that increases toward one polarity responsive to the enable signal and toward the opposite polarity responsive to the absence of the enable signal; anda second phase detector coupled to the second adjustable delay and configured to compare the first one of the plurality of clock signals and a second one of the plurality of clock signals and generate the second control signal based on a variance from a second phase relationship.
  • 8. The clock circuit of claim 7 wherein the first and second phase relationships are the same.
  • 9. The clock circuit of claim 8 wherein the first and second phase relationships are 180 degrees out of phase.
  • 10. The clock circuit of claim 7 wherein the first and second phase relationships provide that the second one of the plurality of clock signals and the master clock signal are in phase.
  • 11. The clock circuit of claim 7 wherein the reference clock signal having a phase relative to the master clock signal is one of the plurality of clock signals produced.
  • 12. The clock circuit of claim 7 wherein the second phase detector is configured to generate an enable signal in response to the variance from the second phase relationship due to a greater delay than needed to provided the second phase relationship and further configured to generate as the second control signal a voltage that increases toward one polarity responsive to the enable signal and toward the opposite polarity responsive to the absence of the enable signal.
  • 13. The clock circuit of claim 7 wherein the second adjustable delay is configured to provide N clock signals, the phase of each of the clock signals relative to the phase of the master clock signal is [M/N]*180 degrees, where M=0, 1, . . . N.
  • 14. The clock circuit of claim 7, further comprising a multiplexer configured to select one of the plurality of clock signals and couple the selected clock signal to a clock output terminal.
  • 15. A clock circuit for providing a plurality of clock signals that have predetermined phases relative to a master clock signal, the clock circuit comprising: a first adjustable delay configured to provide a reference clock signal having a delay relative to the master clock signal, the first adjustable delay adjusted in accordance with a first control signal;a second adjustable delay configured to provide a plurality of clock signals having different respective delays relative to the reference clock signal, the second adjustable delay adjusted in accordance with a second control signal;a first phase detector coupled to the first adjustable delay and configured to compare the master clock signal and a first one of the plurality of clock signals and generate a variance from a first phase relationship; anda second phase detector coupled to the second adjustable delay and configured to compare the first one of the plurality of clock signals and a second one of the plurality of clock signals and generate an enable signal in response to the variance from the second phase relationship due to a greater delay than needed to provided the second phase relationship, the second phase detector further configured to generate as the second control signal a voltage that increases toward one polarity responsive to the enable signal and toward the opposite polarity responsive to the absence of the enable signal.
  • 16. The clock circuit of claim 15 wherein the first and second phase relationships are the same.
  • 17. The clock circuit of claim 16 wherein the first and second phase relationships are 180 degrees out of phase.
  • 18. The clock circuit of claim 15 wherein the first and second phase relationships provide that the second one of the plurality of clock signals and the master clock signal are in phase.
  • 19. The clock circuit of claim 15 wherein the reference clock signal having a phase relative to the master clock signal is one of the plurality of clock signals produced.
  • 20. The clock circuit of claim 15 wherein the second adjustable delay is configured to provide N clock signals, the phase of each of the clock signals relative to the phase of the master clock signal is [M/N]*180 degrees, where M=0, 1, . . . N.
  • 21. The clock circuit of claim 15, further comprising a multiplexer configured to select one of the plurality of clock signals and couple the selected clock signal to a clock output terminal.
CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No. 09/758,970, filed Jan. 9, 2001, now U.S. Pat. No. 6,954,097 which is a continuation of U.S. patent application Ser. No. 08/879,847, filed Jun. 20, 1997, issued Jan. 9, 2001 as U.S. Pat. No. 6,173,432 B1.

US Referenced Citations (263)
Number Name Date Kind
3633174 Griffin Jan 1972 A
4004100 Takimoto Jan 1977 A
4077016 Sanders et al. Feb 1978 A
4096402 Schroeder et al. Jun 1978 A
4404474 Dingwall Sep 1983 A
4481625 Roberts et al. Nov 1984 A
4508983 Allgood et al. Apr 1985 A
4511846 Nagy et al. Apr 1985 A
4514647 Shoji Apr 1985 A
4524448 Hullwegen Jun 1985 A
4573017 Levine Feb 1986 A
4600895 Landsman Jul 1986 A
4603320 Farago Jul 1986 A
4638187 Boler et al. Jan 1987 A
4638451 Hester et al. Jan 1987 A
4687951 McElroy Aug 1987 A
4697167 O'Keeffe et al. Sep 1987 A
4727541 Mori et al. Feb 1988 A
4740962 Kish, III Apr 1988 A
4746996 Furuhata et al. May 1988 A
4773085 Cordell Sep 1988 A
4789796 Foss Dec 1988 A
4791622 Clay et al. Dec 1988 A
4818995 Takahashi et al. Apr 1989 A
4893087 Davis Jan 1990 A
4902986 Lesmeister Feb 1990 A
4924516 Bremer et al. May 1990 A
4953128 Kawai et al. Aug 1990 A
4958088 Farah-Bakhsh et al. Sep 1990 A
4972470 Farago Nov 1990 A
4979185 Bryans et al. Dec 1990 A
4984204 Sato et al. Jan 1991 A
4984255 Davis et al. Jan 1991 A
5020023 Smith May 1991 A
5038115 Myers et al. Aug 1991 A
5062082 Choi Oct 1991 A
5075569 Branson Dec 1991 A
5086500 Greub Feb 1992 A
5087828 Sato et al. Feb 1992 A
5113519 Johnson et al. May 1992 A
5120990 Koker Jun 1992 A
5122690 Bianchi Jun 1992 A
5128560 Chern et al. Jul 1992 A
5128563 Hush et al. Jul 1992 A
5130565 Girmay Jul 1992 A
5134311 Biber et al. Jul 1992 A
5150186 Pinney et al. Sep 1992 A
5165046 Hesson Nov 1992 A
5168199 Huffman et al. Dec 1992 A
5179298 Hirano et al. Jan 1993 A
5182524 Hopkins Jan 1993 A
5194765 Dunlop et al. Mar 1993 A
5212601 Wilson May 1993 A
5220208 Schenck Jun 1993 A
5223755 Richley Jun 1993 A
5229929 Shimizu et al. Jul 1993 A
5233314 McDermott et al. Aug 1993 A
5233564 Ohshima et al. Aug 1993 A
5239206 Yanai Aug 1993 A
5243703 Farmwald et al. Sep 1993 A
5254883 Horowitz et al. Oct 1993 A
5256989 Parker et al. Oct 1993 A
5257294 Pinto et al. Oct 1993 A
5268639 Gasbarro et al. Dec 1993 A
5272729 Bechade et al. Dec 1993 A
5274276 Casper et al. Dec 1993 A
5276642 Lee Jan 1994 A
5278460 Casper Jan 1994 A
5281865 Yamashita et al. Jan 1994 A
5283631 Koerner et al. Feb 1994 A
5289580 Latif et al. Feb 1994 A
5295164 Yamamura Mar 1994 A
5304952 Quiet et al. Apr 1994 A
5311481 Casper et al. May 1994 A
5311483 Takasugi May 1994 A
5313431 Uruma et al. May 1994 A
5315269 Fujii May 1994 A
5315388 Shen et al. May 1994 A
5321368 Hoelzle Jun 1994 A
5337285 Ware et al. Aug 1994 A
5341405 Mallard, Jr. Aug 1994 A
5347177 Lipp Sep 1994 A
5347179 Casper et al. Sep 1994 A
5355391 Horowitz et al. Oct 1994 A
5361002 Casper Nov 1994 A
5367649 Cedar Nov 1994 A
5379299 Schwartz Jan 1995 A
5390308 Ware et al. Feb 1995 A
5400283 Raad Mar 1995 A
5402389 Flannagan et al. Mar 1995 A
5408640 MacIntyre et al. Apr 1995 A
5410263 Waizman Apr 1995 A
5416436 Rainard May 1995 A
5416909 Long et al. May 1995 A
5420544 Ishibashi May 1995 A
5424687 Fukuda Jun 1995 A
5428311 McClure Jun 1995 A
5428317 Sanchez et al. Jun 1995 A
5430408 Ovens et al. Jul 1995 A
5430676 Ware et al. Jul 1995 A
5432823 Gasbarro et al. Jul 1995 A
5438545 Sim Aug 1995 A
5440260 Hayashi et al. Aug 1995 A
5440514 Flannagan et al. Aug 1995 A
5444667 Obara Aug 1995 A
5446696 Ware et al. Aug 1995 A
5448193 Baumert et al. Sep 1995 A
5451898 Johnson Sep 1995 A
5457407 Shu et al. Oct 1995 A
5463337 Leonowich Oct 1995 A
5465076 Yamauchi et al. Nov 1995 A
5473274 Reilly et al. Dec 1995 A
5473575 Farmwald et al. Dec 1995 A
5473639 Lee et al. Dec 1995 A
5485490 Leung et al. Jan 1996 A
5488321 Johnson Jan 1996 A
5489864 Ashuri Feb 1996 A
5497127 Sauer Mar 1996 A
5497355 Mills et al. Mar 1996 A
5498990 Leung et al. Mar 1996 A
5500808 Wang Mar 1996 A
5502672 Kwon Mar 1996 A
5506814 Hush et al. Apr 1996 A
5508638 Cowles et al. Apr 1996 A
5513327 Farmwald et al. Apr 1996 A
5515403 Sloan et al. May 1996 A
5532714 Knapp et al. Jul 1996 A
5539345 Hawkins Jul 1996 A
5544124 Zagar et al. Aug 1996 A
5544203 Casasanta et al. Aug 1996 A
5550515 Liang et al. Aug 1996 A
5550549 Procter, Jr. et al. Aug 1996 A
5550783 Stephens, Jr. et al. Aug 1996 A
5552727 Nakao Sep 1996 A
5555429 Parkinson et al. Sep 1996 A
5557224 Wright et al. Sep 1996 A
5557781 Stones et al. Sep 1996 A
5563546 Tsukada Oct 1996 A
5568075 Curran et al. Oct 1996 A
5568077 Sato et al. Oct 1996 A
5572557 Aoki Nov 1996 A
5572722 Vogley Nov 1996 A
5574698 Raad Nov 1996 A
5576645 Farwell Nov 1996 A
5577079 Zenno et al. Nov 1996 A
5577236 Johnson et al. Nov 1996 A
5578940 Dillon et al. Nov 1996 A
5578941 Sher et al. Nov 1996 A
5579326 McClure Nov 1996 A
5581197 Motley et al. Dec 1996 A
5589788 Goto Dec 1996 A
5590073 Arakawa et al. Dec 1996 A
5594690 Rothenberger et al. Jan 1997 A
5610558 Mittel et al. Mar 1997 A
5614855 Lee et al. Mar 1997 A
5619473 Hotta Apr 1997 A
5621340 Lee et al. Apr 1997 A
5621690 Jungroth et al. Apr 1997 A
5621739 Sine et al. Apr 1997 A
5623523 Gehrke Apr 1997 A
5627780 Malhi May 1997 A
5627791 Wright et al. May 1997 A
5631872 Naritake et al. May 1997 A
5636163 Furutani et al. Jun 1997 A
5636173 Schaefer Jun 1997 A
5636174 Rao Jun 1997 A
5638335 Akiyama et al. Jun 1997 A
5644743 Barrett, Jr. et al. Jul 1997 A
5646904 Ohno et al. Jul 1997 A
5652530 Ashuri Jul 1997 A
5657289 Hush et al. Aug 1997 A
5657481 Farmwald et al. Aug 1997 A
5663921 Pascucci et al. Sep 1997 A
5666313 Ichiguchi Sep 1997 A
5666322 Conkle Sep 1997 A
5668763 Fujioka et al. Sep 1997 A
5668774 Furutani Sep 1997 A
5673005 Pricer Sep 1997 A
5675274 Kobayashi et al. Oct 1997 A
5675588 Maruyama et al. Oct 1997 A
5692165 Jeddeloh et al. Nov 1997 A
5694065 Hamasaki et al. Dec 1997 A
5708611 Iwamoto et al. Jan 1998 A
5712580 Baumgartner et al. Jan 1998 A
5712883 Miller et al. Jan 1998 A
5719508 Daly Feb 1998 A
5737342 Ziperovich Apr 1998 A
5740123 Uchida Apr 1998 A
5751665 Tanoi May 1998 A
5764092 Wada et al. Jun 1998 A
5767715 Marquis et al. Jun 1998 A
5768177 Sakuragi Jun 1998 A
5774699 Nagae Jun 1998 A
5778214 Taya et al. Jul 1998 A
5781499 Koshikawa Jul 1998 A
5784422 Heermann Jul 1998 A
5789947 Sato Aug 1998 A
5790612 Chengson et al. Aug 1998 A
5794020 Tanaka et al. Aug 1998 A
5805931 Morzano et al. Sep 1998 A
5812619 Runaldue Sep 1998 A
5822314 Chater-Lea Oct 1998 A
5831545 Murray et al. Nov 1998 A
5831929 Manning Nov 1998 A
5841707 Cline et al. Nov 1998 A
5852378 Keeth Dec 1998 A
5872959 Nguyen et al. Feb 1999 A
5889828 Miyashita et al. Mar 1999 A
5889829 Chiao et al. Mar 1999 A
5898242 Peterson Apr 1999 A
5898674 Mawhinney et al. Apr 1999 A
5909130 Martin et al. Jun 1999 A
5917760 Millar Jun 1999 A
5920518 Harrison et al. Jul 1999 A
5926047 Harrison Jul 1999 A
5926436 Toda et al. Jul 1999 A
5940608 Manning Aug 1999 A
5940609 Harrison Aug 1999 A
5945855 Momtaz Aug 1999 A
5946244 Manning Aug 1999 A
5953284 Baker et al. Sep 1999 A
5953386 Anderson Sep 1999 A
5964884 Partovi et al. Oct 1999 A
5990719 Dai et al. Nov 1999 A
6005694 Liu Dec 1999 A
6005823 Martin et al. Dec 1999 A
6011732 Harrison et al. Jan 2000 A
6011822 Dreyer Jan 2000 A
6016282 Keeth Jan 2000 A
6023489 Hatch Feb 2000 A
6026050 Baker et al. Feb 2000 A
6026134 Duffy et al. Feb 2000 A
6029250 Keeth Feb 2000 A
6038219 Mawhinney et al. Mar 2000 A
6067592 Farmwald et al. May 2000 A
6072802 Uhm et al. Jun 2000 A
6087857 Wang Jul 2000 A
6101152 Farmwald et al. Aug 2000 A
6101197 Keeth et al. Aug 2000 A
6105157 Miller Aug 2000 A
6115318 Keeth Sep 2000 A
6119242 Harrison Sep 2000 A
6125157 Donnelly et al. Sep 2000 A
6147905 Seino Nov 2000 A
6147916 Ogura Nov 2000 A
6160423 Haq Dec 2000 A
6173432 Harrison Jan 2001 B1
6253360 Yoshiba Jun 2001 B1
6262921 Manning Jul 2001 B1
6269451 Mullarkey Jul 2001 B1
6285726 Gaudet Sep 2001 B1
6295328 Kim et al. Sep 2001 B1
6298450 Liu et al. Oct 2001 B1
6327196 Mullarkey Dec 2001 B1
6338127 Manning Jan 2002 B1
6378079 Mullarkey Apr 2002 B1
6438043 Gans et al. Aug 2002 B2
6442644 Gustavson et al. Aug 2002 B1
6484244 Manning Nov 2002 B1
6499111 Mullarkey Dec 2002 B2
6580531 Swanson et al. Jun 2003 B1
6665222 Wright et al. Dec 2003 B2
6694496 Goslin et al. Feb 2004 B2
Foreign Referenced Citations (24)
Number Date Country
0 171 720 Feb 1986 EP
0 295 515 Dec 1988 EP
0 406 786 Jan 1991 EP
0 450 871 Oct 1991 EP
0 476 585 Mar 1992 EP
0 655 741 May 1995 EP
0 655 834 May 1995 EP
0 680 049 Nov 1995 EP
0 703 663 Mar 1996 EP
0 704 848 Apr 1996 EP
0 704 975 Apr 1996 EP
0 767 538 Apr 1997 EP
6-1237512 Oct 1986 JP
2-112317 Apr 1990 JP
4-135311 May 1992 JP
5-136664 Jun 1993 JP
5-282868 Oct 1993 JP
0-7319577 Dec 1995 JP
WO9429871 Dec 1994 WO
WO9522200 Aug 1995 WO
WO9522206 Aug 1995 WO
WO9610866 Apr 1996 WO
WO9714289 Apr 1997 WO
WO9742557 Nov 1997 WO
Related Publications (1)
Number Date Country
20050249028 A1 Nov 2005 US
Continuations (2)
Number Date Country
Parent 09758970 Jan 2001 US
Child 11182965 US
Parent 08879847 Jun 1997 US
Child 09758970 US