Circuits and methods of implementing time-average-frequency direct period synthesizer on programmable logic chip and driving applications using the same
09621173 ยท 2017-04-11
Assignee
Inventors
Cpc classification
H03K19/01728
ELECTRICITY
H03L7/16
ELECTRICITY
G06F1/12
PHYSICS
H03L7/197
ELECTRICITY
H03L7/0991
ELECTRICITY
G06F30/34
PHYSICS
G06F30/327
PHYSICS
International classification
H03L7/099
ELECTRICITY
G06F1/12
PHYSICS
H03L7/197
ELECTRICITY
Abstract
Circuits of a TAF-DPS clock generator implemented on programmable logic chip comprise: 1) a base time unit generator created from configurable blocks, or on-chip PLL, or on-chip DLL, said base time unit generator produces a plurality of phase-evenly-spaced-signals; 2) a TAF-DPS frequency synthesizer created by configuring configurable blocks of said programmable logic chip, said TAF-DPS frequency synthesizer takes said plurality of phase-evenly-spaced-signals as its input. Methods of creating flexible clock signal to drive application comprise: 1) selecting one or more strategic areas in said programmable logic chip; 2) creating one or more TAF-DPS clock generator for each said area by using the configurable resource in said area; 3) creating control function to control the frequency and duty-cycle of the TAF-DPS clock generator output, said control function can be circuit created from configuring configurable blocks, said control function can also be achieved by software; 4) driving the circuits in application by the flexible clock generated from said TAF-DPS clock generator.
Claims
1. A TAF-DPS clock generator implemented on programmable logic chip, for generating a flexible clock signal, comprises: a first input for receiving a frequency control word, said frequency control word is used to control frequency of said flexible clock signal; a second input for receiving a duty-cycle control word, said duty-cycle control word is used to control duty-cycle of said flexible clock signal; a third input for receiving a reference clock signal of a known frequency; an output for delivering said flexible clock signal; a base time unit generator, having an input for receiving said reference clock signal, having an output for delivering a plurality of K phase-evenly-spaced-signals with a predetermined frequency where K is an integer of greater than one, said base time unit generator is created using resource from said programmable logic chip, said base time unit is reconfigurable when instructed for changing the value of K and changing said predetermined frequency; a TAF-DPS frequency synthesizer, having a frequency control word input for receiving said frequency control word from said first input, having a duty-cycle control word input for receiving said duty-cycle control word from said second input, having a third input for receiving said plurality of K phase-evenly-spaced-signals from said base time unit generator, having a clock output for delivering a synthesized flexible clock signal with desired frequency and desired duty-cycle, said TAF-DPS frequency synthesizer is created using resource from said programmable logic chip, said TAF-DPS frequency synthesizer is reconfigurable when instructed for accommodating a different K value; wherein said clock output of said TAF-DPS frequency synthesizer is connected to said output.
2. The system of claim 1, wherein said base time unit generator is created from a divider chain, said divider chain comprises a series of flip-flips driven by said reference clock signal, said flip-flips are connected in series to form a loop, all non-inverting and inverting outputs from said flip-flips form said plurality of K phase-evenly-spaced-signals, said divider chain is created using configurable blocks of said programmable logic chip.
3. The system of claim 1, wherein said base time unit generator is created from a PLL, said PLL is resided in said programmable logic chip as a standard module, said PLL uses said reference clock signal as its input reference, said PLL is configured to operate at a predetermined frequency, said PLL has a VCO (voltage control oscillator) having multiple stages, all outputs from said stages form said plurality of K phase-evenly-spaced-signals.
4. The system of claim 1, wherein said base time unit generator is created from a DLL, said DLL is resided in said programmable logic chip as a standard module, said DLL uses said reference clock signal as its input, said DLL has a VCDL (voltage controlled delay line) having multiple stages, all outputs from said stages form said plurality of K phase-evenly-spaced-signals.
5. The system of claim 1, wherein said TAF-DPS frequency synthesizer comprises: a first K.fwdarw.1 multiplexer, having a multi-bit reference input for receiving said plurality of K phase-evenly-spaced-signals, having a control input, having an output; a second K.fwdarw.1 multiplexer, having a multi-bit reference input for receiving said plurality of K phase-evenly-spaced-signals, having a control input, having an output; a 2.fwdarw.1 multiplexer, having a first input for receiving the output from said first K.fwdarw.1 multiplexer, having a second input for receiving the output from said second K.fwdarw.1 multiplexer, having a control input, having an output; a toggle flip-flop for generating a pulse train, comprises: a D-type flip-flop, having a clock input for receiving output from the output of said 2.fwdarw.1 multiplexer, having a data input, having an output for outputting a CLK1 signal; an inverter, having an input for receiving said CLK1 signal, having an output for outputting a CLK2 signal; wherein said CLK2 signal is connected to said data input of said D-type flip-flop; wherein said CLK1 signal contains said pulse train; a control logic block, having a first input for receiving said frequency control word, having a second input for receiving said duty-cycle control word, having a third input for receiving said CLK1 signal, having a fourth input for receiving said CLK2 signal, having a first output connected to said control input of said first K.fwdarw.1 multiplexer, having a second output connected to said control input of said second K.fwdarw.1 multiplexer; wherein said CLK1 signal is connected to said control input of said 2.fwdarw.1 multiplexer; wherein said CLK1 signal is outputted as said synthesized flexible clock signal.
6. The system of claim 5, wherein said K.fwdarw.1 multiplexers, said 2.fwdarw.1 multiplexer, said control logic block and said toggle flip-flop are created by configuring configurable blocks from said programmable logic chip, wherein all interconnecting connections among circuits are created using resource of said programmable logic chip.
7. A method of creating TAF-DPS clock generators on a programmable logic chip, comprising the steps of: selecting a plurality of areas in said programmable logic chip, said areas are distributed in strategic locations of said programmable logic chip, said strategic locations are chosen by user of said programmable logic chip; creating at least one TAF-DPS clock generators for each said area; driving functional circuits in each said areas by flexible clock signals generated from said TAF-DPS clock generators in each said area.
8. The method of claim 7, wherein the creating of TAF-DPS clock generator comprises the steps of: creating a plurality of phase-evenly-spaced-signals from a base time unit; creating a TAF-DPS frequency synthesizer by configuring configurable blocks of said programmable logic chip; feeding said plurality of phase-evenly-spaced-signals to said TAF-DPS frequency synthesizer; outputting flexible clock signal synthesized from said TAF-DPS frequency synthesizer as clock signal.
9. The method of claim 8, wherein the creating of said base time unit for generating a plurality of phase-evenly-spaced-signals comprises the steps of: receiving a reference clock of known frequency; creating a series of flip-flops by configuring configurable blocks in said programmable logic chip; connecting said series of flip-flops as a loop; driving said series of flip-flops by said reference clock of known frequency; outputting all non-inverting and inverting outputs from said flip-flops as said plurality of phase-evenly-spaced-signals.
10. The method of claim 8, wherein the creating of base time unit comprises the steps of: receiving a reference signal of known frequency; selecting a PLL from said programmable logic chip; locking said PLL to said reference signal of known frequency; configuring said PLL to generate a plurality of outputs with a predetermined frequency; outputting said plurality of outputs from said PLL as said plurality of phase-evenly-spaced-signals.
11. The method of claim 8, wherein the creating of base time unit comprises the steps of: receiving a reference signal of known frequency; selecting a DLL from said programmable logic chip; locking said DLL to said reference signal of known frequency; configuring said DLL to generate a plurality of outputs with a predetermined frequency; outputting said plurality of outputs from said DLL as said plurality of phase-evenly-spaced-signals.
12. A method of driving circuits in an application by a flexible clock signal generated from a TAF-DPS clock generator, said TAF-DPS clock generator is implemented on a programmable logic chip, comprises the steps of: creating a specification of requirement on clock signal performance for said application; generating said flexible clock signal from said TAF-DPS clock generator, said TAF-DPS clock generator is created by using resource of said programmable logic chip; programming frequency control word and duty-cycle control word of said TAF-DPS clock generator to generate said flexible clock signal, said flexible clock signal achieves the performance defined in said specification of requirement; driving circuits in said application by said flexible clock signal.
13. The method of claim 12, wherein the programming of frequency control word and duty-cycle control word is accomplished by a control circuit, said control circuit is created by configuring configurable blocks resided on said programmable logic chip.
14. The method of claim 12, wherein the programming of frequency control word and duty-cycle control word is accomplished by software, said software is executed in a processor, said processor is incorporated in said application environment.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
(12)
(13)
(14)
(15)
DETAILED DESCRIPTION
(16) Reference will now be made in detail to various embodiments of the invention, examples of which are illustrated in the accompanying drawings. While the invention will be described in conjunction with the following embodiments, it will be understood that they are not intended to limit the invention to these embodiments. On the contrary, the invention is intended to cover alternatives, modifications and equivalents, which may be included within the spirit and scope of the invention as defined by the appended claims. Furthermore, in the following detailed description, numerous specific details are set forth in order to provide a thorough understanding of the present invention. However, it will be readily apparent to one skilled in the art that the present invention may be practiced without these specific details. In other instances, well-known methods, procedures, components, and circuits have not been described in detail so as not to unnecessarily obscure aspects of the present invention.
(17) Some portions of the detailed descriptions that follow are presented in terms of processes, procedures, logic blocks, functional blocks, processing, and other symbolic representations of operations on data bits, data streams or waveforms within a computer, processor, controller and/or memory. These descriptions and representations are generally used by those skilled in the arts of VLSI-circuit-and-system design to effectively convey the substance of their work to others skilled in the art. A process, procedure, logic block, function, process, etc., is herein, and is generally, considered to be a self-consistent sequence of steps or instructions leading to a desired and/or expected result. The steps generally include physical manipulations of physical quantities. Usually, though not necessarily, these quantities take the form of electrical, magnetic, optical, or quantum signals capable of being stored, transferred, combined, compared, and otherwise manipulated in a computer or data processing system. It has proven convenient at times, principally for reasons of common usage, to refer to these signals as bits, waves, waveforms, streams, values, elements, symbols, characters, terms, numbers, or the like.
(18) It should be borne in mind, however, that all of these and similar terms are associated with the appropriate physical quantities and are merely convenient labels applied to these quantities. Unless specifically stated otherwise and/or as is apparent from the following discussions, it is appreciated that throughout the present application, discussions utilizing terms such as processing, operating, computing, calculating, determining, manipulating, transforming, displaying or the like, refer to the action and processes of a computer or signal processing system, or similar processing device (e.g., an electrical, optical, or quantum computing or processing device), that manipulates and transforms data represented as physical (e.g., electronic) quantities. The terms refer to actions and processes of the processing devices that manipulate or transform physical quantities within the component(s) of a system or architecture (e.g., registers, memories, flip-flops, other such information storage, transmission or display devices, etc.) into other data similarly represented as physical quantities within other components of the same or a different system or architecture.
(19) Furthermore, for the sake of convenience and simplicity, the terms clock, time, rate, period, frequency and grammatical variations thereof are generally used interchangeably herein, but are generally given their art-recognized meanings. Also, for convenience and simplicity, the terms data, data stream, waveform and information may be used interchangeably, as may the terms connected to, coupled with, coupled to, and in communication with (each of which may refer to direct or indirect connections, couplings, and communications), as may the terms electrical path, channel, wire (each of which may refer to a physical channel for transferring electrical signal), as may the terms signal, pulse, pulse train, a sequence of digital data (each of which may refer to an electrical signal that has only two values: zero and one), as may the terms input, input port, input pin (each of which may refer to a physical channel for receiving data), as may the terms output, output port, output pin (each of which may refer to a physical channel for sending data), but these terms are also generally given their art-recognized meanings.
(20) Referring now to
(21) The base unit 120 is generated from a plurality of phase-evenly-spaced-signals. Referring now to
(22) Referring now to
(23) The TAF-DPS frequency synthesizer output's period can be calculated as T.sub.TAF=F.Math.. The control word F can take value in the range of [2, 2K], fraction included. When only integer is used in control word F, the TAF-DPS output is a signal of conventional frequency (i.e. only one type of cycle is used in the clock pulse train). When control word F has fractional part, the TAF-DPS uses Time-Average-Frequency concept in its output signal (i.e. more than one type of cycles can be used in the clock pulse train). The Time-Average-Frequency concept is explained in chapter 3 of reference [2]. The working principle of TAF-DPS can be found in chapter 4 of reference [2]. TAF-DPS frequency synthesizer 300 can function as the circuit block 110 in
f.sub.TAF=1/T.sub.TAF=1/(F.Math.)(1)
f.sub.TAF=f.sub.i/F(2)
f.sub.TAF=(K.Math.N/F).Math.f.sub.i(3)
f.sub.TAF=(K/F).Math.f.sub.i(4)
(24) The signal CLK_OUT 380 output frequency f.sub.TAF can be calculated using (1) (please see chapter 4 of reference [2]). When divider chain 210 of
(25) In current application, the term TAF-DPS clock generator describes the system that includes one or more TAF-DPS frequency synthesizers and a base time unit generator.
(26) Referring now to
(27)
(28) Referring now to
(29)
(30) Refer now to
(31) Refer now to
(32) In another embodiment of present invention, the base time unit is created from a plurality of phase-evenly-spaced-signals generated from an on-chip PLL. Said PLL is equipped on the programmable logic chip as a standard module. Multiple phases of same frequency are produced from said PLL. Said base time unit is formed from any two logically adjacent signals from said multiple phases.
(33) In a third embodiment of present invention, the base time unit is created from a plurality of phase-evenly-spaced-signals generated from an on-chip DLL. Said DLL is equipped on the programmable logic chip as a standard module. Multiple phases of same frequency are produced from said DLL. Said base time unit is formed from any two logically adjacent signals from said multiple phases.
(34) Refer now to
(35) Refer now to
f.sub.1/f.sub.2=F.sub.2/F.sub.1=(I.sub.2+r.sub.2)/(I.sub.1+r.sub.1)(5)
f.sub.1/f.sub.2=(1+r/I)(6)
(36) Refer now to
(37) Refer now to
(38) Refer now to
(39)
(40) Refer now back to
Exemplary Method of Using Programmable Logic Chip to Create TAF-DPS Clock Generator
(41) The present invention further relates to a method of using configurable blocks in a programmable logic chip to create a plurality of TAF-DPS clock generators on said chip. The method generally comprises the steps of (1) using configurable blocks to generate a plurality of phase-evenly-spaced-signals, or using on-chip PLL to generate a plurality of phase-evenly-spaced-signals, or using on-chip DLL to generate a plurality of phase-evenly-spaced-signals; 2) using configurable blocks to create one or more TAF-DPS frequency synthesizers; 3) feeding said plurality of phase-evenly-spaced-signals to said TAF-DPS frequency synthesizers; 4) programming said TAF-DPS frequency synthesizers to produce clock output signals of desired frequency, desired duty cycle, and etc.
Exemplary Method of Using TAF-DPS Clock Generators on Programmable Logic Chip to Drive Applications
(42) The present invention further relates to a method of using TAF-DPS clock generators implemented on a programmable logic chip to drive applications. The method generally comprises the steps of (1) creating a specification for a control function based on the requirement of a given application; 2) using configurable blocks to generate said control function that is used to program said TAF-DPS clock generators' frequency, duty-cycle and other parameters, or using software to control said TAF-DPS clock generators' frequency, duty-cycle and other parameters; 3) incorporating said TAF-DPS clock generators and said control function in said application; 4) driving the circuits of said application by flexible clock signals generated from said TAF-DPS clock generators.
CONCLUSION/SUMMARY
(43) Thus, the present invention provides circuits and methods to create TAF-DPS clock generators producing flexible clock signals of fine frequency resolution and fast frequency switching. Said TAF-DPS clock generators are created from configurable blocks in programmable logic chip. The flexible clock signals are used to drive applications with the intention of enabling innovation. The present invention uses the principle of Time-Average-Frequency direct period synthesis to create flexible clock signals on said programmable logic chip. Thus, the present invention advantageously utilizes the TAF-DPS clock generator's capabilities of arbitrary frequency generation and instantaneous frequency switching. Therefore, it enables innovations in application level.
(44) The foregoing descriptions of specific embodiments of the present invention have been presented for the purposes of illustration and description. They are not intended to be exhaustive or to limit the invention to the precise forms disclosed, and obviously many modifications and variations are possible in light of the above teaching. The embodiments were chosen and described in order to best explain the principles of the invention and its practical application, to thereby enable others skilled in the art to best utilize the invention and various embodiments with various modifications as are suited to the particular use contemplated. It is intended that the scope of the invention be defined by the claims appended hereto and their equivalents. [1] L. Xiu, The Concept of Time-Average-Frequency and Mathematical Analysis of Flying-Adder Frequency Synthesis Architecture, IEEE Circuit And System Magazine, 3rd quarter, pp. 27-51, September 2008. [2] L. Xiu, Nanometer Frequency Synthesis beyond Phase Locked Loop, August 2012, John Wiley IEEE press.