A delay lock loop for use in meeting sdram timing requirements, wherein a timing relationship between data generated by a computer chip and a clock in said DRAM is fully programmable, and wherein said delay lock loop is digitally implemented. The delay lock loop includes a first delay chain to measure a number of delay taps in a single clock cycle of the clock of the sdram and a second delay chain to delay the clock of the sdram. The second delay chain is matched to the first delay chain.
|
1. A delay lock loop for use in meeting sdram timing requirements, wherein a timing relationship between data generated by a computer chip and a clock in said sdram is fully programmable, and wherein said delay lock loop is digitally implemented, wherein said digital implementation comprises:
a first delay chain to measure a number of delay taps in a single clock cycle of the clock of the sdram; and
a second delay chain to delay the clock of the sdram, the second delay chain matched to the first delay chain.
9. The delay lock loop for use in a synchronous dynamic random access memory (sdram) device; the delay lock loop comprising:
a first delay chain to measure a number of delay taps in a single clock cycle of an sdram clock; and
a second delay chain responsive to the first delay chain to delay the sdram clock by a target number of delay elements derived from the number of delay taps;
wherein the delay lock loop is digital; and
wherein a timing relationship between data generated by a computer chip and a clock signal of the sdram clock is fully programmable.
5. A method of meeting timing requirements between a clock in sdram and data generated by a computer chip, the method comprising:
implementing a delay lock loop, wherein:
a timing relationship between said clock and said data is fully programmable in said delay lock loop; and
the delay lock loop is digital, wherein the delay lock loop comprises:
a first delay chain to measure the number of delay taps in a single clock cycle of the clock of the sdram; and
a second delay chain to delay the clock of the sdram, the second delay chain matched to the first delay chain.
2. The delay lock loop according to
3. The delay lock loop of
4. The delay lock loop of
6. The method according to
7. The method of
continually calibrating the number of delay taps to account for changes in temperature and voltage during operation.
8. The method of
multiplying the number of delay taps by a phase percentage to produce a target number of delay elements; and
delaying the clock of the sdram by the target number of delay elements.
10. The delay lock loop of
13. The delay lock loop of
|
This patent application claims benefit of pending prior U.S. Provisional Patent Application Serial No. 60/535,401, filed Jan. 9, 2004 by Michael J. Schaffstein et al. for FLEXIBLE SDRAM CLOCKING (MS-DLL).
The above-identified patent application is hereby incorporated herein by reference.
This invention relates to office automation products in general, and more particularly to printers, fax machines, scanners, copiers and the like. Even more particularly, this invention relates to the integration of formerly separate functions into single devices such as those sometimes referred to as MFPs (Multi-Functional-Peripherals), and the integration of multiple functions into a single ASIC (Application-Specific Integrated Circuit) such as those produced by Oasis Semiconductor, Inc. of Waltham, Mass.
A challenge to designing an interface to synchronous DRAM (SDRAM) is managing the timing requirements of the SDRAM over the full range of operating conditions of the driving circuit. When implemented in an ASIC, the driving circuit's timing will vary with temperature, voltage and fabrication process variation. A design that attempts to meet SDRAM's timing requirements at one extreme of the ASIC's operating conditions may not meet the timing at the other extreme of the conditions. A method is needed to create timing that is largely independent of these conditions.
The timing of an SDRAM requires that data signals be stable within a window of time before and after the rising edge of the SDRAM's clock. The stable time before the clock's rising edge is called the setup time; the stable time after the clock's rising edge is called the hold time. Inside an ASIC, the circuits that generate data use a clock's rising edge as a timing reference. Thus data signals have a timing relationship to the clock. As the ASIC's operating conditions change, that timing relationship also changes. This presents a problem when attempting to match the SDRAM's timing requirements, which are fixed.
A method has been developed to create a near fixed relationship between clock and data. This involves a delay lock loop (DLL). Although the use of a DLL in solving SDRAM timing requirements is not new, this implementation has two important innovations. The first innovation is the ability to adjust the timing relationship in a programmable manner. The second innovation is the implementation, which is fully digital in nature; there is no analog piece as is typical in DLL implementations.
The programmable timing relationship is specified as a percent offset from ideal. Ideal is when the data changes at the same instant as the rising edge of the clock. The percent offset is called the phase. A 0% phase would represent the ideal case as would 100% phase. A 50% phase would create a clock whose rising edge would occur half way between successive changes in data. By allowing this value to be programmable, the timing relationship between clock and data is both flexible and independent of operating conditions.
The digital implementation uses two matched delay chains, one to measured the number of delay taps in a single clock cycle and the second to delay the clock itself. The number of delay taps in a clock cycle is continually calibrated to account for changes in temperature and voltage during the normal operation of the ASIC. This number is then multiplied by the phase percentage to give target number of delay elements by which to delay the clock. By selecting the proper version of the delayed clock, the timing relationship specified by the phase is achieved.
In a particular embodiment, a delay lock loop is provided for use in meeting timing requirements of a synchronous dynamic random access memory (SDRAM). A timing relationship between data generated by a computer chip and a clock in the SDRAM may be fully programmable. The delay lock loop may be digitally implemented. In a particular embodiment, the timing relationship may be specified as a percent offset from ideal, where the ideal is defined as the data changing at the same instant as the rising edge of the clock. In another particular embodiment, the delay lock loop may include a first delay chain that measures the number of delay taps in a single clock cycle of the clock of the SDRAM and a second delay chain that delays the clock of the SDRAM to match the first delay chain.
In a particular alternative embodiment, a method is provided to meet timing requirements between a clock in a synchronous dynamic random access memory (SDRAM) and data generated by the computer chip. The method includes implementing a delay lock loop where a timing relationship between the clock of the SDRAM and data generated by the computer chip is fully programmable in the delay lock loop and where the delay lock loop is digital. In a particular embodiment, the timing relationship is specified as a percent offset from ideal, where the ideal is the timing relationship where the data changes at the same instant as the rising edge of the clock. In another particular embodiment, the delay lock loop includes a first delay chain to measure a number of delay taps in a single clock cycle of the clock of the SDRAM and a second delay chain that delays the clock of the DRAM to match the first delay chain.
It will be appreciated that still further embodiments of the present invention will be apparent to those skilled in the art in view of the present disclosure. It is to be understood that the present invention is by no means limited to the particular constructions herein disclosed and/or shown in the drawings, but also comprises any modifications or equivalents within the scope of the invention.
Mullaly, Brendan P., Schaffstein, Michael J.
Patent | Priority | Assignee | Title |
Patent | Priority | Assignee | Title |
6492852, | Mar 30 2001 | International Business Machines Corporation | Pre-divider architecture for low power in a digital delay locked loop |
6664830, | Nov 30 2001 | Round Rock Research, LLC | Low pass filters in DLL circuits |
6895522, | Mar 15 2001 | U S BANK NATIONAL ASSOCIATION, AS COLLATERAL AGENT | Method and apparatus for compensating duty cycle distortion in a data output signal from a memory device by delaying and distorting a reference clock |
20020130691, | |||
20040008714, | |||
20050138457, |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Jan 10 2005 | Sigmatel, Inc. | (assignment on the face of the patent) | / | |||
Apr 22 2005 | SCHAFFSTEIN, MICHAEL J | OASIS SEMICONDUCTOR, INC | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 016728 | /0174 | |
Apr 25 2005 | MULLALY, BRENDAN P | OASIS SEMICONDUCTOR, INC | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 016728 | /0174 | |
Dec 19 2006 | OASIS SEMICONDUCTOR, INC | Sigmatel, INC | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 018655 | /0753 | |
Jun 05 2008 | Sigmatel, INC | CITIBANK, N A | SECURITY AGREEMENT | 021212 | /0372 | |
Jul 31 2008 | CITIBANK, N A | Freescale Semiconductor, Inc | RELEASE BY SECURED PARTY SEE DOCUMENT FOR DETAILS | 024046 | /0609 | |
Jul 31 2008 | Sigmatel, INC | Conexant Systems, Inc | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 021474 | /0188 | |
Jul 31 2008 | Sigmatel, INC | Conexant Systems, Inc | CORRECTIVE ASSIGNMENT TO CORRECT THE STREET ADDRESS PREVIOUSLY RECORDED ON REEL 021474 FRAME 0188 ASSIGNOR S HEREBY CONFIRMS THE ASSIGNMENT | 021788 | /0550 | |
Mar 10 2010 | BROOKTREE BROADBAND HOLDING, INC | THE BANK OF NEW YORK, MELLON TRUST COMPANY, N A | SECURITY AGREEMENT | 024066 | /0075 | |
Mar 10 2010 | CONEXANT, INC | THE BANK OF NEW YORK, MELLON TRUST COMPANY, N A | SECURITY AGREEMENT | 024066 | /0075 | |
Mar 10 2010 | CONEXANT SYSTEMS WORLDWIDE, INC | THE BANK OF NEW YORK, MELLON TRUST COMPANY, N A | SECURITY AGREEMENT | 024066 | /0075 | |
Mar 10 2010 | Conexant Systems, Inc | THE BANK OF NEW YORK, MELLON TRUST COMPANY, N A | SECURITY AGREEMENT | 024066 | /0075 | |
Jul 12 2013 | LAKESTAR SEMI INC | Conexant Systems, Inc | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 038803 | /0693 | |
Jul 12 2013 | Conexant Systems, Inc | LAKESTAR SEMI INC | CHANGE OF NAME SEE DOCUMENT FOR DETAILS | 038777 | /0885 | |
Mar 10 2014 | THE BANK OF NEW YORK MELLON TRUST COMPANY, N A | CONEXANT, INC | RELEASE BY SECURED PARTY SEE DOCUMENT FOR DETAILS | 038631 | /0452 | |
Mar 10 2014 | THE BANK OF NEW YORK MELLON TRUST COMPANY, N A | BROOKTREE BROADBAND HOLDING, INC | RELEASE BY SECURED PARTY SEE DOCUMENT FOR DETAILS | 038631 | /0452 | |
Mar 10 2014 | THE BANK OF NEW YORK MELLON TRUST COMPANY, N A | CONEXANT SYSTEMS WORLDWIDE, INC | RELEASE BY SECURED PARTY SEE DOCUMENT FOR DETAILS | 038631 | /0452 | |
Mar 10 2014 | THE BANK OF NEW YORK MELLON TRUST COMPANY, N A | Conexant Systems, Inc | RELEASE BY SECURED PARTY SEE DOCUMENT FOR DETAILS | 038631 | /0452 | |
Dec 07 2015 | CITIBANK, N A , AS COLLATERAL AGENT | Sigmatel, INC | PATENT RELEASE | 037354 | /0734 | |
Mar 20 2017 | Conexant Systems, Inc | Conexant Systems, LLC | CHANGE OF NAME SEE DOCUMENT FOR DETAILS | 042986 | /0613 | |
Sep 01 2017 | Conexant Systems, LLC | Synaptics Incorporated | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 043786 | /0267 | |
Sep 27 2017 | Synaptics Incorporated | Wells Fargo Bank, National Association | SECURITY INTEREST SEE DOCUMENT FOR DETAILS | 044037 | /0896 |
Date | Maintenance Fee Events |
Jan 12 2007 | ASPN: Payor Number Assigned. |
Jul 24 2008 | ASPN: Payor Number Assigned. |
Jul 24 2008 | RMPN: Payer Number De-assigned. |
Aug 20 2010 | M2551: Payment of Maintenance Fee, 4th Yr, Small Entity. |
Oct 03 2014 | REM: Maintenance Fee Reminder Mailed. |
Oct 07 2014 | M2552: Payment of Maintenance Fee, 8th Yr, Small Entity. |
Oct 07 2014 | M2555: 7.5 yr surcharge - late pmt w/in 6 mo, Small Entity. |
Oct 08 2018 | REM: Maintenance Fee Reminder Mailed. |
Mar 25 2019 | EXP: Patent Expired for Failure to Pay Maintenance Fees. |
Date | Maintenance Schedule |
Feb 20 2010 | 4 years fee payment window open |
Aug 20 2010 | 6 months grace period start (w surcharge) |
Feb 20 2011 | patent expiry (for year 4) |
Feb 20 2013 | 2 years to revive unintentionally abandoned end. (for year 4) |
Feb 20 2014 | 8 years fee payment window open |
Aug 20 2014 | 6 months grace period start (w surcharge) |
Feb 20 2015 | patent expiry (for year 8) |
Feb 20 2017 | 2 years to revive unintentionally abandoned end. (for year 8) |
Feb 20 2018 | 12 years fee payment window open |
Aug 20 2018 | 6 months grace period start (w surcharge) |
Feb 20 2019 | patent expiry (for year 12) |
Feb 20 2021 | 2 years to revive unintentionally abandoned end. (for year 12) |