Embodiments of the present invention relate to achieving faster output signal edge rates in high frequency signaling for programmable logic devices (PLDs) and other integrated circuits (ICs), most particularly to signals which may be designed to conform to any one of several different high frequency input/output (I/O) signaling standards.
Programmable logic devices (PLDs) are well known. Commonly, a PLD has a plurality of substantially identical logic elements, each of which can be programmed to perform certain desired logic functions. The logic elements have access to a programmable interconnect structure that allows a user to interconnect the various logic elements in almost any desired configuration. The interconnect structure also provides access to a plurality of I/O pins, with the connections of the pins to the interconnect structure also being programmable and being made through suitable I/O buffer or driver circuitry. The PLD may be field programmable or programmable, either wholly or partially, in any other manner. It may be one-time only programmable, or it may be reprogrammable. The term PLD as used herein will be considered broad enough to include all such devices.
As user applications incorporating PLDs evolve to operate at yet higher and higher speeds, and higher frequency signaling standards evolve to support those requirements, it is desirable that the I/O capability of PLDs keep pace with these developments.
In order to achieve successful operation in circuits operating at high speeds, typically greater than 200 Mhz at present, existing I/O signaling standards require a signal waveform having fast edge rate and small output voltage swing, in order to maintain precise phase relationships between the high frequency signals. These two crucial requirements, fast edge rate and small output voltage swing, are physical characteristics inherently in opposition with each other. Overdriving for a faster edge rate directly results in increased output voltage swing. It is therefore becoming increasingly difficult to meet both requirements when the same output current settings are used for both AC and DC states as circuit speeds continue to increase.
An AC current booster is described herein capable of operating at high frequencies for high speed applications and is described in several embodiments including a single-ended output circuit and a differential output circuit. Although the signal frequencies are typically around 200 MHz in one embodiment, the present invention may be equally applicable to circuit speeds that are lower or higher. Embodiments of the present invention can be programmed to provide any specific combination of output current, capacitive loading, output voltage swing and signal edge rate (typically in the order of 100 picoseconds) in order to conform to any one of several well known I/O signaling standards.
Some examples of commonly known I/O standards which use single-ended signaling circuits include High Speed Transceiver Logic (HSTL) Classes 1 and 2, Series Stub Terminated Logic (SSTL) Classes 1 and 2, and Peripheral Component Interface (PCI). Embodiments of the present invention are compatible with these examples.
Other commonly known I/O standards which use differential signaling circuits include Low Voltage Differential Signaling (LVDS), HyperTransport (HT), and Low-Voltage Positive Emitter-Coupled Logic (LVPECL). Embodiments of the present invention are compatible with these examples.
Embodiments of the present invention allow for bifurcated control of the AC switching rate and the DC state of a given output signal, in order to achieve faster rising and falling edge rates without the undesirable increased output voltage swing. Fast edge rates require a large switching current to charge up the capacitive loading, while providing a small DC current to limit the output voltage swing. The programmable current booster described here provides a separate AC current during the output switching phase, while not affecting the DC current or the output voltage swing. Importantly, the strength and the duration of the AC booster current are programmable to allow a user the maximum flexibility in conforming to any of the I/O signaling standards such as HSTL, SSTL, LVDS, LVPECL or HyperTransport, though the present invention is not limited to only those standards. Embodiments of the present invention may be equally applicable to other relevant existing standards as well as those standards which have yet to be proposed or fully developed.
Though not limited to implementation in PLDs, the embodiments of the present invention are particularly suited to PLD output drivers and output drivers for other programmable ICs. These devices tend to have more demanding I/O requirements as they are very commonly deployed in interfacing with many varied signaling standards.
The term “rising edge” used in describing the embodiments of the present invention refers to the rising edge of the signal waveform as the signal voltage level transitions from a LOW to a HIGH state. Similarly, the term “falling edge” refers to the falling edge of the signal waveform as the signal voltage level transitions from a HIGH to a LOW state.
Similarly, the falling edge characteristics are conditioned and controlled via falling edge control circuitry 110 and a falling edge output current regulation circuitry 112 of
Output transistors 220 and 224 are used to regulate the magnitude of the AC current and DC current. Transistor 220 is controlled by the output of OR gate 212. Transistor 224 is controlled by the output of AND gate 216. The duration of the current flowing through the output transistors is programmable via the rising edge control circuit 106 and falling edge control circuit 110.
Common input signal 102 is typically inverted as applied to all circuits depicted in
If configuration signal 104 is LOW, output transistor 220 is always off. When configuration signal 104 is HIGH, output transistor 220 is enabled, but the duration of its ON state is programmable in two ways. First, if RAM bit 202 is programmed to be HIGH, then output transistor 220 will remain ON as long as common input signal 102 is HIGH, thereby providing a continuous DC output current which would contribute to the output voltage swing. Second, if RAM bit 202 is configured to be LOW, then output transistor 220 will be ON only during the edge transition time when input signal 102 is switching from LOW to HIGH. The duration of this ON time is programmable via programmable delay element 206. This short period of current through output transistor 220 will charge up the loading on output pin 114, and reduce the rise time, but will not affect the DC output voltage swing.
Similarly, output transistor 224 can be totally disabled when configuration signal 103 is LOW, or can be programmed to be ON as long as common input signal 102 is low, or can even be programmed to be ON only when common input signal 102 is switching from HIGH to LOW, thereby providing a DC output current. Configuration bit 204 controls operation of falling edge circuit 110. Programmable delay element 208 is similarly used to control the ON duration of output transistor 224.
Rising edge output transistor 220 is most efficiently implemented using PMOS construction in one embodiment, though it is not limited to such. On the other hand, inherent NMOS transistor characteristics favor their use in falling edge output transistor 224.
Additional parallel-coupled sets of control circuits can be connected in the cascaded manner shown for at least a second set of rising and falling edge circuitry 236, each such output set having varying channel width, thereby allowing users to program them into various combinations of DC and AC current paths. To control the strength of the current for the output signal 114, several output transistors may be connected in parallel. In this case, pull-up output transistors 220 and 232 are shown connected in parallel, and so are pull-down output transistors 224 and 234. At least one of pull-up output transistors 220 and 232 and one of pull-down output transistors 224 and 234 should be programmed to provide DC current. In this manner, users can select different strengths for the DC and AC currents separately, thereby achieving a fast edge rate with a relatively small output voltage swing.
The falling edge of 252 causes the falling edge of both 253 and 254. The falling edge of 253 starts the rising edge of output data signal 255 and the rising edge of 254 starts the falling edge of output data signal 255.
According to this operational mode, if configuration bit 202 is programmed high, then transistor 220 will be on as long as the input signal 102 is high, providing a continuous output current which would contribute to the DC output voltage swing.
In this case, the configuration bit 202 (
In operation, if bit 202 is low, then transistor 220 will be ON only during the transition time when the input 102 is switching from low to high; the duration of this ON time can be programmed by the programmable delay element 206. This short period of current through transistor 220 will charge up the loading on the output pin and reduce the rise time, but will not generally affect the DC output voltage swing.
Similarly, transistor 224 can be totally disabled when enable 103 is low, or programmed to provide a DC output current if enable 103 is high and 204 is low, or further, programmed to be ON only when the input is switching from high to low. The programmable delay 208 controls the duration of the ON state.
The programmable current booster according to the embodiment of the present invention described above for a single-ended output driver may also be applied in a differential output driver. Differential drivers are used to implement differential signals which are carried on pairs of conductors in which the signals propagate in parallel. Differential signals are opposite in polarity and referenced relative to each other, rather than to ground.
The differential output driver of
In operation of circuit 510, if the enable signal 514 is low, then the output of the OR gate 602 is forced high regardless of the data input pin 502/504 once the inverter signal output becomes stable. If the enable signal 514 is high, then the output of the OR gate 602 will track the data input value 502/504, again, once the output of the inverter is stable.
The DC stage rising edge control circuits 510 should be designed to have the same delay as the rising edge AC booster control circuits 106, so the DC and AC currents are switched on simultaneously. Alternately, rising edge control circuit 106, once programmed to provide DC current, can be used to control output transistors 516/518, again providing simultaneous switching on for the DC and AC currents.
In operation of circuit 512, if the enable signal 514 is low, then the output of the AND gate 702 is forced low regardless of the data input pin pair 502/504. If the enable signal 514 is high, then the output of the AND gate 702 will track the data input value 502/504.
The DC stage falling edge control circuit 512 should be designed to have the same delay as the AC booster control circuits 110, so the DC and AC currents are switched on simultaneously. Or alternately, falling edge control circuit 110, once programmed to provide DC current, can be used to control output transistors 528 and 530, whereby the DC and AC currents will be switched on simultaneously.
In operation, output transistors 516, 528, 518 and 530 provide DC output current, while transistors 522, 523, 520 and 521 are AC current boosters. The control circuit for the DC output transistors is designed to have the same delay as the AC booster control circuits, so the DC current and AC current will be switched on at the same time.
While specific circuits have been used to describe the present invention, the idea of using a programmable current booster in an integrated circuit output driver, with programmable duration and programmable strength of the AC booster current may be implemented using other circuit embodiments. It is intended that the invention not be limited to the particular embodiments disclosed, but that the invention will include all embodiments and all equivalents falling within the scope of the claims.