The present invention relates to a pulse generator having selectable delays between pulses. The selectable delays provide a pulse train output.
Programmable delay circuits have been used in a variety of applications, for example, in testing and in memory configurations. A variety of digital designs and techniques are available for controlling the delay steps and pulse widths of an output signal. Prior art circuits suffer from the disability to quickly switch a delay from the clock chain for accuracy or precise timing needs, or for pure data speed or throughput increase. For example, U.S. Pat. No. 5,594,690 to Rothenberger et al., entitled “Integrated circuit memory having high speed and low-power by selectively coupling compensation components to a pulse generator,” Rothenberger describes a major problem with existing circuits not having predictable switching speeds, and large delay tolerances. An object of the Rothenberger invention is to provide faster operating speeds and smaller power dissipation. With the overall need to build faster circuits in a variety of areas, pulse generator designs must evolve and improve. This requirement may be met by building faster digital devices or by implementing new design ideas to reduce delay within any system that requires variable pulse outputs or variable pulse widths. A speed or throughput increase also provides an increase in bandwidth as the rate or density of data increases.
The present invention is a selectable delay pulse generator, which is designed to create a pulse train with a delay between pulses, or pulse edges, representing encoded data. The present invention significantly increases the bandwidth within a given clock cycle by utilizing a delay chain with taps fed to a reduced voltage pre-charge multiplexer using an automatic pre-charge control circuit. The multiplexer selects an output from the delay chain, and quickly switches the pulse generator output with the aid of a reduced voltage pre-charge circuit.
The delay chain is made of individual delay elements, where the speed of each element may be governed by a current mirror.
A multiplexer is coupled to and controlled by an n-bit register that is coupled to the output of a state machine. In general, the state machine output is determined by a transition function and the state of an input to the state machine. In some embodiments, the state machine 40 may include a counter, a state mapping function, and a plurality of output states. It is preferred that the state machine circuitry is implemented on the same IC (integrated circuit) with the other pulse generator circuits. However, the state machine may be implemented in hardware, for example an different integrated circuit, by software, or by other control signals.
Increased speed and, consequently, increased bandwidth, are due to a reduced delay through the reduced voltage pre-charge multiplexer and the relaxed timings allowed by the shortened pulses of the automatic pre-charge circuit. A minimum delay increment can be shorter in time, more encoded pulses per clock period, or a faster clock period, (or a combination) may be implemented and the encoding system can be faster.
The exemplary selectable delay pulse generator 100 of
A clock of known frequency is connected to the clock input 11 and to the delay chain 10. In a specific embodiment, the selectable delay pulse generator 100 consists of a current controllable delay chain 10 with a plurality of n output taps 12 (for example, 48 taps). An optimized delay chain will contain as many delay elements to provide as many delay intervals as possible with in a single clock period. Generally, the delay chain provides rising or falling edges at regular selectable intervals. In one embodiment, the delay chain is a current controlled delay. The delay chain 10 is made of individual delay elements, where the speed or delay interval of each element may be controlled, for example by an ADC (analog-to-digital converter) driven current mirror. Also, in another embodiment, a control loop may be used to set the current mirror, for example from between 10-100 microAmps, therefore setting the delay chain speed. Adjusting the delay chain speed may be used to calibrate the delay chain delay to an external clock. In addition, adjusting the delay chain speed may be used to counter act variations in process, temperature, or voltage. The output taps 12 coupled to the delay chain 10 are selectable by a pre-charge multiplexer 20 having individual (tap) selects 14 for each output tap 12. The output taps 12 are controlled by an n-bit register 30.
A delay between pulses output by the pulse generator 100 is a function of the data to be encoded by the state machine 40. Generally, the state machine 40 receives the data to be encoded, determines the next tap to be selected, and selects the tap when triggered. The encoding method depends on the encoding scheme. An exemplary encoding scheme is shown in the chart below (where T is the current tap number):
The actual pulse is created by the rising edge of the clock input 11 moving through the delay chain 10 as it is observed through the output taps 12, which shift as the clock moves through the delay chain 10. The state machine 40, controlling the pre-charge multiplexer 20 through a register 30 having a pre-selected number of bits, couples at least one output tap 12 to the encoded output line 50, to define the time location of critical signal edges (rising or falling) of the encoded pulse train output. In one embodiment, the encoded pulse train output is provided to the input of the state machine 40, which is then triggered to change its state and select a new output tap 12. The state machine 40 must be able to select or couple the new output tap to the encoded output 50 before the clock edge that propagates through the delay chain 10 reaches the new output tap 12 that is to be selected. The minimum encoded delay time increment must be greater than the amount of time it takes for the output tap signal edge to travel from the output tap 12 to the encoded output line 50, in addition to the amount of time it takes for the state machine 40, tap register 30, and pre-charge multiplexer 20 to select the next output tap 12.
Referring to
The reduced voltage pre-charge circuit allows a faster switch point due to the reduced voltage of Vpc thus providing a reduced switch delay time from a selected output of tap 12 to the multiplexer output 70. The reduced switch delay time relieves the state machine 40 from having to complete the entire duration of each pulse before starting the next output tap 12 selection. The faster the output is generated from the delay chain 10 edge at the output tap 12, the faster the state machine 40 will be triggered to shift into the next select state. The circuit provides the following advantages:
1. A reduced delay time 210, as shown in
2. A short pulse width 310, as shown in
In an exemplary resulting output, as shown in
By having the multiplexer output a short pulse 310 by utilizing an automatic pre-charge circuit, a minimum pulse width is allowed and the state machine 40 does not need to account for a longer set-up time. The exemplary selectable delay pulse generator effectively has a substantially reduced set-up time requirement between a tap selection and the clock edge arriving at the output tap to be selected.
It is to be understood that the above description is intended to be illustrative, and not restrictive. Many other embodiments will be apparent to those of skill in the art upon reading an understanding the above description. The scope of the invention should, therefore, be determined with reference to the appended claims, along with the full scope of equivalents to which said claims are entitled.
This application is a Continuation of U.S. application Ser. No. 10/961,584, filed Oct. 8, 2004, which claims priority from Provisional Application No. 60/510,748 filed Oct. 10, 2003, both of which are incorporated herein by reference in their entirety.
Number | Name | Date | Kind |
---|---|---|---|
3937936 | Saporito et al. | Feb 1976 | A |
4748595 | Mattausch et al. | May 1988 | A |
4797585 | Segawa et al. | Jan 1989 | A |
4797586 | Traa | Jan 1989 | A |
5144174 | Murakami | Sep 1992 | A |
5237224 | DeLisle et al. | Aug 1993 | A |
5243227 | Gutierrez, Jr. et al. | Sep 1993 | A |
5243240 | Murakami et al. | Sep 1993 | A |
5316171 | Danner et al. | May 1994 | A |
5376849 | Dickol et al. | Dec 1994 | A |
5418756 | McClure | May 1995 | A |
5444666 | Oh | Aug 1995 | A |
5459422 | Behrin | Oct 1995 | A |
5479128 | Jan et al. | Dec 1995 | A |
5487048 | McClure | Jan 1996 | A |
5493241 | Landry et al. | Feb 1996 | A |
5502672 | Kwon | Mar 1996 | A |
5594690 | Rothenberger et al. | Jan 1997 | A |
5596538 | Joo | Jan 1997 | A |
5646904 | Ohno et al. | Jul 1997 | A |
5684809 | Stave et al. | Nov 1997 | A |
5757713 | Gans et al. | May 1998 | A |
5757718 | Suzuki | May 1998 | A |
5777501 | AbouSeido | Jul 1998 | A |
5793688 | McLaury | Aug 1998 | A |
5801985 | Roohparvar et al. | Sep 1998 | A |
5812148 | Takasugi et al. | Sep 1998 | A |
5841789 | McClure | Nov 1998 | A |
5852379 | Jiang | Dec 1998 | A |
5880996 | Roohparvar | Mar 1999 | A |
5889726 | Jeddeloh | Mar 1999 | A |
5892720 | Stave et al. | Apr 1999 | A |
5898635 | Raad et al. | Apr 1999 | A |
5930182 | Lee | Jul 1999 | A |
5978286 | Chang et al. | Nov 1999 | A |
6052011 | Dasgupta | Apr 2000 | A |
6061296 | Ternullo, Jr. et al. | May 2000 | A |
6074698 | Sakurai et al. | Jun 2000 | A |
6087855 | Frederick et al. | Jul 2000 | A |
6111796 | Chang et al. | Aug 2000 | A |
6150863 | Conn et al. | Nov 2000 | A |
6177807 | Bertin et al. | Jan 2001 | B1 |
6286118 | Churchill et al. | Sep 2001 | B1 |
6288585 | Bando et al. | Sep 2001 | B1 |
6352591 | Yieh et al. | Mar 2002 | B1 |
6438043 | Gans et al. | Aug 2002 | B2 |
6486712 | Landry et al. | Nov 2002 | B1 |
7072433 | Bell | Jul 2006 | B2 |
20010052046 | Afghahi et al. | Dec 2001 | A1 |
20020004892 | Gans et al. | Jan 2002 | A1 |
20020135761 | Powell et al. | Sep 2002 | A1 |
20050077941 | Fagan et al. | Apr 2005 | A1 |
Number | Date | Country |
---|---|---|
WO-2005036747 | Apr 2005 | WO |
WO-2005036747 | Apr 2005 | WO |
Number | Date | Country | |
---|---|---|---|
20090284296 A1 | Nov 2009 | US |
Number | Date | Country | |
---|---|---|---|
60510748 | Oct 2003 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 10961584 | Oct 2004 | US |
Child | 12510200 | US |