|Publication number||US7706996 B2|
|Application number||US 11/735,394|
|Publication date||Apr 27, 2010|
|Filing date||Apr 13, 2007|
|Priority date||Apr 21, 2006|
|Also published as||US20070277071|
|Publication number||11735394, 735394, US 7706996 B2, US 7706996B2, US-B2-7706996, US7706996 B2, US7706996B2|
|Inventors||Yan Chong, Chiakang Sung, Joseph Huang, Michael H. M. Chu|
|Original Assignee||Altera Corporation|
|Export Citation||BiBTeX, EndNote, RefMan|
|Patent Citations (64), Non-Patent Citations (1), Referenced by (1), Classifications (13), Legal Events (2)|
|External Links: USPTO, USPTO Assignment, Espacenet|
This application claims the benefit of U.S. Provisional Application No. 60/793864 filed Apr. 21, 2006, entitled “Write-Side Calibration,” by Yan Chong et al., the disclosure of which is incorporated herein by reference in its entirety.
This application is related to U.S. provisional patent application No. 60/793,838 filed Apr. 21, 2006, entitled “A Read Side Calibration Scheme to Improve Read Timing Margin for External Memory Interface Applications in FPGA Devices,” by Yan Chong et al.; to concurrently filed and commonly owned U.S. patent application No. 11/735,386 filed Apr. 13, 2007, now U.S. Pat. No. 7,509,223, entitled “Read-Side Calibration for Data Interface” by Yan Chong et al.; and to concurrently filed and commonly owned U.S. patent application No. 11/735,401 filed Apr. 13, 2007, now U.S. Pat. No. 7,525,360, entitled “I/O Duty Cycle and Skew Control”, by Xiaobao Wang et al., which are incorporated by reference for all purposes.
The present invention relates to high-speed data interfaces, and more particularly to reducing skew between outputs provided by high-speed data interfaces.
The demand for higher speed data interfaces has increased dramatically the past few years, and this increase shows no signs of abating. As an example, huge amounts of data must be transferred from memory devices to other integrated circuits for such applications as music and video playback, image processing, graphics, and others. Many of these demanding applications run on advanced field programmable gate arrays (FPGAs) such as those developed by Altera Corporation of San Jose, Calif.
New interface techniques, such as Double data rate (DDR) and others, have been developed to support these data rates. In a DDR interface, data is read on each (rising and falling) edge of a strobe or clock signal. Output signals for DDR memory interfaces include a data strobe (DQS) signal that is transmitted along with a group of data (DQ) signals that are captured or received by a receiver on a second interface. Typically, when data is being transmitted from the FPGA (i.e. data is being written), the DQS signal is center aligned with the data signals to ensure accurate receipt of the data.
Since data is read on each edge of the DQS signal, the timing margins at these interfaces are greatly reduced. For future DDR memory devices that target the 800 Mbs to 1 Gbs data rate ranges, the timing budget left for errors caused by the memory controller becomes quite demanding. This demand places a strict burden on the FPGA transmitting circuitry, and may be compounded by environmental effects on the device during operation. To improve this write timing margin and center alignment of the DQS signal with the data signals, it is important to reduce skew between the signals.
Accordingly, what is needed are circuits, methods, and apparatus that reduce skew among signals being transmitted at a data interface. For example, what is needed are circuits, methods, and apparatus that reduce skew among the DQ and DQS signals at a data interface, such as a data interface on an FPGA device.
Accordingly, embodiments of the present invention provide circuits, methods and apparatus that reduce skew among signals being provided or transmitted by a data interface. Signal path delays are varied such that signals transmitted by a memory interface are calibrated or aligned with each other along a rising and/or falling edge. In one aspect, self-calibration circuitry provides post-manufacturing skew adjustment of each output channel by determining one or more delays in each output channel path. The rising or falling edges may be used for this initial alignment. In another aspect, both edges of the output signals may be aligned independently by the calibration circuitry or by external circuitry or other methods. An edge alignment may be accomplished with delays that are edge specific.
According to one exemplary embodiment, a circuit includes control circuitry that sends a first test signal to a plurality of output channels. Each channel has an output timing device for receiving the test signal and one or more channel delays between the output timing device and an output pad. A channel also has a calibration timing device that receives a channel signal from the channel delays and outputs a signal to the control circuitry. The clock signal that triggers the output timing device is delayed by one or more clock delays, and the resulting delayed clock signal triggers the calibration timing device. The channel delays and the clock delays are programmable via one or more delay control signals from the control circuitry.
For each output channel, the control circuitry performs a skew adjustment by determining a relative timing between the channel signal and clock signal at the calibration timing device, where the relative timing is based on the output of the calibration timing device. Using the relative timing information, a first edge of the first channel signals is aligned by adjusting at least one of the delays (i.e. any one of the channel or clock delays).
In one embodiment, the first edge is aligned by incrementing a first clock delay until all of the outputs of the calibration timing devices have a same logic value. Then, for each output channel, a first channel delay is incremented until the output of the calibration timing device for that output channel changes a logic value.
In another embodiment, a second edge of signals at the data input of the calibration devices are aligned. In one aspect, the second edge is aligned by transmitting a second test signal to each output timing device. A relative timing between a channel signal and a clock signal is again determined at each calibration timing device, and an alignment of the second edge is accomplished by adjusting at least another one of the delays.
In one embodiment, a second clock delay and a second channel delay for each output channel are coupled with a same delay control signal. In one aspect, each second channel is adapted to delay only the first edge of a signal. The second edge may then be aligned by incrementing the second clock delay and second channel delay until all of the outputs of the calibration timing devices have a same logic value. Then, for each output channel, a third channel delay is incremented until the output of the calibration timing device for that output channel changes a logic value, where the third channel delay is adapted to delay only the second edge of a signal.
According to another exemplary embodiment, a method of aligning output signals at a data interface is provided. A rising edge delay in each of a plurality of output signal paths is determined; and a falling edge delay in each of the output signal paths is determined. The determined rising edge delays and the falling edge delays provide an alignment of the rising and falling edges of the output signals.
In one embodiment, the method also includes determining a first output delay in each of the output signal paths; and determining a first clock delay in the clock signal path so that a first edge of each of the output signals are aligned with each other and with the clock signal. In one aspect, the first clock delay is incremented until all of the first edges of the output signals are negatively phase shift from the clock signal. In another aspect, the first output delay in each of the output signal paths is incremented until each output signal has a zero or greater phase shift compared to the clock signal.
In one embodiment, one of the rising or falling edge delays has the same value as a second clock delay and aligns the duty cycle of the output signals with the duty cycle of the clock signal. This one delay may be incremented until all of the second edges of the output signals are negatively phase shifted from the clock signal. In one aspect, each of that one delay is equal to a second delay in the clock signal path. The second of the rising or falling edge delays can be used to align the second edge of each of the output signals. This second delay may be incremented until each output signal is zero or greater phase shifted from the clock signal.
In one embodiment, the method also includes storing the determined delay values in respective memory elements that are coupled with output and clock delay elements so that the delay elements are programmed to have the determined delays. In another embodiment, circuitry that is not on a same integrated circuit as the data interface determines the rising edge delay and the falling edge delay.
A better understanding of the nature and advantages of the present invention may be gained with reference to the following detailed description and the accompanying drawings.
Embodiments of the present invention provide circuits, methods and apparatus that reduce skew among signals being provided or transmitted by a data interface. Self-calibration circuitry can provide post-manufacturing skew adjustment of each output channel by determining a delay in each output channel path. The rising or falling edges may be used for this initial alignment. Additionally, both edges of the output signals may be aligned by the calibration circuitry or by external circuitry or methods. The other edge alignment may be accomplished with delays that are edge specific. This alignment facilitates using new and faster memory interfaces. While specific embodiments of the present invention are well suited to DDR interfaces on FPGA devices, other types of interfaces and other types of devices (e.g., an ASIC) and circuits may be improved by the incorporation of an embodiment of the present invention.
A balanced clock tree structure is introduced as a reference signal used to align signals in the DQ and DQS output path. A phase-locked loop (PLL) 105 generates clock signals 110, 115 at right angles to each other. In this example, clock signal 110 is at a zero degree phase and clock signal 115 is at a negative 90 degree phase. The zero degree phase clock 110 is used to generate DQS and the negative 90 degree phase clock 115 is used to generate the DQ signals. The clock signals 115 trigger output of the data signals from DDR output registers 150, and multiplexer (mux) 160 combines the data signals to form a DDR output signal.
When arranging a clock tree structure, a balanced structure with minimum skew is desired as it is used as a matching reference. For example, one clock tree covering the whole 72-bit memory interface typically has more clock skew than a shorter clock tree that covers only one x8 DQ/DQS group. Even when care is taken to match signal paths and device sizes, matching errors, such as differences in transistor sizes in different signal paths, can cause skew and timing mismatches. Accordingly, embodiments of the present invention adjustably vary delays provided by elements inserted in the paths of data interface output signals to align the signals. After an edge alignment, the center alignment can be obtained via the two clocks 110, 115.
In one aspect, initial skew adjustment delay chains in both the DQ and DQS output paths are used for an initial alignment. In other aspects, there are two variable delay chains Tr and Tf, which can adjust the output buffer rising edge delay (Tr) and falling edge delay (Tf) independently. Tr and Tf may reside within each output buffer 125. The initial skew adjustment delay chains and Tr and Tf are variable delay chains whose delay setting can be programmed or provided by write-side calibration control circuitry. An example of the output paths and delay circuitry used by embodiments of the present invention is shown in the next figure.
During normal operation of a device having data interface 200, an output signal is received by a channel on line 207. The output signal at this point may be a single or multiple data rate signal, and thus line 207 may correspond to more than one input line. Multiplexer 211 can select and output the data signal to an output timing device 215, which may be a single register, a combination of multiple registers and a mux (as shown in
Upon being triggered (rising or falling) by the CLK signal, the data signal may travel though an initial channel delay chain 217. In one aspect, channel delay 217 shift both rising and falling edges. The Ti for the ith channel indicates that channel delay 217 can be varied independently from the other channels. The output of channel delay 217 is coupled with output buffer 225, which can contain rising edge channel delay 222 and falling edge channel delay 224 that only delay a respective edge. Embodiments have at least one of the channel delays 217, 222, and 224 in the output channel, but only one may be used for certain applications while all three may be used for other applications. In some embodiments, the one or more channel delays may be in series or in parallel (or any combination thereof); but in either case, the respective inputs are coupled with a respective output register 215 and the respective outputs are coupled with a respective output pad 220, 240.
During calibration, a skew adjustment control circuitry 250 sends out a test signal Tdin on line 209. The test signal may be produced by a state machine in control circuitry 250. The edges of Tdin may be used to equilibrate the delays in the output paths from the respective output registers 215 to the output pads 220 or 240. In one aspect, Tdin also travels from output buffer 225 through an input buffer 230 to a calibration register 235. Thus, the relative timings of the output signals at the respective output pads 220, 240 may be estimated as being equal to the relative timings at the respective calibration registers 235.
The relative timings at the calibration registers 235 are obtained using a delayed CLK signal on line 232. In one embodiment, the CLK signal travels through a first clock delay 243. The CLK signal may also travel through a second clock delay 245. In one aspect, clock delays 243 and 245 delay both rising and falling edges. In some embodiments, the one or more clock delays may be in series or in parallel (or any combination thereof); but in either case, the inputs are coupled with node 214 and the outputs are coupled with line 232. Triggered by the delayed CLK signals, the outputs of the calibration registers 235 are then received by control circuitry 250, which can identify a relative timing between an output signal and the delayed CLK signal by the value received on a respective line 252.
Based on these relative timings, control circuitry 250 can transmit controls signals to vary the delays in the channel and clock delays. For example, the initial channel delay 217 can be controlled by a signal on line 255. A multiplexer 257 can be set to deliver that control signal to channel delay 217. In some embodiments, the delay can be programmed from bits in memory 259, such as CRAM bits or other suitable types of memory. In such embodiments, control circuitry, which is external to the integrated chip containing data interface 200, may be used. The other delays may be programmed or controlled in a similar manner. In one embodiment, the control signals 262 for the second clock delay 245 are also coupled with the rising edge channel delays 222. In another embodiment, the control signals 262 for the second clock delay 245 are also coupled with the falling edge channel delays 224.
Accordingly, the DQ/DQS signals may be variably delayed relative to each other, either during configuration or during a calibration routine. The calibration routine may be performed in the final device and in actual environmental conditions (such as temperature, humidity, pressure), which would normally affect the skew. Thus, skews in each DQ and DQS path may be matched in a specific integrated circuit. Further, in some embodiments, rising and falling edges are skewed independently. Embodiments of the present invention encompass a multitude of different methods of performing an alignment. The following is one example.
In step 310, the channel delays and the clock delays are set to a default value. In one aspect, the default value is zero. In step 320, a first test pattern is sent from control circuitry 250 to each channel 205. In one embodiment, the test pattern for aligning the rising edges has a low to high transition and the test pattern for aligning the falling edges has a high to low transition. Relative timings for pertinent signals are shown via timing diagrams.
A first section 405 of timing diagram 400 shows a default relative timing of the CLK signal at calibration register 235 of channel DQ0, the output signals at the data input of calibration register 235 of channel DQ0, and the outputs 252 of calibration register 235 for channels DQ0, DQS, and DQ1. Initially, the CLK signal and the Tdin signal have a rising edge that is aligned at output register 215.
The clock baseline delay 420 is shown for the CLK signal from node 214 to the clock input of calibration register 235 of channel DQ0. Clock baseline delay 420 between rising edges of corresponding pulses is a combination of inherent delay in the CLK line and the default delay in the clock delays 243, 245. The data baseline delay 425 is shown for the output signal from the output register 215, which for a high logic value occurs at the fourth clock pulse shown, to the calibration register 235 for channel DQ0.
As shown, the rising edge of the data input at calibration register 235 of DQ0 occurs just after the rising edge (a positive phase shift) of the CLK signal at that same calibration register. Thus, the output 252 for channel DQ0 stays zero until the next rising edge from the CLK signal. The inputs for channels DQS and DQ1 are negatively phase shifted from the CLK signal as the inputs at the respective calibration register 235 for these channels have already transitioned from 0 to 1 before the CLK signal transitions. Thus, the outputs 252 of the calibration registers 235 of these channels are ‘1’.
In step 322, the control circuitry 250 determines whether all of the calibration outputs 252 are high. Thus, for the example of
Section 410 of
Next in method 300, one of the channels delays, such as delay 217, in each output channel may be individually incremented. In other embodiments, rising edge delays 222 and/or falling edge delays 224 could be used in the first stage, particularly when the other stages of method 300 are not performed.
In step 340, a rising edge pattern is sent again. In step 342, control circuitry 250 determines whether all of the calibration register outputs are low. In the first pass, this should not be true as all of the outputs were just ‘1’. In step 344, a channel delay, e.g., channel delay 217, for each channel that is not zero is incremented. If an output is already low then a delay for that channel is not incremented. Steps 340-344 are repeated until all of the outputs of the calibration registers 235 change from 1 to 0. By doing so, the rising delay for each channel will match with clock path delay.
Section 415 of
After finishing a rising edge skew adjustment, a next step can be to adjust the falling edge skew, or vice versa if the falling edge is aligned first. In step 360, a falling edge test pattern is sent to each channel. In step 362, control circuitry 250 determines whether all of the calibration register outputs are low. The second and third stages are shown in the next timing diagram.
As shown, the falling edge of the data input at calibration register 235 of DQ0 occurs just after (positive phase shift) the rising edge of the CLK signal at that same calibration register. Thus, the output for channel DQ0 stays ‘1’ until the next rising edge from the CLK signal. Note that for a falling edge clocked register, a falling edge of the CLK signal could be used. The inputs for channels DQS and DQ1 having falling edges that are negatively phase shifted from the CLK rising edge signal as these output signals have already transitioned from ‘1’ to ‘0’ before the CLK rising edge. Thus, the outputs of the calibration registers of these channels are ‘0’.
In step 364, if all of the outputs of the calibration registers 235 are not low, then the rising edge delay Tr for the clock path is increased. This delay will affect both edges of the clock signal. As shown in the embodiment of data interface 200, the Tr clock delay 245 in the clock path and the Tr delays 222 of the output channel paths share the same delay setting. Thus, when Tr clock delay 245 increases, all of the rising edge delays 222 will increase the same amount as well. Additionally, the alignment from the first stage is not broken. In other embodiments, the falling edge channel delays 224 may be coupled to one of the clock delays.
Steps 360-364 repeat until the Tr delay is increased such that all calibration registers 235 capture a 0, or equivalently there is a positive (zero or greater) phase shift of the falling edges of the output signals compared to a rising edge of the CLK signal. This is to match the clock delay (and all the rising edge channel delays) with the longest falling edge delay.
Section 510 of timing diagram 500 illustrates this process. Effectively, the delay 525 stays constant since only the rising edge delay is changed, thus the delay from the falling edge of Tdin to the falling edge of the calibration register at channel DQ0 is still delay 525. Meanwhile, the increase of clock delay 245 shifts the entire CLK signal to the right. In this manner, the coupling of the rising edges of the output signals and the CLK signal from the first stage is not altered, and the width (duty cycle) of a single bit signal on a channel 205 is bounded by the CLK signal. This helps to ensure accurate retrieval of the data at a memory since the widths of a ‘0’ and a ‘1’ will be kept about equal.
In the third stage of method 300, the falling edges of the channels are aligned. The falling edge delays 224 of each channel are separately incremented to align with the rising edge of the CLK signal. In step 380, a falling edge test pattern is sent again to each channel. In step 382, control circuitry 250 determines whether all of the calibration register outputs are high. In the first pass, this should not be true as all of the outputs were just ‘0’. If all of the calibration register outputs are high (i.e. a “YES”), then method 300 is done.
In step 384, falling edge channel delay 224 for each channel that is not ‘1’ is incremented. If an output is already high then a delay for that channel will not be incremented. Steps 380-384 are repeated until all of the outputs of the calibration registers 235 change from ‘0’ to ‘1’. By doing so, the falling edges of the output signals will be aligned with each other and the duty cycle will be aligned with that of the CLK signal.
Section 515 of
Accordingly, during write side skew adjustment, at least one of the edges of the DQ and DQS signals are aligned (or possibly both). Depending on whether the application and/or whether one or two edges are aligned, this skew adjustment may be performed by control circuitry 250, by external circuitry, or during a design process via simulation.
Note that during normal operation, the DQ and DQS signals need to be center aligned. Again, the DQ output register is clocked by the write clock, which has −90° phase shift from system clock; and the DQS output register is clocked by the system clock. Thus, after being edge aligned in the skew adjustment process, the center aligning of the DQ and DQS signals can be done by dynamically changing the PLL phase shift. Note that during skew adjustment that the DQ and DQS signals were timed with clock signals having the same phase shift. Write side calibration can be performed at the power up or anytime during user operation when needed. However, during write side calibration, the normal memory operation should be stopped.
A similar scheme can be used, e.g., by a hard intellectual property (HIP) block, to calibrate the full write path, which starts from an FPGA and ends at the memory device capture register, which uses the DQS as a clock input. When doing full path write side calibration, the test pattern is written in the memory device and read back. In one embodiment, the DQS and DQ signals are aligned at the memory device using the memory device capture registers, whose output would be coupled with the control circuitry, and using DQS as the clock signal in a similar manner as described above. By doing so, static skew among DQ and DQS write paths can be minimized, which include the memory device skew, board skew, package skew and FPGA device skew.
The rising edge delay 222 and the falling edge delay 224 may be incorporated into a channel in a variety of ways as would be known to one skilled in the art. For example,
PLD 700 also includes a distributed memory structure including RAM blocks of varying sizes provided throughout the array. The RAM blocks include, for example, 512 bit blocks 704, 4K blocks 706 and an M-Block 708 providing 512K bits of RAM. These memory blocks may also include shift registers and FIFO buffers. PLD 700 further includes digital signal processing (DSP) blocks 710 that can implement, for example, multipliers with add or subtract features.
PLD 700 also includes input/output elements (IOEs) 712 for providing a communication interface with circuits and devices that are external to PLD 700. These other circuits or devices may reside on another circuit board, a same circuit board, or even the same chip. It is to be understood that PLD 700 is described herein for illustrative purposes only and that the present invention can be implemented in many different types of PLDs, FPGAs, and the other types of digital integrated circuits.
While PLDs of the type shown in
System 800 includes a processing unit 802, a memory unit 804 and an I/O unit 806 interconnected together by one or more buses. According to this exemplary embodiment, a programmable logic device (PLD) 808 is embedded in processing unit 802. PLD 808 may serve many different purposes within the system in
Processing unit 802 may direct data to an appropriate system component for processing or storage, execute a program stored in memory 804 or receive and transmit data via I/O unit 806, or other similar function. Processing unit 802 can be a central processing unit (CPU), microprocessor, floating point coprocessor, graphics coprocessor, hardware controller, microcontroller, programmable logic device programmed for use as a controller, network controller, and the like. Furthermore, in many embodiments, there is often no need for a CPU.
For example, instead of a CPU, one or more PLD 808 can control the logical operations of the system. In an embodiment, PLD 808 acts as a reconfigurable processor, which can be reprogrammed as needed to handle a particular computing task. Alternately, programmable logic device 808 may itself include an embedded microprocessor. Memory unit 804 may be a random access memory (RAM), read only memory (ROM), fixed or flexible disk media, PC Card flash disk memory, tape, or any other storage means, or any combination of these storage means.
Embodiments of the present invention may be used to improve circuits that interface with the memory unit 804. While embodiments of the present invention particularly benefit these interface circuits when memory unit 804 is a double-data rate (DDR) type memory, embodiments may benefit other multiple-data rate types interfaces that are either now known or later developed.
The above description of exemplary embodiments of the invention has been presented for the purposes of illustration and description. It is not intended to be exhaustive or to limit the invention to the precise form described, and many modifications and variations are possible in light of the teaching above. The embodiments were chosen and described in order to best explain the principles of the invention and its practical applications to thereby enable others skilled in the art to best utilize the invention in various embodiments and with various modifications as are suited to the particular use contemplated.
|Cited Patent||Filing date||Publication date||Applicant||Title|
|US3007055 *||Jul 21, 1960||Oct 31, 1961||Rca Corp||Test signal generator with circuit means to separately adjust rise and fall time of the output pulses|
|US3204180 *||Feb 28, 1962||Aug 31, 1965||Texas Instruments Inc||Time measuring apparatus using a tapped delay line|
|US3239809 *||May 22, 1962||Mar 8, 1966||Sperry Rand Corp||Skew correction buffer|
|US3456237 *||Aug 26, 1965||Jul 15, 1969||Sperry Rand Corp||Deskewing system|
|US3509531 *||Aug 24, 1967||Apr 28, 1970||Burroughs Corp||Signal alignment system|
|US3562723 *||Sep 18, 1967||Feb 9, 1971||Burroughs Corp||Tape skew correction circuitry|
|US3976940 *||Feb 25, 1975||Aug 24, 1976||Fairchild Camera And Instrument Corporation||Testing circuit|
|US4092589 *||Mar 23, 1977||May 30, 1978||Fairchild Camera And Instrument Corp.||High-speed testing circuit|
|US4477845 *||Feb 22, 1982||Oct 16, 1984||The United States Of America As Represented By The Secretary Of The Navy||Dynamic skew correction for multichannel analog recording|
|US4497056 *||Aug 13, 1982||Jan 29, 1985||Takeda Riken Co. Ltd.||IC Tester|
|US5175452 *||Sep 30, 1991||Dec 29, 1992||Data Delay Devices, Inc.||Programmable compensated digital delay circuit|
|US5274568 *||Dec 5, 1990||Dec 28, 1993||Ncr Corporation||Method of estimating logic cell delay time|
|US5306971 *||Jul 23, 1992||Apr 26, 1994||Proxim, Inc.||Binary controlled digital tapped delay line|
|US5338990 *||Feb 19, 1993||Aug 16, 1994||Brooktree Corporation||Regulated delay line|
|US5459422 *||Jun 2, 1993||Oct 17, 1995||Advanced Micro Devices, Inc.||Edge selective delay circuit|
|US5485114 *||May 30, 1995||Jan 16, 1996||Mitsubishi Denki Kabushiki Kaisha||Semiconductor integrated circuit with internal compensation for changes in time delay|
|US5811655 *||Sep 5, 1996||Sep 22, 1998||Advantest Corp.||Delay time calibration circuit and method|
|US5935257 *||Oct 30, 1997||Aug 10, 1999||Fujitsu Limited||Skew-reduction circuit and semiconductor device|
|US5953284||Jul 9, 1997||Sep 14, 1999||Micron Technology, Inc.||Method and apparatus for adaptively adjusting the timing of a clock signal used to latch digital signals, and memory device using same|
|US6041417||Jun 4, 1998||Mar 21, 2000||Hewlett-Packard Company||Method and apparatus for synchronizing data received in an accelerated graphics port of a graphics memory system|
|US6147963||Jul 11, 1997||Nov 14, 2000||4 Links For Technical Help||Communications system for driving pairs of twisted pair links|
|US6338127||Aug 28, 1998||Jan 8, 2002||Micron Technology, Inc.||Method and apparatus for resynchronizing a plurality of clock signals used to latch respective digital signals, and memory device using same|
|US6381340 *||Jun 9, 1999||Apr 30, 2002||Digilens, Inc.||Method for calculating relative phases between signal channels in a multi-sensor tracking device|
|US6424592 *||Nov 30, 2000||Jul 23, 2002||Mitsubishi Denki Kabushiki Kaisha||Semiconductor integrated circuit having circuit for correcting data output timing|
|US6587811 *||Aug 2, 2001||Jul 1, 2003||Scientific Technologies Incorporated||System and method for delay line testing|
|US6606041 *||May 10, 2000||Aug 12, 2003||Micron Technology, Inc.||Predictive timing calibration for memory devices|
|US6636978 *||Nov 17, 1999||Oct 21, 2003||International Business Machines Corporation||Rescheduling data input and output commands for bus synchronization by using digital latency shift detection|
|US6647523||Oct 9, 2002||Nov 11, 2003||Micron Technology, Inc.||Method for generating expect data from a captured bit pattern, and memory device using same|
|US6876186 *||Aug 29, 2003||Apr 5, 2005||Xilinx, Inc.||Measurement of circuit delay|
|US6961095 *||Aug 3, 2001||Nov 1, 2005||Silicon Image, Inc.||Digital display jitter correction apparatus and method|
|US7038466 *||Feb 8, 2005||May 2, 2006||Xilinx, Inc.||Measurement of circuit delay|
|US7113012 *||Dec 20, 2001||Sep 26, 2006||Bhavik Amin||Skew delay compensator|
|US7171321 *||Aug 20, 2004||Jan 30, 2007||Rambus Inc.||Individual data line strobe-offset control in memory systems|
|US7279946 *||Aug 30, 2005||Oct 9, 2007||Infineon Technologies Ag||Clock controller with integrated DLL and DCC|
|US7289378 *||Aug 19, 2004||Oct 30, 2007||Micron Technology, Inc.||Reconstruction of signal timing in integrated circuits|
|US7308059 *||Apr 24, 2002||Dec 11, 2007||Broadcom Corporation||Synchronization of data links in a multiple link receiver|
|US7352219 *||Aug 30, 2005||Apr 1, 2008||Infineon Technologies Ag||Duty cycle corrector|
|US7450676 *||Dec 5, 2007||Nov 11, 2008||Broadcom Corporation||Synchronization of data links in a multiple link receiver|
|US7451049 *||Mar 15, 2004||Nov 11, 2008||National Instruments Corporation||Automatic delays for alignment of signals|
|US7453746 *||Feb 21, 2007||Nov 18, 2008||Micron Technology, Inc.||Reconstruction of signal timing in integrated circuits|
|US7484193 *||Aug 28, 2003||Jan 27, 2009||Sun Microsystems, Inc.||Method and software for predicting the timing delay of a circuit path using two different timing models|
|US7489569 *||Oct 19, 2006||Feb 10, 2009||Micron Technology, Inc.||Reconstruction of signal timing in integrated circuits|
|US20020048336 *||Aug 3, 2001||Apr 25, 2002||Keating Stephen J.||Digital display jitter correction apparatus and method|
|US20020064082 *||Nov 30, 2000||May 30, 2002||Mitsubishi Denki Kabushiki Kaisha||Semiconductor integrated circuit having circuit for correcting data output timing|
|US20020103618 *||Aug 2, 2001||Aug 1, 2002||Fred Schleifer||System and method for delay line testing|
|US20020131619 *||Apr 29, 2002||Sep 19, 2002||Storey John J.||Method for calculating relative phases between signal channels in a multi-sensor tracking device|
|US20020186717 *||Feb 27, 2002||Dec 12, 2002||Haq Ejaz Ul||Method and system for deskewing parallel bus channels to increase data transfer rates|
|US20030099135 *||Nov 26, 2001||May 29, 2003||Micron Technology, Inc.||Per-bit set-up and hold time adjustment for double-data rate synchronous dram|
|US20030149987 *||Apr 24, 2002||Aug 7, 2003||Pasqualino Christopher R.||Synchronization of data links in a multiple link receiver|
|US20040217794 *||Apr 30, 2003||Nov 4, 2004||Mark Strysko||Propagation delay adjustment circuit|
|US20050024109 *||Dec 20, 2001||Feb 3, 2005||Bhavik Amin||Skew delay compensator|
|US20050057978 *||Sep 29, 2004||Mar 17, 2005||Stubbs Eric T.||Per-bit set-up and hold time adjustment for double-data rate synchronous DRAM|
|US20050094462 *||Sep 24, 2004||May 5, 2005||Andreas Jakobs||Apparatus for calibrating the relative phase of two reception signals of a memory chip|
|US20050190875 *||Mar 15, 2004||Sep 1, 2005||Feiereisel Neil S.||Automatic delays for alignment of signals|
|US20050219919 *||Aug 19, 2004||Oct 6, 2005||Micron Technology, Inc.||Reconstruction of signal timing in integrated circuits|
|US20060052961 *||Aug 20, 2004||Mar 9, 2006||Best Scott C||Individual data line strobe-offset control in memory systems|
|US20060244492 *||Apr 26, 2005||Nov 2, 2006||Micron Technology, Inc.||Method of producing balanced data output|
|US20070046346 *||Aug 30, 2005||Mar 1, 2007||Alessandro Minzoni||Clock controller with integrated DLL and DCC|
|US20070046351 *||Aug 30, 2005||Mar 1, 2007||Alessandro Minzoni||Duty cycle corrector|
|US20070061536 *||Oct 19, 2006||Mar 15, 2007||Micron Technology, Inc.||Reconstruction of signal timing in integrated circuits|
|US20070282555 *||Apr 13, 2007||Dec 6, 2007||Altera Corporation||Read-Side Calibration for Data Interface|
|US20080089456 *||Dec 5, 2007||Apr 17, 2008||Broadcom Corporation||Synchronization of Data Links in a Multiple Link Receiver|
|US20080240222 *||Jun 10, 2008||Oct 2, 2008||International Business Machines Corporation||System and method for balancing delay of signal communication paths through well voltage adjustment|
|USRE31056 *||May 28, 1980||Oct 12, 1982||Fairchild Camera & Instrument Corp.||Computer controlled high-speed circuit for testing electronic devices|
|Citing Patent||Filing date||Publication date||Applicant||Title|
|US20110099407 *||Apr 28, 2011||Ati Technologies Ulc||Apparatus for High Speed Data Multiplexing in a Processor|
|U.S. Classification||702/89, 702/79, 702/176, 702/127, 702/85, 702/1, 714/699, 714/700, 714/798|
|International Classification||G06F19/00, G06F11/00|
|Apr 16, 2007||AS||Assignment|
Owner name: ALTERA CORPORATION, CALIFORNIA
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:CHONG, YAN;SUNG, CHIAKANG;HUANG, JOSEPH;AND OTHERS;REEL/FRAME:019167/0547;SIGNING DATES FROM 20070326 TO 20070330
Owner name: ALTERA CORPORATION,CALIFORNIA
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:CHONG, YAN;SUNG, CHIAKANG;HUANG, JOSEPH;AND OTHERS;SIGNING DATES FROM 20070326 TO 20070330;REEL/FRAME:019167/0547
|Sep 25, 2013||FPAY||Fee payment|
Year of fee payment: 4