Abstract:
A programmable logic device (“PLD”) includes circuitry for optionally and variably modifying characteristics of an input signal in any of several respects. Examples of such modifications include AC coupling the signal into the PLD, low pass filtering the signal (with selectable low-pass filter corner frequency), shifting the common voltage of the input signal, and/or subjecting the input signal to a selectable amount of attenuation.

Description:
BACKGROUND OF THE INVENTION 
   This invention relates to programmable logic device integrated circuits (“PLDs”), and more particularly to circuitry on PLDs that is variable to facilitate connecting the PLD to various external signal sources. 
   PLDs are typically intended to be relatively general-purpose devices. The market for a PLD product tends to be larger if the number of different applications in which that product can be successfully employed is greater. A PLD typically interacts with other devices in a system. The wider the range of different signals the PLD can successfully accept from such other system components, the greater the range of possible uses of the PLD, and therefore the greater the potential market for the PLD. By “different signals” in the preceding sentence, it is meant that these different signals have different characteristics or specifications. Examples of such different characteristics are (1) a difference in ground voltage level between the signal source and the PLD, or (2) a difference in common mode voltage level between the signal source and the PLD. Such signals may be data signals (e.g., high-speed serial data signals) or clock signals. High-performance analog receiver or clock buffers on a PLD tend to be optimized to work for a small range of common mode voltages. This range may be limited due to concerns about oxide overstress or keeping transistors in the proper operating range. Again, because a PLD should preferably meet the needs of a wide-range customer base, it would be desirable to be able to either move the commode mode of the incoming signal at a point prior to the PLD&#39;s analog receiver or clock buffer, or to limit that incoming signal&#39;s output swing to not overstress the receiver or buffer. Among other possible features, the present invention may allow the PLD to change the corner frequency of input signal interface circuitry, for example, in a programmable manner (e.g., using programmable configuration random access memory (“CRAM”) bits on the PLD), or in a dynamic manner. This can help the PLD support different applications where the frequency of interest (i.e., of a received signal) is different. 
   SUMMARY OF THE INVENTION 
   In accordance with certain aspects of the invention, a programmable logic device (“PLD”) may include an input signal node, input buffer circuitry, a circuit path connected between the input signal node and the input buffer circuitry, selectively usable AC coupling circuitry in the circuit path, a selectively usable resistance connection between the circuit path and a reference voltage source, and a selectively usable attenuation circuit connected to the circuit path. 
   The device may include one or more sources of control signals for controlling whether or not the various selectively usable circuit structures are used in a particular application of the device. The operational characteristics (e.g., the resistance or attenuation) of some of the selectively usable circuit structures may be variable, and control signals may be provided for controlling those characteristics. The various controls (control signals) may be programmable or dynamic. The circuitry may be single-ended or differential. 
   Further features of the invention, its nature and various advantages will be more apparent from the accompanying drawings and the following detailed description. 

   
     BRIEF DESCRIPTION OF THE DRAWINGS 
       FIG. 1  is a simplified schematic block diagram of an illustrative embodiment of circuitry in accordance with the invention. 
       FIG. 2  is a simplified schematic block diagram of an illustrative implementation of a representative component in the  FIG. 1  circuitry in accordance with the invention. 
   

   DETAILED DESCRIPTION 
   An illustrative embodiment of circuitry in accordance with the invention is shown in  FIG. 1 . This FIG. shows a PLD  10  in accordance with the invention receiving a signal from an external source (i.e., TX driver  20 ). In the particular example shown in  FIG. 1 , the signal from TX driver  20  is typically a high-speed serial data signal supplied in differential form, but the invention is equally applicable to single-ended implementations and to differential clock input implementations. The invention uses signals from elsewhere on PLD  10  (e.g., configuration random access memory (“CRAM”) or dynamic signals) to control the operation of the AC coupling capacitors, as well as the attenuation of the input signal to the PLD. 
   As shown in  FIG. 1 , the differential input signal to PLD  10  is connected across termination resistor  30 . End node RXP of resistor  30  is connected to switch S 1 P and to AC coupling capacitor C 1 P. The other end node RXN of resistor  30  is connected to switch S 1 N and to AC coupling capacitor C 1 N. Elements S 1 P and C 1 P are connected in parallel with one another. Elements S 1 N and C 1 N are similarly connected in parallel with one another. If switches S 1 P and S 1 N are closed, AC coupling capacitors C 1 P and C 1 N are bypassed and therefore effectively removed from the circuit. If switches S 1 P and S 1 N are open, AC coupling capacitors are in use providing AC coupling between nodes RXP/RXN and the downstream circuitry. The manner in which switches S 1 P and S 1 N are controlled has been mentioned above (i.e., the signals for controlling these switches typically come from other circuitry on the PLD). This aspect will be discussed in more detail later in this specification. 
   Downstream from elements S 1 P and C 1 P is node RXINP. Downstream from elements S 1 N and C 1 N is node RXINN. The following elements are connected in series between nodes RXINP and RXINN: switch S 2 P, variable resistor R 1 P, node  40 , variable resistor R 1 N, and switch S 2 N. Node  40  is connected to the output of common mode driver  50 . Switches S 2 P and S 2 N can either be open or closed, as determined by control signals of the same general kind and origin as the control signals that control the open or closed state of switches S 1   p  and S 1 N. The value of each of resistors R 1 P and R 1 N is controlled by the BW_Ctrl (bandwidth control) signals applied to that resistor. Again, these control signals may be of the same general kind and source as the signals that control switches S 1   p , S 1 N, S 2 P, and S 2 N. 
   Also connected to node RXINP is variable attenuation circuit  60 P. Also connected to node RXINN is variable attenuation circuit  60 N. An illustrative construction of representative variable attenuation circuit  60 P is shown in  FIG. 2 . In this illustrative embodiment, circuit  60 P includes a plurality of capacitors CS 1  through CSn. Each of these capacitors is connected in series with a respective one of switches SW 1  through SWn. Each subcircuit that includes a switch SW and a capacitor CS is connected between node RXINP and ground. In other words, all of the SW/CS subcircuits are connected in parallel with one another between node RXINP and ground. Each of switches SW can be individually turned on (closed position) or off (open position) by control signals that are labeled Atten_adj in  FIGS. 1 and 2 . The general kind and origin of the Atten_adj control signals can be similar to the kind and origin of the control signals for switches S 1 P, S 1 N, S 2 P, and S 2 N, as well as the BW_Ctrl control signals. The amount of capacitance that each of attenuation circuits  60 P and  60 N couples to the associated node RXINP or RXINN is determined by how many of switches SW are closed (and also, of course, by the magnitude of the capacitance CS connected to each switch SW that is closed). In particular, the amount of capacitance coupled to a node RXINP or RXINN is the sum of the capacitances of the capacitors CS to which closed switches SW are connected. The capacitive value of each of circuits  60  is therefore controlled by which and/or how many of switches SW are closed. 
   Nodes RXINP and RXINN are connected to the differential input terminals of RX driver  70 . Driver  70  drives the received signal to further downstream circuitry, which may lead ultimately to PLD core  80 . PLD core  80  typically includes the general-purpose, programmable, logic circuitry of the PLD. Core  80  is typically configured (programmed) to perform particular functions (e.g., logic functions) by programming the bits of CRAM  90 , which is shown for convenience as part of PLD core  80 . PLD core  80  (including CRAM  90 ) can be the source of the signals  100  for controlling switches S 1 P, S 1 N, S 2 P, S 2 N, and SW 1 -SWn, as well as the source for the BW_Ctrl signals. Any or all of these control signals  100  can be static or relatively static signals from CRAM  90 . (Of course, the values of such CRAM signals can be changed by reprogramming CRAM  90  if PLD  10  is of a reprogrammable kind.) Alternatively, any or all of control signals  100  can be more dynamic signals from operating (e.g., logic or memory) circuitry of core  80 . By “dynamic” it is meant that these signals can change from time to time during the course of normal, post-configuration operation of the PLD. Changing a CRAM  90  output signal requires reprogramming the device. Changing a dynamic output signal of PLD core  80  does not require reprogramming the device. Rather, a dynamic output signal can change, for example, as a result of some logical operation that is being performed by the core logic circuitry  80  of the device. 
   Continuing now with a discussion of the various kinds of operations that are possible with circuitry of the kind that is illustrated by  FIG. 1 , control signals  100  can be used to control the following: (1) ability to enable AC coupling via capacitors C 1 P/C 1 N by opening switches S 1 P/S 1 N, or alternatively to bypass such AC coupling by closing those switches; (2) ability to select an attenuation factor of selectable magnitude using attenuation circuits  60 P/ 60 N as controlled by the Atten_adj signals; and (3) ability to select the corner frequency (or cut-off frequency) of a low-pass filter function applied to the input signal. This last type of operation is selected by closing switches S 2 P/S 2 N and giving resistors R 1 P/R 1 N a desired amount of resistance using the BW_Ctrl control signals. 
   The above-described operating modes may be needed if, for example, TX driver  20  drives a differential signal having an amplitude that is too large (e.g., for RX driver  70  without the benefit of the present invention), or that has a common mode voltage that is too high (again, e.g., for RX driver  70  without the benefit of this invention). The invention can enable AC coupling capacitors C 1 P/C 1 N (by opening switches S 1 P/S 1 N) and additionally use internal resistors R 1 P/R 1 N and CM driver  50  (by closing switches S 2 P/S 2 N and controlling resistances R 1 P/R 1 N) to set the optimal common mode voltage. Thus, for AC coupling, switches S 1 P/S 1 N are open and switches S 2 P/S 2 N are closed. In addition, resistors R 1 P/R 1 N are controllable (via control signals BW_Ctrl), which allows controllable selection of the corner frequency of the low-pass, RC filter function. For example, each of resistors R 1 P and R 1 N can be a bank of resistors having different values. Each resistor can be selected or deselected by turning on or off a switch in series with that resistor. In such an illustrative implementation the BW_Ctrl signals are used to turn on or off these resistor-selecting switches. By selecting different ones of these resistors, the low-pass filter corner frequency can be changed. 
   Capacitor C 1 P/C 1 N along with attenuation circuits  60 P/ 60 N allow the user of PLD  10  to choose an attenuation factor. An example calculation for representative node RXINP is as follows:
 
 VRXINP=VRXP*C 1 P /( C 1 P+Csel ),
 
where Csel is the value of capacitance chosen using the bank of capacitors CS 1 -CSn in  FIG. 2 . For example, if Csel is chosen to be equivalent to C 1 P, then the attenuation factor is 0.5. (VRXINP means voltage at node RXINP. VRXP means voltage at node RXP.)
 
   The use of on-chip AC coupling capacitors can save valuable circuit board real estate (i.e., space or area), and is desired by users of PLDs because it reduces component counts. The use of on-chip AC coupling capacitors does, however, require data to be DC balanced (e.g., via encoding such as 8-bit/10-bit (“8B10B”) encoding). This approach is easily employed for clock signals, which tend to have a balanced pattern of information (i.e., signal alternately high and low for equal periods of time). 
   Additionally, attenuation adjustment as described above allows interfacing with signal swings that might violate overstress conditions. This is a situation that can arise as PLDs migrate to lower voltage oxides due to integrated circuit feature-size reductions. 
   Although the illustrative embodiment described for the most part above involves the handling of a differential input signal, it has been mentioned that this invention is equally applicable to handling a single-ended input signal. Illustrative circuitry for handling such a single-ended signal in accordance with the invention may basically include either the upper half or the lower half of the circuitry shown in  FIG. 1 . A somewhat more generic description of node  40  (whether in a differential embodiment as in  FIG. 1  or in a single-ended embodiment) is as a reference voltage source. 
   The portion of PLD core  80  other than CRAM  90  may be referred to as operational logic circuitry. Such operational logic circuitry may include such things as general-purpose programmable logic, blocks of dynamic memory, microprocessor blocks, DSP blocks, etc. This is among the circuitry of PLD  10  that is used for what may be termed normal or normal mode operation of the device (typically after the device has been configured by programming CRAM  90  during what may be referred to as configuration mode operation of the device). The operational logic circuitry of the device can be the source of “dynamic” control signals  100  as described earlier in this specification. Alternatively, CRAM  90  can be the source of “programmable” control signals  100 . If desired, some of control signals  100  may be dynamic, while others of control signals  100  may be programmable. 
   It will be understood that the foregoing is only illustrative of the principles of the invention, and that various modifications can be made by those skilled in the art without departing from the scope and spirit of the invention. It will be further understood that the switches shown and described above are typically transistor switches.