Abstract:
Method and apparatus for locking a phase lock loop, where the method includes selecting a frequency window corresponding to a VCO output frequency, selecting a control voltage corresponding to the frequency window and providing the control voltage to the control voltage circuit which subsequently uses the selected control voltage as the starting control voltage of the phase lock loop.

Description:
BACKGROUND OF THE INVENTION  
         [0001]    This invention relates to phase-locked loop circuits for programmable logic devices. More particularly, this invention relates to an apparatus and method for decreasing the lock time of a phase-locked loop over a wide range of frequencies.  
           [0002]    Programmable logic devices include phase-locked loop (“PLL”) or delayed-lock loop (“DLL”) circuitry to counteract “skew” and excessive delay in clock signals propagating on the device. See for example, Jefferson U.S. Pat. No. 5,699,020 and Reddy et al. U.S. Pat. No. 5,847,617, both of which are incorporated herein by reference.  
           [0003]    PLL circuits include circuitry to generate an oscillating signal that is phase/frequency locked with a reference clock. The oscillating signal is controlled and maintained in response to a control voltage, which is generated and maintained by the circuitry of the PLL. When a PLL is powered up, the control voltage is set to a predetermined value. The PLL then adjusts the control voltage up or down depending on the desired output frequency of the PLL. After reaching the desired output frequency, the PLL further continues to make fine adjustments to the control voltage until the output signal is in phase with the reference signal. Once the control voltage reaches a value where the desired output phase/frequency is achieved, the PLL is locked. And thereafter the PLL circuitry maintains that control voltage.  
           [0004]    Normal operations on an electronic device such as a programmable logic device, are generally not available until the PLL is locked with the reference signal. Thus, it is desirable to reduce the amount of time required for the PLL to lock.  
           [0005]    Existing methods reduce the lock time of a PLL circuit by setting the starting voltage of the PLL to ½ Vcc. Where a user setting requires the control voltage to be something other than ½ Vcc, the PLL starts at ½ Vcc and then the PLL circuitry adjusts the control voltage up or down until the control voltage reaches the desired value. Again, normal operations on the electronic device are not available while the PLL circuitry makes this adjustment.  
           [0006]    Although the above technique reduces the PLL lock time, it is unsatisfactory where the PLL must operate over a wide range of frequencies. Consequently, there is a need in the art for a method and apparatus to reduce the lock time of a PLL where the PLL must operate over a wide range of frequencies.  
         SUMMARY OF THE INVENTION  
         [0007]    The present invention discloses a method and apparatus for reducing the lock time of a PLL circuit over a wide range of frequencies. The method of the present invention determines the starting control voltage of the PLL based on the desired output frequency where the starting control voltage corresponds to a range of frequencies that include the desired output frequency.  
           [0008]    In a method of the present invention, the PLL operating frequency range is parsed into a plurality of non-overlapping frequency windows. Each frequency window is then mapped to a starting control voltage. When a user provides a desired output frequency, the frequency window containing the desired output frequency is determined. Then the starting control voltage corresponding to the frequency window is selected as the starting control voltage of the PLL. The PLL circuitry then adjusts the control voltage up or down until the control voltage corresponding to the desired output frequency is reached. The PLL circuitry then proceeds to establish a phase lock for the PLL.  
           [0009]    The present invention also includes a control voltage circuit for providing the starting control voltage to the phase locked loop circuit in accordance with the invention. The control voltage circuit comprises a plurality of up and down legs that are enabled or disabled using logic gates. Depending on the desired output voltage, each leg of the control voltage circuit can be enable or disabled. By enable one up leg, the control voltage is incremented by a value delta. By enabling a second up leg, the control voltage value is enabled by another delta. Thus the control voltage can be incrementally increased or decreased by enabling the appropriate number of up or down legs.  
       
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0010]    The above and other advantages of the invention will be apparent upon consideration of the following detailed description, taken in conjunction with the accompanying drawings, in which like reference characters refer to like parts throughout, and in which:  
         [0011]    [0011]FIG. 1 shows a schematic overview of a programmable logic device  100  incorporating the present invention;  
         [0012]    [0012]FIG. 2 shows an exemplary PLL circuit  20  that may be used in conjunction with the present invention;  
         [0013]    [0013]FIG. 3 illustrates the selection of a control voltage based on the desired output frequency;  
         [0014]    [0014]FIG. 4 is a diagram of a control voltage circuit that may be used to implement certain aspects of the present invention;  
         [0015]    [0015]FIG. 5 illustrates a method that may be used to determine the starting control voltage of a PLL;  
         [0016]    [0016]FIG. 6 shows an exemplary DLL circuit  70  that may be used in conjunction with the present invention; and  
         [0017]    [0017]FIG. 7 illustrates a programmable logic device incorporating one or more PLL circuits of the present invention.  
     
    
     DETAILED DESCRIPTION OF THE INVENTION  
       [0018]    [0018]FIG. 1 shows a schematic overview of a programmable logic device  100  incorporating the present invention. Device  100  includes Input/Output elements  10 , phase-locked loop circuit  20 , power bus segments  30 , and programmable logic core  50 . Power bus segments  30  supply power to the various components of the programmable logic device  100 . Input/Output elements  10  transmit information to and from the programmable logic device to other devices in the system. Phase-locked loop circuits  20  are used in conjunction with other circuitry on programmable logic device  100 .  
         [0019]    Programmable logic core  50  includes a plurality of logic elements  60  disposed on the device in a two-dimensional array of intersecting rows and columns of such regions. Logic elements  60  include programmable registers, preferably flip-flops. Logic elements  60  may further include look-up tables or universal logic blocks, pterms, carry and cascade chains and other circuitry to perform various functions of the programmable logic device. In some embodiments, a plurality of logic elements in the array may be grouped to form logic array blocks.  
         [0020]    Although the present invention is described using a programmable logic device, the invention may be used on other integrated circuit devices that use a phase-locked loop or delay locked loop such as application specific integrated circuits (ASICs) or application specific standard parts (ASSPs) or the like.  
         [0021]    [0021]FIG. 2 shows an exemplary PLL circuit  20  that may be used in conjunction with the present invention. Circuit  10  includes an input counter  200 , phase/frequency detector  210 , a charge pump circuit  220 , a low pass filter  230 , a feedback counter  250  and a voltage controlled oscillator  240 .  
         [0022]    Input counter  200  divides the input frequency by a predetermined integer value prior to sending the signal to phase/frequency detector  210 . The phase/frequency detector  210  compares the relative phases and frequencies of a reference clock signal and a feed-back clock signal that the loop circuit  260  feeds back to the phase/frequency detector  210 . If the phase of the feed-back clock signal is behind the phase of the reference clock, the phase/frequency detector  210  produces a first type of output signal. If the phase of the feed-back clock signal is ahead of the phase of the reference clock signal, the phase/frequency detector  210  produces a second type of output signal.  
         [0023]    The first and second output signals of the phase/frequency detector  210  are applied to a charge pump circuit  220 , which charges or discharges the charge storing element of low-pass filter  230 , depending on whether the phase/frequency detector  210  is producing the first or the second output signal. The output signal of the low-pass filter  230  is applied as a control signal to a voltage controlled oscillator  240 .  
         [0024]    The output signal of the voltage controlled oscillator  240  is the ultimately desired output of the phase lock loop circuit. The feedback clock signal is the output of the voltage controlled oscillator  240  divided by an value M at feedback counter  250  and fed back to the phase/frequency detector  210 . Preferably, the M value is an integer value. In other embodiments, the M value may be a fraction.  
         [0025]    The output frequency of the PLL is the output frequency of the VCO, f vco , where f vco  as a function of control voltage V ctrl  is given by the following equation: 
           f   VCO   =f   0   +K   VCO ( V   ctrl   −V   0 ). 
         [0026]    Here, f o  is the starting VCO frequency when the control voltage of the VCO is at ½ Vcc, V o  is ½ Vcc, and K vco  is the VCO gain. If the control voltage is set to something less than ½ Vcc, the VCO will run at a frequency lower than the starting VCO frequency f o . If the control voltage is set to something higher than ½ Vcc, the VCO will run at a frequency higher than the starting VCO frequency f o . Thus, it is possible to pick an appropriate scaling for the control voltage and set the starting control voltage closer to the final desired control voltage value if the VCO gain is known. The VCO gain is readily available from simulations. In this embodiment, the VCO frequency increases as the control voltage increases. In other embodiments, the VCO frequency decreases as the control voltage increases.  
         [0027]    In one embodiment, the operating frequency range of the PLL is divided into a plurality of frequency windows. Each frequency window contains a non-overlapping range of frequencies and each frequency in the operating frequency range is included in a frequency window. When the PLL is to operate at a given frequency, that frequency is mapped to a frequency window. The frequency window is then mapped to a starting control voltage and that control voltage is subsequently used as the starting voltage of the PLL.  
         [0028]    [0028]FIG. 3 illustrates the selection of a control voltage based on the desired output frequency. The PLL of FIG. 3 operates over the frequency range of 500 MHz to 1100 MHz. The frequency range is divided into frequency windows  1  through  7 . When a user provides a desired frequency, that frequency is mapped to one of the seven windows. A control voltage associated with that window is then used as the starting voltage of the VCO. The PLL circuitry then increases the control voltage if the desired output frequency is associated with a control voltage that is higher than the starting control voltage. Alternately, the PLL circuitry decreases the control voltage if the desired output frequency is associated with a control voltage that is lower than the starting control voltage.  
         [0029]    For example, if the desired output frequency is 610 MHz, the selected frequency window is window  2 . The starting control voltage of the PLL will then be {fraction (1/22)} Vcc−Δ 4 . In this case, the starting control voltage is less than the control voltage associated with the desired output frequency. Thus, the PLL circuitry will adjust the control voltage upwards from the starting voltage of ½ Vcc−Δ 4  until the VCO output frequency reaches 610 MHz. Similarly, if the desired output frequency is 1080 MHz, the selected frequency window is window  7 . The starting control voltage of the PLL will then be V ctrlmax . In this case, the starting control voltage is greater than the control voltage associated with the desired output frequency. So, the PLL circuitry will adjust the control voltage downwards until the VCO output frequency reaches 1080 MHz.  
         [0030]    [0030]FIG. 4 is a diagram of a control voltage circuit that may be used to implement certain aspects of the present invention. The starting control voltage of the VCO is controlled by enabling or disabling selected legs of the control voltage circuit which are enabled using a respective series of logic gates or muxes. The CRAMs  1 ,  2 ,  3  . . . N can be programmed to be either ON or OFF. By controlling the EN and nEN signals in conjunction with the programmed CRAMs, the respective legs of the circuit can be enabled or disabled, thereby adjusting the starting control voltage of the PLL either up or down. The CRAM is programmed to be either ON or OFF during the configuration process for the PLD. CRAM can be implemented as an EPROM, EEPROM, fuse, anti-fuse, SRAM, MRAM, FRAM, DRAM or the like.  
         [0031]    Preferably, if the CRAM  1   a  is programmed to be a OFF and the enable signal is high or low then the NAND gate  1   a  is disabled and that up leg is not turned on. In this instance the value of the starting control voltage is unchanged. If the CRAM  1   a  is programmed to be ON and the enable signal is low then the NAND gate is still disabled and again the starting control voltage is not adjusted. If the CRAM  1   a  is programmed to be ON and the enable signal is high then the NAND  1   a  gate is enabled and the corresponding leg  1   a  is turned on, thereby adjusting the starting control voltage upwards by a predetermined value Δ. If CRAM  2   a  is programmed to be ON and the enable signal to the NAND gate  2   a  is high, then circuit  2   a  is enabled and the value of the starting control voltage is increased by an additional Δ and so on.  
         [0032]    Similarly, if the CRAM  1   b  is programmed to be ON and the nEN signal is high or low then the NOR gate  1   b  is disabled and that down leg is not turned on. In this instance the starting control voltage is unchanged. If the CRAM  1   b  is programmed to be OFF and the nEN signal is high then the NOR gate  1   b  is still disabled and again the starting control voltage remains unchanged. If the CRAM  1   b  is programmed to be OFF and the nEN signal is low then the NOR gate  1   b  is enabled and the corresponding leg  1   b  is turned on, thereby adjusting the starting control voltage downward by a predetermined value Δ. If CRAM  2   b  is programmed to be on then circuit  2   b  is enabled and the value of the starting control voltage is decreased by an additional Δ and so on.  
         [0033]    The PD and nPD signal are used to enable or disable the circuit completely. Thus if PD is high then the PLL circuit is completely disabled. Else the PLL circuit is enabled and the signal passes through the PLL and is processed by the various component of the PLL.  
         [0034]    Thus, the starting control voltage can be adjusted incrementally by enabling one or more of these circuits. Although, the preferred embodiment shows that the Δ values for each leg are the same, those skilled in the art will appreciate that the respective legs need not have the same delta values.  
         [0035]    Although, the circuit of FIG. 4 shows N legs, those skilled in the art will appreciate that any number of legs may be used to set the starting control voltage. Additionally, in addition to the circuit of FIG. 4, any differential resistance circuit may be used to increase or decrease the starting control voltage of the voltage controlled oscillator.  
         [0036]    [0036]FIG. 5 illustrates a method that may be used to determine the starting control voltage of a PLL. In step  605 , a user provides the input frequency and the desired output frequency for the PLL. From the input frequency, the output frequency of the VCO can be determined using the following equation:  
         f   VCO     =       M   N          f   in                             
 
         [0037]    where M and N are the input counter and the feedback counter values, respectively and f in  is the input frequency provided by the user. The M and N counter values are determined in step  610  using the input frequency and the desired output frequency provided by the user. Alternatively, the user may provide the M and N values which are subsequently used to calculate the output frequency of the VCO.  
         [0038]    In step  620 , after the output frequency of the VCO is determined, the desired output frequency is mapped to a frequency window. The frequency window may be determined by either using a database containing the frequency ranges and associated frequency windows. Once the frequency window is determined, the control voltage associated with the frequency window is determined in step  630 . In one embodiment, the control voltage is determined by using a database containing the control voltages and associated frequency windows.  
         [0039]    Once the control voltage is determined, the starting control voltage of the PLL is set to this control voltage in step  640 . In step  650 , the starting control voltage is then used to determine the CRAM bit settings for the programming file that is then used to configure the PLD in step  660 .  
         [0040]    The present invention may also be implemented in delay lock loop. FIG. 6 shows an exemplary DLL circuit  70  that may be used in conjunction with the present invention. Circuit  70  includes an input counter  700 , phase/frequency detector  710 , a charge pump circuit  720 , a low pass filter  730 , a feedback counter  750  and a voltage controlled delay chain  740 .  
         [0041]    Those skilled in the art will appreciate that the output voltage of the voltage controlled delay chain  740  of DLL  70  is controlled and adjusted in a manner similar to that described for controlling and adjusting the output voltage of the VCO for PLL  20  as described in FIGS. 2, 3,  4 , and  5 .  
         [0042]    [0042]FIG. 7 illustrates a programmable logic device  510  incorporating one or more PLL circuits  520  configured according to this invention in a data processing system  500 . Data processing system  500  may include one or more of the following components: a processor  501 , memory  502 , I/O circuitry  503 , and peripheral devices  504 . These components are coupled together by a system bus  505  and are populated on a circuit board  506  which is contained in an end-user system  507 .  
         [0043]    System  500  can be used in a wide variety of applications, such as computer networking, data networking, instrumentation, video processing, digital signal processing, or any other application where the advantage of using programmable or re-programmable logic is desirable. Programmable logic device  510  can be used to perform a variety of different logic functions.  
         [0044]    For example, programmable logic device  510  can be configured as a processor or controller that works in cooperation with processor  501 . Programmable logic device  510  may also be used as an arbiter for arbitrating access to a shared resource in system  500 . In yet another example, programmable logic device  510  can be configured as an interface between processor  501  and one of the other components in system  500 . It should be noted that system  500  is only exemplary, and that the true scope and spirit of the invention should be indicated by the following claims.  
         [0045]    Although the present invention is described in the context of phase-locked loops, those skilled in that art will appreciate that the present invention may be used for any system where lock time is critical and where the system must operate over a wide range of frequencies.