Clock and Data Recovery (CDR) Circuit
20190260571 ยท 2019-08-22
Inventors
Cpc classification
H04L7/0087
ELECTRICITY
H04L7/02
ELECTRICITY
International classification
H04L7/00
ELECTRICITY
H04L25/03
ELECTRICITY
Abstract
A clock and data recovery (CDR) circuit receives a data signal and generates a clock signal and a recovered data signal. The CDR circuit includes a clock-recovery circuit (CRC), a sampling phase-recovery circuit (PRC), an analog-to-digital converter (ADC), and a data-recovery circuit (DRC). The CRC receives the data signal and generates an intermediate clock signal. The PRC receives the intermediate clock signal, a sampled data signal and the recovered data signal, and generates the clock signal. The ADC receives the data signal and generates the sampled data signal. The DRC receives the sampled data signal and generates the recovered data signal. The clock signal is phase and frequency synchronized with the data signal.
Claims
1. A clock and data recovery (CDR) circuit comprising: a clock-recovery circuit (CRC) configured to receive an input data signal and generate an intermediate clock signal based on the input data signal, wherein the intermediate clock signal is phase and frequency synchronized with the input data signal; a phase-recovery circuit (PRC) configured to receive the intermediate clock signal from the CRC and delay the intermediate clock signal based on a recovered data signal and a sampled data signal to generate a clock signal; an analog-to-digital converter (ADC) configured to sample the input data signal based on the clock signal to generate the sampled data signal; and a data-recovery circuit (DRC) configured to receive the sampled data signal and generate the recovered data signal based on the sampled data signal.
2. The CDR circuit of claim 1, wherein the CRC comprises: an equalizer configured to sharpen transitions within the input data signal to generate an intermediate data signal; and a phase detector configured to receive the intermediate clock signal and to generate voting signals based on timing of transitions in the intermediate data signal relative to transitions in the intermediate clock signal.
3. The CDR circuit of claim 2, wherein the CRC further comprises: a proportional-integral filter configured to receive the voting signals from the phase detector and reduce noise in the voting signals to generate control signals; and a controlled oscillator configured to receive the control signals from the proportional-integral filter and control a frequency of the intermediate clock signal based on the control signals.
4. The CDR circuit of claim 1, wherein the PRC comprises: a phase-error detector configured to receive multiple samples of the sampled data signal and the recovered data signal and generate a phase-error decision signal based on the multiple samples; an integral filter configured to receive the phase-error decision signal and generate a delay control signal based on the phase-error decision signal; and a controlled delay-line circuit configured to receive the delay control signal and the intermediate clock signal, and to generate the clock signal by advancing or delaying the intermediate clock signal according to the delay control signal.
5. The CDR circuit of claim 1, wherein the DRC comprises: a feed-forward equalizer configured to filter the sampled data signal to cancel inter-signal interference (ISI) in the sampled data signal; and a slicing circuit configured to quantize the filtered sampled data signal to generate the recovered data signal.
6. The CDR circuit of claim 1, wherein the input data signal is a multi-level data signal having a plurality of amplitude levels, and the CDR circuit generates the recovered data signal without prior access to the amplitude levels.
7. A non-transitory computer-readable storage medium storing a digital representation of a clock and data recovery (CDR) circuit comprising: a clock-recovery circuit (CRC) configured to receive an input data signal and generate an intermediate clock signal based on the input data signal, wherein the intermediate clock signal is phase and frequency synchronized with the input data signal; a phase-recovery circuit (PRC) configured to receive the intermediate clock signal from the CRC and delay the intermediate clock signal based on a recovered data signal and a sampled data signal to generate a clock signal; an analog-to-digital converter (ADC) configured to sample the input data signal based on the clock signal to generate the sampled data signal; and a data-recovery circuit (DRC) configured to receive the sampled data signal and generate the recovered data signal based on the sampled data signal.
8. The non-transitory computer-readable storage medium of claim 7, wherein the CRC comprises: an equalizer configured to sharpen transitions within the input data signal to generate an intermediate data signal; and a phase detector configured to receive the intermediate clock signal and to generate voting signals based on timing of transitions in the intermediate data signal relative to transitions in the intermediate clock signal.
9. The non-transitory computer-readable storage medium of claim 8, wherein the CRC further comprises: a proportional-integral filter configured to receive the voting signals from the phase detector and reduce noise in the voting signals to generate control signals; and a controlled oscillator configured to receive the control signals from the proportional-integral filter and control a frequency of the intermediate clock signal based on the control signals.
10. The non-transitory computer-readable storage medium of claim 7, wherein the PRC comprises: a phase-error detector configured to receive multiple samples of the sampled data signal and the recovered data signal and generate a phase-error decision signal based on the multiple samples; an integral filter configured to receive the phase-error decision signal and generate a delay control signal based on the phase-error decision signal; and a controlled delay-line circuit configured to receive the delay control signal and the intermediate clock signal, and to generate the clock signal by advancing or delaying the intermediate clock signal according to the delay control signal.
11. The non-transitory computer-readable storage medium of claim 7, wherein the DRC comprises: a feed-forward equalizer configured to filter the sampled data signal to cancel inter-signal interference (ISI) in the sampled data signal; and a slicing circuit configured to quantize the filtered sampled data signal to generate the recovered data signal.
12. The non-transitory computer-readable storage medium of claim 7, wherein the input data signal is a multi-level data signal having a plurality of amplitude levels, and the CDR circuit generates the recovered data signal without prior access to the amplitude levels.
13. A method for clock and data recovery comprising: receiving an input data signal; generating, by a clock recovery circuit (CRC), an intermediate clock signal based on the input data signal, wherein the intermediate clock signal is phase and frequency synchronized with the input data signal; delaying, by a phase-recovery circuit (PRC), the intermediate clock signal based on a recovered data signal and a sampled data signal to generate a clock signal; sampling, by an analog-to-digital converter (ADC), the input data signal based on the clock signal to generate the sampled data signal; and generating, by a data-recovery circuit (DRC), the recovered data signal based on the sampled data signal.
14. The method of claim 13, wherein generating the intermediate clock signal comprises: sharpening transitions within the input data signal to generate an intermediate data signal; and generating voting signals based on timing of transitions in the intermediate data signal relative to transitions in the intermediate clock signal.
15. The method of claim 14, wherein generating the intermediate clock signal further comprises: reducing noise in the voting signals to generate control signals; and controlling a frequency of the intermediate clock signal based on the control signals.
16. The method of claim 13, wherein delaying the intermediate clock signal comprises: receiving multiple samples of the sampled data signal and the recovered data signal; generating a phase-error decision signal based on the multiple samples; generating a delay control signal based on the phase-error decision signal; and generating the clock signal by advancing or delaying the intermediate clock signal according to the delay control signal.
17. The method of claim 13, wherein generating the recovered data signal comprises: filtering the sampled data signal to cancel inter-signal interference (ISI) in the sampled data signal; and quantizing the filtered sampled data signal to generate the recovered data signal.
18. The method circuit of claim 13, wherein the input data signal is a multi-level data signal having a plurality of amplitude levels, and the recovered data signal is generated without prior access to the amplitude levels.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0012]
[0013]
[0014]
[0015]
[0016]
[0017]
[0018] The figures depict various embodiments for purposes of illustration only. One skilled in the art will readily recognize from the following discussion that alternative embodiments of the structures and methods illustrated herein may be employed without departing from the principles of the invention described herein.
DETAILED DESCRIPTION
System Environment
[0019]
[0020] The CRC 102 receives the data signal D.sub.IN from the data transmitter over a communication channel (not shown) and generates an intermediate clock signal CLK.sub.INT. The intermediate clock signal CLK.sub.INT is phase and frequency synchronized with the data signal D.sub.IN. The CRC 102 is described in detail below in conjunction with
[0021] The PRC 104 is connected to the CRC 102 for receiving the intermediate clock signal CLK.sub.INT. The PRC 104 further receives a sampled data signal D.sub.SAMPLE generated by the ADC 106 and the recovered data signal D.sub.REC generated by the DRC 108. The PRC 104 generates the clock signal CLK based on these inputs. In particular, the PRC 104 generates the clock signal CLK by positioning the intermediate clock signal CLK.sub.INT at an accurate sampling position based on the sampled data signal D.sub.SAMPLE and the recovered data signal D.sub.REC. In other words, the PRC 104 delays the intermediate clock signal CLK.sub.INT based on the sampled and recovered data signals D.sub.SAMPLE and D.sub.REC to achieve the accurate sampling position for sampling the data signal D.sub.IN. Thus, the PRC achieves an optimum phase relation between the data signal D.sub.IN and the clock signal CLK for sampling the data signal D.sub.IN. The accuracy of the sampling position may be determined based on jitter in the clock signal. For example, an accurate sampling position has a jitter of no more than 0.3 times the unit interval or bit-period for a given application. If the desired level of accuracy in the sampling position is obtained, the sampled data can be processed (e.g., by feed-forward equalization (FFE) and quantization) to generate the recovered data signal with an acceptable bit error rate (BER). In other embodiments, different levels of jitter are acceptable. The PRC 104 is described in detail below in conjunction with
[0022] The ADC 106 receives the data signal D.sub.IN and is connected to the PRC 104 for receiving the clock signal CLK. The ADC 106 samples the data signal D.sub.IN based on the clock signal CLK and generates the sampled data signal D.sub.SAMPLE. The sampled data signal D.sub.SAMPLE is a digital signal having a first set of bits. In one example, the sampled data signal D.sub.SAMPLE is an 8-bit data signal. The ADC 106 is further connected to the PRC 104 for providing the sampled data signal D.sub.SAMPLE. The PRC 104 and the ADC 106 form a first feedback loop.
[0023] The DRC 108 is connected to the ADC 106 for receiving the sampled data signal D.sub.SAMPLE. The DRC 108 performs equalization and slicing on the sampled data signal D.sub.SAMPLE, and generates the recovered data signal D.sub.REC. The recovered data signal D.sub.REC is a digital signal having multiple bits (i.e., a second set of bits) that correspond to the sequential pair of bits represented by the amplitude levels of the data signal D.sub.IN. The DRC 108 is further connected to the PRC 104 for providing the recovered data signal D.sub.REC. The PRC 104, the ADC 106, and the DRC 108 form a second feedback loop. The DRC 108 is described in detail below in conjunction with
[0024] In operation, the CRC 102 receives the data signal D.sub.IN and generates the intermediate clock signal CLK.sub.INT that is phase and frequency synchronized with the data signal D.sub.IN. The PRC 104 receives the intermediate clock signal CLK.sub.INT, the sampled data signal D.sub.SAMPLE, and the recovered data signal D.sub.IN. Initially, the sampled data signal D.sub.SAMPLE and the recovered data signal D.sub.REC are at a logic low state. Hence, initially the PRC 104 delays the intermediate clock signal CLK.sub.INT by a default delay value to generate the clock signal CLK. The ADC 106 then samples the data signal D.sub.IN based on the clock signal CLK and generates the sampled data signal D.sub.SAMPLE. The DRC 108 generates the recovered data signal D.sub.REC having the second set of bits based on the sampled data signal D.sub.SAMPLE. A count of bits in the second set of bits is less than a count of bits in the first set of bits.
[0025] The PRC 104 receives the sampled data signal D.sub.SAMPLE and the recovered data signal D.sub.REC. Based on the sampled and recovered data signals D.sub.SAMPLE and D.sub.REC, the PRC 104 introduces a delay in the position of the intermediate clock signal CLK.sub.INT to achieve the accurate sampling position. The intermediate clock signal CLK.sub.INT that is positioned at the accurate sampling position represents the clock signal CLK. The ADC 106 then generates the sampled data signal D.sub.SAMPLE based on the clock signal CLK, which is both phase and frequency synchronized with the data signal D.sub.IN, and provides it to the DRC 108. The DRC 108 then generates the recovered data signal D.sub.REC, which is accurate. The accuracy of the recovered data signal D.sub.REC may be measured by bit error rate (BER) of the recovered data signal D.sub.REC. For example, if D.sub.IN is a PAM-4 signal, a BER equal to or less than 1e-4 may be considered acceptable for a given application, so D.sub.REC is considered accurate of this BER criterion is met. In other embodiments, a different BER criterion may be used. Since the PRC 104, the ADC 106, and the DRC 108 form two feedback loops, the accuracy of the clock signal CLK and the recovered data signal D.sub.REC improves with time.
[0026] Referring now to
[0027] The data signal D.sub.IN received by the CDR circuit 100 is usually distorted, when the communication channel used for the transmission of the data signal D.sub.IN is lossy. The distortion of the data signal D.sub.IN results in smoothing of transitions, i.e., rising and falling edges, within the data signal D.sub.IN. Due to the smoothing, the transitions within the data signal D.sub.IN may not be detected accurately. Thus, the CRC 102 includes the equalizer 202, which is an edge-sharpening equalizer, for sharpening the transitions within the data signal D.sub.IN. The equalizer 202 receives the data signal D.sub.IN and sharpens the transitions (i.e., the rising and falling edges) of the data signal D.sub.IN to generate an intermediate data signal D.sub.SHARP. The intermediate data signal D.sub.SHARP has sharp rising and falling edges that are used by the phase detector 204 of the CRC 102. The equalizer 202 may implement one or more edge sharpening techniques known in the art for generating the intermediate data signal D.sub.SHARP.
[0028] The phase detector 204 is connected to the equalizer 202 for receiving the intermediate data signal D.sub.SHARP. The phase detector 204 also receives the intermediate clock signal CLK.sub.INT and a complementary intermediate clock signal CLK.sub.INTZ. The phase detector 204 may be a bang-bang or Alexander phase detector. The phase detector 204 generates early and late voting signals V.sub.EARLY and V.sub.LATE based on the intermediate data signal D.sub.SHARP, the intermediate clock signal CLK.sub.INT, and the complementary intermediate clock signal CLK.sub.INTZ. The intermediate clock signal CLK.sub.INT and the complementary intermediate clock signal CLK.sub.INTZ are complementary clock signals. For example, when the intermediate clock signal CLK.sub.INT has a rising edge, the complementary intermediate clock signal CLK.sub.INTZ has a falling edge.
[0029] The phase detector 204 detects occurrence of a transition (i.e., a falling edge or a rising edge) within the intermediate data signal D.sub.SHARP based on the intermediate clock signal CLK.sub.INT. For example, at a rising edge of the intermediate clock signal CLK.sub.INT, the phase detector 204 samples the intermediate data signal D.sub.SHARP and detects the occurrence of the transition within the intermediate clock signal CLK.sub.INT. When the transition is detected, the phase detector 204 determines whether the transition has occurred before or after a corresponding transition of the complementary intermediate clock signal CLK.sub.INTZ. Based on the determination whether the transition has occurred before or after the corresponding transition of the complementary intermediate clock signal CLK.sub.INTZ, the phase detector 204 generates the early and late voting signals V.sub.EARLY and V.sub.LATE. The early and late voting signals V.sub.EARLY and V.sub.LATE are digital signals having a logic low state (e.g., 0) or a logic high state (e.g., 1). In one scenario, the early and late voting signals V.sub.EARLY and V.sub.LATE are at the logic high and logic low states, respectively, when the transition within the intermediate data signal D.sub.SHARP has occurred before the corresponding transition of the complementary intermediate clock signal CLK.sub.INTZ. In another scenario, the early and late voting signals V.sub.EARLY and V.sub.LATE are at the logic low and logic high states, respectively, when the transition within the intermediate data signal D.sub.SHARP has occurred after the corresponding transition of the complementary intermediate clock signal CLK.sub.INTZ. In yet another scenario, both the early and late voting signals V.sub.EARLY and V.sub.LATE are at logic low state, when no transition of the intermediate data signal D.sub.SHARP has occurred. The proportional-integral filter 206 is connected to the phase detector 204 for receiving the early and late voting signals V.sub.EARLY and V.sub.LATE.
[0030] The early and late voting signals V.sub.EARLY and V.sub.LATE are usually affected by noise. The proportional-integral filter 206 reduces the noise of the early and late voting signals V.sub.EARLY and V.sub.LATE and generates proportional and integral control signals P.sub.CONTROL and I.sub.CONTROL. The proportional-integral filter 206 includes a proportional path (not shown) and an integral path (not shown). The proportional path generates the proportional control signal P.sub.CONTROL and the integral path generates the integral control signal I.sub.CONTROL, based on the early and late voting signals V.sub.EARLY and V.sub.LATE. The proportional and integral control signals are one of control voltages, control currents, or digital control codes.
[0031] The CO 208 is connected to the proportional-integral filter 206 for receiving the proportional and integral control signals P.sub.CONTROL and I.sub.CONTROL. The CO 208 generates the intermediate clock signal CLK.sub.INT and the complementary intermediate clock signal CLK.sub.INTZ. The CO 208 controls frequencies of the intermediate clock signal CLK.sub.INT and the complementary intermediate clock signal CLK.sub.INTZ based on the proportional and integral control signals P.sub.CONTROL and I.sub.CONTROL. The CO 208 generates the intermediate clock signal CLK.sub.INT and the complementary intermediate clock signal CLK.sub.INTZ such that the transitions within the intermediate clock signal CLK.sub.INT are synchronized with the transitions within the intermediate data signal D.sub.SHARP. In other words, the intermediate clock signal CLK.sub.INT and the complementary intermediate clock signal CLK.sub.INTZ are frequency synchronized with the intermediate data signal D.sub.SHARP, and consequently with the data signal D.sub.IN. The CO 208 is further connected to the phase detector 204 for providing the intermediate clock signal CLK.sub.INT and the complementary intermediate clock signal CLK.sub.INTZ. As the phase detector 204, the proportional-integral filter 206, and the CO 208 form a feedback loop, frequency synchronization of the intermediate clock signal CLK.sub.INT with the intermediate data signal D.sub.SHARP, and consequently with the data signal D.sub.IN, improves with time.
[0032] In operation, the equalizer 202 receives the data signal D.sub.IN and generates the intermediate data signal D.sub.SHARP. Based on the intermediate data signal D.sub.SHARP, the intermediate clock signal CLK.sub.INT, and the complementary intermediate clock signal CLK.sub.INTZ and the phase detector 204 generates the early and late voting signals V.sub.EARLY and V.sub.LATE and provides them to the proportional-integral filter 206. The proportional-integral filter 206 then generates the proportional and integral control voltages P.sub.CONTROL and I.sub.CONTROL based on the logic states of the early and late voting signals V.sub.EARLY and V.sub.LATE. The CO 208 receives the proportional and integral control voltages P.sub.CONTROL and I.sub.CONTROL and generates the intermediate clock signal CLK.sub.INT and the complementary intermediate clock signal CLK.sub.INTZ.
[0033] Referring now to
[0034] The phase-error detector 302 receives the sampled and recovered data signals D.sub.SAMPLE and D.sub.REC and generates a phase-error decision signal V.sub.PED. The phase-error detector 302 may be a Mueller-Muller phase-error detector. The phase-error detector 302 may include a delay circuit (not shown), multipliers (not shown), and subtractors (not shown). The phase-error detector 302 utilizes multiple samples of the sampled and recovered data signals D.sub.SAMPLE and D.sub.REC in the feedback loop shown in
[0035] The integral filter 304 is connected to the phase-error detector 302 for receiving the phase-error decision signal V.sub.PED. The integral filter 304 integrates the phase-error decision signal V.sub.PED and generates a delay control signal V.sub.DELAY that represents a multi-bit code for controlling the controlled delay-line circuit 306. In one example, the delay control signal V.sub.DELAY represents a 3-bit code having values 000, 001, 010, and the like. It will be understood by a person skilled in the art that the multi-bit code may have any number of bits.
[0036] The controlled delay-line circuit 306 is connected to the integral filter 304 for receiving the delay control signal V.sub.DELAY. The controlled delay-line circuit 306 is further connected to the CRC 102 for receiving the intermediate clock signal CLK.sub.INT. Initially, the controlled delay-line circuit 306 delays the intermediate clock signal CLK.sub.INT by a default delay value to generate the clock signal CLK. Based on the multi-bit code represented by the delay control signal V.sub.DELAY, the controlled delay-line circuit 306 either advances or delays the intermediate clock signal CLK.sub.INT with respect to the default delay value and achieves the accurate sampling position for the intermediate clock signal CLK.sub.INT. The intermediate clock signal CLK.sub.INT at the accurate sampling position is the clock signal CLK. In one example, the controlled delay-line circuit 306 delays the intermediate clock signal CLK.sub.INT by a quarter of a bit duration of the data signal D.sub.IN when the delay control signal V.sub.DELAY is 001, by half of the bit duration when the delay control signal V.sub.DELAY is 010, and by three quarters of the bit duration when the delay control signal V.sub.DELAY is 011. The controlled delay-line circuit 306 further advances the intermediate clock signal CLK.sub.INT by a quarter of the bit duration when the delay control signal V.sub.DELAY is 101, by half of the bit duration when the delay control signal V.sub.DELAY is 110, and by three quarters of the bit duration when the delay control signal V.sub.DELAY is 111. The controlled delay-line circuit 306 may not delay or advance the intermediate clock signal CLK.sub.INT when the delay control signal V.sub.DELAY is 000. The controlled delay-line circuit 306 provides the clock signal CLK to the ADC 106.
[0037] In operation, the phase-error detector 302 generates the phase-error decision signal V.sub.PED based on the sampled and recovered data signals D.sub.SAMPLE and D.sub.REC and provides it to the integral filter 304. In one example, the phase-error decision signal V.sub.PED is at the logic low state. The integral filter 304 receives the phase-error decision signal V.sub.PED and generates the delay control signal V.sub.DELAY. In one scenario, the delay control signal V.sub.DELAY is 010. The controlled delay-line circuit 306 receives the delay control signal V.sub.DELAY (i.e., 010) and delays the intermediate clock signal CLK.sub.INT by half of the bit duration to generate the clock signal CLK. The clock signal CLK is thus frequency and phase synchronized with the data signal D.sub.IN. The ADC 106 receives the clock signal CLK and generates the sampled data signal D.sub.SAMPLE based on the clock signal CLK.
[0038] Referring now to
[0039] The feed-forward equalizer 402 is connected to the ADC 106 for receiving the sampled data signal D.sub.SAMPLE and generates a filtered data signal D.sub.FILTERED. The feed-forward equalizer 402 generates the filtered data signal D.sub.FILTERED by cancelling the ISI in the sampled data signal D.sub.SAMPLE. In one example, the feed-forward equalizer 402 is a finite impulse response equalizer. The feed-forward equalizer 402 implements one or more equalization techniques known in the art for cancelling the ISI in the sampled data signal D.sub.SAMPLE.
[0040] The slicing circuit 404 is connected to the feed-forward equalizer 402 for receiving the filtered data signal D.sub.FILTERED. The slicing circuit 404 quantizes the filtered data signal D.sub.FILTERED to generate the recovered data signal D.sub.REC. The recovered data signal D.sub.REC is a digital signal and includes the sequential pair of bits that are represented by the amplitude levels of the data signal D.sub.IN. For example, when the amplitude levels of the data signal D.sub.IN are 3V, 1V, +1V, and +3V, the recovered data signal D.sub.REC includes the sequential pairs of bits 00, 01, 11, and 10, respectively. In other words, the DRC 108 reduces the first set of bits of the sampled data signal D.sub.SAMPLE to the second set of bits.
[0041] Thus, the CDR circuit 100 accurately generates the clock signal CLK and the recovered data signal D.sub.REC from the data signal D.sub.IN, where the data signal D.sub.IN is a multi-level signal. The CDR circuit 100 successfully operates with multi-level data signals attenuated with ISI without requiring prior knowledge of the amplitude levels of the multi-level data signals, such as the data signal D.sub.IN. In addition, the CDR circuit 100 is suitable to operate for various communication channels having different loss profiles.
Overview of Electronic Design Automation Design Flow
[0042]
[0043] The EDA software 512 may be implemented in one or more computing devices including a memory. An example of a memory is a non-transitory computer readable storage medium. For example, the EDA software 512 is stored as instructions in the computer-readable storage medium which are executed by a processor for performing operations 514-532 of the design flow, which are described below. This design flow description is for illustration purposes. In particular, this description is not meant to limit the present disclosure. For example, an actual integrated circuit design may require a designer to perform the design operations in a difference sequence than the sequence described herein.
[0044] A cell library incorporating one or more circuits as described above with reference to
[0045] During system design 514, designers describe the functionality to implement. They can also perform what-if planning to refine the functionality and to check costs. Note that hardware-software architecture partitioning can occur at this stage. During logic design and functional verification 516, VHDL or Verilog code for modules in the circuit is written and the design is checked for functional accuracy. More specifically, the design is checked to ensure that it produces the correct outputs. During synthesis and design for test 518, VHDL/Verilog is translated to a netlist. This netlist can be optimized for the target technology. Additionally, tests can be designed and implemented to check the finished chips. During netlist verification 520, the netlist is checked for compliance with timing constraints and for correspondence with the VHDL/Verilog source code.
[0046] During design planning 522, an overall floor plan for the chip is constructed and analyzed for timing and top-level routing. Example EDA software products from Synopsys, Inc. of Mountain View, Calif. that can be used at this stage include: Astro and IC Compiler products. During physical implementation 524, the placement (positioning of circuit elements) and routing (connection of the same) occurs. During analysis and extraction 526, the circuit function is verified at a transistor level, which permits refinement. During physical verification 528, the design is checked to ensure correctness for: manufacturing, electrical issues, lithographic issues, and circuitry. During resolution enhancement 530, geometric manipulations of the layout are performed to improve manufacturability of the design. During mask-data preparation 532, the tape-out data for production of masks to produce finished chips is provided.
[0047] Embodiments of the present disclosure can be used during one or more of the above-described stages. Specifically, in some embodiments the present disclosure can be used in EDA software 512 that includes operations between design planning 522 and physical implementation 524.
[0048]
[0049] The memory 626 is a non-transitory computer readable storage medium storing, among others, library 630, electronic design automation (EDA) applications 634 and integrated circuit (IC) designs 636. The library 630 may include data on various circuit components, including instances of the CDR circuit and sub-components describe herein. The EDA applications 634 may include various software programs for designing ICs, including place and route tools, synthesis tools, and verification tools. The design processed by the EDA applications 634 may be stored in IC designs 636. The IC designs 636 may be an entire operational circuit or a part of a larger IC circuit.
[0050] The terms logic high and low states have been used herein to distinguish before high and low signals. For example, the logic low state could signify a signal that is 0V while a logic high state would then indicate a signal that has a logical 1 value, with the actual voltage value for logic 1 depending on circuit technology. The circuits described herein can also be designed using either positive or negative logic.
[0051] While various embodiments have been illustrated and described, it will be clear that the disclosure is not limited to these embodiments only. Numerous modifications, changes, variations, substitutions, and equivalents will be apparent to those skilled in the art, without departing from the spirit and scope of the disclosure, as described in the claims.
Additional Considerations
[0052] The foregoing description of the embodiments of the invention has been presented for the purpose of illustration; it is not intended to be exhaustive or to limit the invention to the precise forms disclosed. Persons skilled in the relevant art can appreciate that many modifications and variations are possible in light of the above disclosure.
[0053] The language used in the specification has been principally selected for readability and instructional purposes, and it may not have been selected to delineate or circumscribe the inventive subject matter. It is therefore intended that the scope of the invention be limited not by this detailed description, but rather by any claims that issue on an application based hereon. Accordingly, the disclosure of the embodiments of the invention is intended to be illustrative, but not limiting, of the scope of the invention, which is set forth in the following claims.