Abstract:
An input/output buffer including a bidirectional node, an output stage, an input stage, and a control circuit. The output stage has a first n-channel transistor coupled between the bidirectional node and a voltage supply node for pulling-up the bidirectional node, and first and second p-channel transistors coupled between the bidirectional node and the voltage supply node for pulling-up the bidirectional node. The input stage has a first inverter stage coupled between the bidirectional node and a first intermediate node and a second inverter stage coupled between the bidirectional node and a second intermediate node. The input stage also has a second n-channel transistor coupled between the first intermediate node and a ground node and a third n-channel transistor coupled between the second intermediate node and the ground node. The control circuit is coupled to the output stage and to the input stage and enables the output stage when in an output mode and disables the output stage when in an input mode. The control circuit has a first mode which disables the first and second p-channel transistors and enables the first n-channel transistor for operation with a first voltage supply level present at the voltage supply node and which the enables the second inverter stage and which turns the third n-channel transistor off.

Description:
This is a divisional of Application No. 08/452,365, filed May 26, 1995, now U.S. Pat. No. 5,612,637. 
    
    
     BACKGROUND OF THE INVENTION 
     1. Field of the Invention 
     The present invention relates to input/output (I/O) buffers, and more particularly, to a supply and interface configurable input/output buffer. 
     2. Description of the Related Art 
     An input and/or output buffer is often used to make connections from the inside of an integrated circuit (IC) chip to devices that are external to the IC chip. Specifically, an output buffer is used to transfer signals that are generated internally in the IC chip to one of the IC chip&#39;s package pins so that the signal can be transferred to an external device. An input buffer is used to transfer a signal generated by an external device and received at one of the IC chip&#39;s package pins inside the IC chip to be used internally. A buffer which performs input and output through the same node, such as a single IC package pin, is referred to as an input/output (I/O) buffer, or simply, an I/O. 
     One example application of such I/Os is for connecting a DRAM controller with an external memory. In this application, the combination of high-speed, low overshoot/undershoot, and a stable noise margin are the target design specifications. In general, with respect to the output portion of an I/O, increasing the speed of the transition from low to high and high to low tends to have the disadvantage of increasing the overshoot and undershoot that is generated in a standard totem-pole output design. In I/Os that are designed to operate with two different voltage supply levels, such as for example 5 V and 3.3 V, another undesirable phenomenon occurs when the supply voltage is lowered from 5 V to 3.3 V. Specifically, the input buffer&#39;s TTL (transistor-transistor logic) trip point shifts down with the lower supply voltage on standard input structures, and the transition speed of the output buffer is degraded. 
     Thus, there is a need for an I/O architecture having high-speed, low overshoot/undershoot, and a stable, minimized noise margin that overcomes the disadvantages discussed above. 
     SUMMARY OF THE INVENTION 
     The present invention provides a buffer circuit which includes an output node, a first n-channel transistor coupled between the output node and a voltage supply node for pulling-up the output node, a first p-channel transistor coupled between the output node and the voltage supply node for pulling-up the output node, and a second p-channel transistor coupled between the output node and the voltage supply node for pulling-up the output node. A control circuit disables the first and second p-channel transistors and enables the first n-channel transistor for operation with a first voltage supply level present at the voltage supply node. The control circuit enables the fist and second p-channel transistors for operation with a second voltage supply level present at the voltage supply node. 
     The present invention also provides a buffer circuit which includes a main input node and first and second intermediate nodes. A first inverter stage has an input node coupled to the main input node and an output node coupled to the first intermediate node. A first n-channel transistor is coupled between the first intermediate node and a ground node. A second inverter stage has an input node coupled to the main input node and an output node coupled to the second intermediate node. A second n-channel transistor is coupled between the second intermediate node and the ground node. A control circuit is coupled to the first and second inverter stages and to the first and second n-channel transistors. The control circuit has a first mode which enables the second inverter stage and which turns the second n-channel transistor off, and a second mode which the enables the first inverter stage and which turns the first n-channel transistor off. 
     A better understanding of the features and advantages of the present invention will be obtained by reference to the following detailed description of the invention and accompanying drawings which set forth an illustrative embodiment in which the principles of the invention are utilized. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     FIG. 1 is a block diagram illustrating an I/O buffer in accordance with the present invention. 
     FIG. 2 is a truth table illustrating the operation of the I/O buffer shown in FIG. 1. 
     FIG. 3 is a schematic diagram illustrating the output buffer shown in FIG. 1. 
     FIG. 4 is a schematic diagram illustrating the input buffer shown in FIG. 1. 
    
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT 
     Referring to FIG. 1, there is illustrated an I/O buffer 20 in accordance with the present invention. The I/O buffer 20 may be incorporated into an IC chip 22 and used to provide for the input and output of data at the DIN/OUT pin. The I/O buffer 20 includes an output buffer 24 and an input buffer 26. It should be well understood, however, that the output buffer 24 and the input buffer 26 may be used together as shown to form the bidirectional I/O buffer 20, or the output buffer 24 and the input buffer 26 may be used separately to form unidirectional output and input buffers, respectively. 
     In order to overcome the disadvantages discussed above, the I/O buffer 20 is configurable in its output buffer 24 drive characteristics. Furthermore, the device (i.e., transistor) ratios in the input buffer 26 are also configurable in order to adjust for changes in operating supply voltage in a mixed-voltage design. 
     Referring to FIG. 2, the I/O buffer 20 is configured to operate in output mode by setting the enable signal EN to a &#34;1&#34;, i.e., logic high, and to input mode by setting the enable signal EN to a &#34;0&#34;, i.e., logic low. When operating in input mode, the input buffer 26 is enabled and the output buffer 24 is disabled. Data is received by the IC chip 22 at the pin DIN/OUT. The pin DIN/OUT is coupled to the input buffer 26 input DIN1. The input buffer 26 sends the data to the rest of the IC chip 22 via the output DIN2. When operating in output mode, the output buffer 24 is enabled, and the input buffer 26 remains enabled but has no effect on the operation. Specifically, data generated internally by the IC chip 22 is transferred to DOUT1. The output buffer 24 sends the data to the package pin DIN/OUT via DOUT2. The data present on DOUT2 will also be sent to DIN2 via the input buffer 26, but this should have no effect on operation because the IC chip 22 is using the pin DIN/OUT as an output. 
     The I/O buffer 20 can be configured to operate in 5 V TTL by setting the THREE signal to a &#34;0&#34;, i.e., logic low, and the DRVCON signal to a &#34;0&#34;. When operating in TTL, the output buffer 24 will not pull DOUT2 all the way to the top rail. The I/O buffer 20 can be configured to operate in 5 V CMOS by setting the THREE signal to a &#34;0&#34;, i.e., logic low, and the DRVCON signal to a &#34;1&#34;, i.e., a logic high. When operating in CMOS, the output buffer 24 will pull DOUT2 all the way to the top rail. The I/O buffer 20 can be configured to operate in 3.3 V CMOS by setting the THREE signal to a &#34;1&#34;. When operating in 3.3 V, the DRVCON signal has no effect on the operation. This mode of operation may also be used for 3.3 V TTL operation. 
     Referring to FIG. 3, there is illustrated a detailed schematic of the output buffer 24. The output buffer 24 uses an n-channel pull-up transistor M1 for standard TTL 5 V operation. Transistor M1 is controlled by a voltage regulator 28 (or a slew rate control circuit 28) having a delay chain full turn-on. For 3.3 V operation a two p-channel transistor M2 and M3 pull-up approach is used. Transistor M2 is turned on first, followed by transistor M3 being turned on after a delay created by inverters 30, 32, and 34. Transistors M2 and M3 can also be used at 5 V in order to conform to CMOS levels. However, the TTL 5 V approach (i.e., pull-up transistor M1) is superior in speed and limiting overshoot and supply bouncing. 
     For both 3.3 V and 5 V operation the same pull-down approach may be used. Specifically, one n-channel transistor M4 turns on immediately, and then another n-channel transistor M5 is turned on via feedback. It should be understood, however, that many different pull-down approaches may be used in accordance with the present invention, and that transistors M4 and M5 are just one example approach. 
     Referring to FIG. 4, there is illustrated a detailed schematic of the input buffer 26. Data is received at DIN1, and data is output at DIN2. The last stage of the input buffer 26 is a NOR gate 30. The first stage of the input buffer 26 is selectable between one tuned for 5 V operation and one tuned for 3.3 V operation. Specifically, when the THREE signal is equal to a &#34;1&#34;, i.e., the circuit is configured for 3.3 V operation, the p-channel transistor M6 is turned on which permits the p-channel transistor M7 to be turned on when DIN1 is low. The n-channel transistor M13 is turned off. Furthermore, the p-channel transistor M9 is turned off which prevents the p-channel transistor M10 from conducting current when DIN1 is low. The n-channel transistor M12 is turned on. The n-channel transistors M8 and M11 will turn on and pull their respective drains low when DIN1 is high. Thus, one input of the NOR gate 30 is driven by transistors M7 and M8 in a totem pole fashion, and the other input of the NOR gate 30 is pulled down by transistor M12 in an open drain fashion. The ratio of transistors M7 and M8, which are used for pull up, is such that they are tuned to have a trip point which is ideal for 3.3 V operation. 
     On the other hand, when the THREE signal is equal to a &#34;0&#34;, i.e., the circuit is configured for 5 V operation, transistor M7 will not conduct current, transistor M13 is turned on, transistor M10 will be able to turn on, and transistor M12 is turned off. Thus, one input of the NOR gate 30 is driven by transistors M10 and M11 in a totem pole fashion, and the other input of the NOR gate 30 is pulled down by transistor M13 in an open drain fashion. The ratio of transistors M10 and M11, which are used for pull up, is such that they are tuned to have a trip point which is ideal for 5 V operation. 
     By way of example, the following transistor channel sizes may be used in the input buffer 26; the channel sizes are listed as width/length in micrometers (i.e., microns): M6=24/2; M7=24/2; M8=18/2; M9=22/2; M10=22/2; M11=54/2; M12=5/1; M13=5/1; M14=18/1; M15=18/1; M16=18/1; M17=18/1; M18=36/1; and M19=36/1. Similarly, the following transistor channel sizes may be used in the output buffer 24: M1=450/1; M2=240/1; M3=300/1; M4=180/1; M5=260/1; M20=15/1; M21=30/1; M22=8/2.5; M23=10/1; M24=10/1; M25=44/1; M26=5.6/2.6; M27=16.3/2.6; and M28=25/1. It should be well understood, however, that these transistor channel sizes are given only as examples and that other channel sizes may be used in accordance with the present invention. 
     The invention embodiments described herein have been implemented in an integrated circuit which includes a number of additional functions and features which are described in the following co-pending, commonly assigned patent applications, the disclosure of each of which is incorporated herein by reference: U.S. patent application Ser. No. 08/451,319, entitled &#34;DISPLAY CONTROLLER CAPABLE OF ACCESSING AN EXTERNAL MEMORY FOR GRAY SCALE MODULATION DATA&#34; (atty. docket no. NSC1-62700); U.S. patent application Ser. No. 08/451,965, entitled &#34;SERIAL INTERFACE CAPABLE OF OPERATING IN TWO DIFFERENT SERIAL DATA TRANSFER MODES&#34; (atty. docket no. NSC1-62800); U.S. patent application Ser. No. 08/453,076, entitled &#34;HIGH PERFORMANCE MULTIFUNCTION DIRECT MEMORY ACCESS (DMA) CONTROLLER&#34; (atty. docket no. NSC1-62900); U.S. patent application Ser. No. 08/452,001, entitled &#34;OPEN DRAIN MULTI-SOURCE CLOCK GENERATOR HAVING MINIMUM PULSE WIDTH&#34; (atty. docket no. NSC1-63000); U.S. patent application Ser. No. 08/451,503, entitled &#34;INTEGRATED CIRCUIT WITH MULTIPLE FUNCTIONS SHARING MULTIPLE INTERNAL SIGNAL BUSES ACCORDING TO DISTRIBUTED BUS ACCESS AND CONTROL ARBITRATION&#34; (atty. docket no. NSC1-63100); U.S. patent application Ser. No. 08/451,924, entitled &#34;EXECUTION UNIT ARCHITECTURE TO SUPPORT ×86 INSTRUCTION SET AND ×86 SEGMENTED ADDRESSING&#34; (atty. docket no. NSC1-63300); U.S. patent application Ser. No. 08/451,444, entitled &#34;BARREL SHIFTER&#34; (atty. docket no. NSC1-63400); U.S. patent application Ser. No. 08/451,204, entitled &#34;BIT SEARCHING THROUGH 8, 16, OR 32-BIT OPERANDS USING A 32-BIT DATA PATH&#34; (atty. docket no. NSC1-63500); U.S. patent application Ser. No. 08/451,295, entitled &#34;DOUBLE PRECISION (64-BIT) SHIFT OPERATIONS USING A 32-BIT DATA PATH&#34; (atty. docket no. NSC1-63600); U.S. patent application Ser. No. 08/451,571, entitled &#34;METHOD FOR PERFORMING SIGNED DIVISION&#34; (atty. docket no. NSC1-63700); U.S. patent application Ser. No. 08/452,162, entitled &#34;METHOD FOR PERFORMING ROTATE THROUGH CARRY USING A 32-BIT BARREL SHIFTER AND COUNTER&#34; (atty. docket no. NSC1-63800); U.S. patent application Ser. No. 08/451,434, entitled &#34;AREA AND TIME EFFICIENT FIELD EXTRACTION CIRCUIT&#34; (atty. docket no. NSC1-63900); U.S. patent application Ser. No. 08/451,535, entitled &#34;NON-ARITHMETICAL CIRCULAR BUFFER CELL AVAILABILITY STATUS INDICATOR CIRCUIT&#34; (atty. docket no. NSC1-64000); U.S. patent application Ser. No. 08/445,513, entitled &#34;TAGGED PREFETCH AND INSTRUCTION DECODER FOR VARIABLE LENGTH INSTRUCTION SET AND METHOD OF OPERATION&#34; (atty. docket no. NSC1-64100); U.S. patent application Ser. No. 08/450,153, entitled &#34;PARTITIONED DECODER CIRCUIT FOR LOW POWER OPERATION&#34; (atty. docket no. NSC1-64200); U.S. patent application Ser. No. 08/451,495, entitled &#34;CIRCUIT FOR DESIGNATING INSTRUCTION POINTERS FOR USE BY A PROCESSOR DECODER&#34; (atty. docket No. NSC1-64300); U.S. patent application Ser. No. 08/451,219, entitled &#34;CIRCUIT FOR GENERATING A DEMAND-BASED GATED CLOCK&#34; (atty. docket no. NSC1-64500); U.S. patent application Ser. No. 08/451,214, entitled &#34;INCREMENTOR/DECREMENTOR&#34; (atty. docket no. NSC1-64700); U.S. patent application Ser. No. 08/451,150, entitled &#34;A PIPELINED MICROPROCESSOR THAT PIPELINES MEMORY REQUESTS TO AN EXTERNAL MEMORY&#34; (atty. docket no. NSC1-64800); U.S. patent application Ser. No. 08/451,198, entitled &#34;CODE BREAKPOINT DECODER&#34; (atty. docket no. NSC1-64900); U.S. patent application Ser. No. 08/445,569, entitled &#34;TWO TIER PREFETCH BUFFER STRUCTURE AND METHOD WITH BYPASS&#34; (atty. docket no. NSC1-65000); U.S. patent application Ser. No. 08/445,564, entitled &#34;INSTRUCTION LIMIT CHECK FOR MICROPROCESSOR&#34; (atty. docket no. NSC1-65100); U.S. patent application Ser. No. 08/452,306, entitled &#34;A PIPELINED MICROPROCESSOR THAT MAKES MEMORY REQUESTS TO A CACHE MEMORY AND AN EXTERNAL MEMORY CONTROLLER DURING THE SAME CLOCK CYCLE&#34; (atty. docket no. NSC1-65200); U.S. patent application Ser. No. 08/452,080, entitled &#34;APPARATUS AND METHOD FOR EFFICIENT COMPUTATION OF A 486™ MICROPROCESSOR COMPATIBLE POP INSTRUCTION&#34; (atty. docket no. NSC 1-65700); U.S. patent application Ser. No. 08/450,154, entitled &#34;APPARATUS AND METHOD FOR EFFICIENTLY DETERMINING ADDRESSES FOR MISALIGNED DATA STORED IN MEMORY&#34; (atty. docket no. NSC1-65800); U.S. patent application Ser. No. 08/451,742, entitled &#34;METHOD OF IMPLEMENTING FAST 486™ MICROPROCESSOR COMPATIBLE STRING OPERATION&#34; (atty. docket no. NSC1-65900); U.S. patent application Ser. No. 08/452,659, entitled &#34;A PIPELINED MICROPROCESSOR THAT PREVENTS THE CACHE FROM BEING READ WHEN THE CONTENTS OF THE CACHE ARE INVALID&#34; (atty. docket no. NSC1-66000); U.S. patent application Ser. No. 08/451,507, entitled &#34;DRAM CONTROLLER THAT REDUCES THE TIME REQUIRED TO PROCESS MEMORY REQUESTS&#34; (atty. docket no. NSC1-66300); U.S. patent application Ser. No. 08/451,420, entitled &#34;INTEGRATED PRIMARY BUS AND SECONDARY BUS CONTROLLER WITH REDUCED PIN COUNT&#34; (atty. docket no. NSC1-66400); U.S. patent application Ser. No. 08/452,365, entitled &#34;SUPPLY AND INTERFACE CONFIGURABLE INPUT/OUTPUT BUFFER&#34; (atty. docket no. NSC1-66500); U.S. patent application Ser. No. 08/451,744, entitled &#34;CLOCK GENERATION CIRCUIT FOR A DISPLAY CONTROLLER HAVING A FINE TUNEABLE FRAME RATE&#34; (atty. docket no. NSC1-66600); U.S. patent application Ser. No. 08/451,206, entitled &#34;CONFIGURABLE POWER MANAGEMENT SCHEME&#34; (atty. docket no. NSC1-66700); U.S. patent application Ser. No. 08/452,350, entitled &#34;BIDIRECTIONAL PARALLEL SIGNAL INTERFACE&#34; (atty. docket no. NSC1-67000); U.S. patent application Ser. No. 08/452,094, entitled &#34;LIQUID CRYSTAL DISPLAY (LCD) PROTECTION CIRCUIT&#34; (atty. docket no. NSC1-67100); U.S. patent application Ser. No. 08/452,094, entitled &#34;IN-CIRCUIT EMULATOR STATUS INDICATOR CIRCUIT&#34; (atty. docket no. NSC1-67400); U.S. patent application Ser. No. 08/450,156, entitled &#34;DISPLAY CONTROLLER CAPABLE OF ACCESSING GRAPHICS DATA FROM A SHARED SYSTEM MEMORY&#34; (atty. docket no. NSC1-67500); U.S. patent application Ser. No. 08/450,726, entitled &#34;INTEGRATED CIRCUIT WITH TEST SIGNAL BUSES AND TEST CONTROL CIRCUITS&#34; (atty. docket no. NSC1-67600); U.S. patent application Ser. No. 08/445,468, entitled &#34;DECODE BLOCK TEST METHOD AND APPARATUS&#34; (atty. docket no. NSC1-68000). 
     It should be understood that various alternatives to the embodiments of the invention described herein may be employed in practicing the invention. It is intended that the following claims define the scope of the invention and that structures and methods within the scope of these claims and their equivalents be covered thereby.