Abstract:
A high density, high speed, and low power circuit scheme is presented for vector switching port applications for advanced IC design. Embodiments exhibit superior area-delay-power properties. The technique benefits a wide range of product applications ranging from high speed high bandwidth router to low power portable computing hardware. 5.0 TBPS peak traffic can be supported for an on-chip vector port.

Description:
BACKGROUND OF THE INVENTION 
     1. Field of the Invention 
     This invention relates to the field of circuits. 
     Portions of the disclosure of this patent document contain material that is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure as it appears in the Patent and Trademark Office file or records, but otherwise reserves all copyright rights whatsoever. Sun, Sun Microsystems, the Sun logo, Solaris, Java, JavaOS, JavaStation, HotJava Views and all Java-based trademarks and logos are trademarks or registered trademarks of Sun Microsystems, Inc. in the United States and other countries. 
     2. Background Art 
     Computer systems are comprised of components that consist of millions of integrated circuits. Computer system performance can sometimes be greatly improved by improving the performance of individual circuits. One type of circuit in a computer system is referred to as a two-way data port. Current data port circuits are complex and have a relatively large number of transistors. It is desired to reduce the number of devices in a data port to improve the performance of data port circuits. 
     Data Port Operation 
     A data port is a circuit that has two inputs (A and B) and produces two outputs (D and E). The data port can be configured to have the data on the A input passed to the D output, with the data on the B input passed to the E output, or the data port can be configured to have the data on the A input passed to the E output, with the data on the B input passed to the D output. The operation of the data port is controlled by an input control signal C that determines the input/output configuration of the data port. 
     The logical configuration of a two way data port is illustrated in FIG.  1 . Referring to FIG. 1, a two way data port  100  is shown with A and B inputs  101  and  102  respectively. The D and E are shown as outputs  104  and  105  respectively. The control signal C is shown as signal  103 . In the embodiment shown, when signal C is asserted, the A and B inputs are routed to outputs D and E respectively. When the inverse of signal C is asserted, the A and B inputs are routed to outputs E and D respectively. 
     Prior Art Circuit Implementations 
     First Prior Art Embodiment—FIG. 2 is an example of a first prior art implementation of the two way data port of FIG.  1 . Input signal A is coupled through inverter  202  to the input of standard cell circuit  203 . 1  and to the input of standard cell circuit  203 . 4 . Input B is coupled through inverter  206  to the input of standard cell  203 . 2  and to the input of standard cell  203 . 3 . 
     The outputs of standard cells  203 . 1  and  203 . 2  are coupled to D output  204 . The outputs of standard cells  203 . 3  and  203 . 4  are coupled to E output  205 . Standard cells  203 . 1  and  203 . 3  are enabled by signal CI  210 , and standard cells  203 . 2  and  203 . 4  are controlled by signal CB  211 . These signals are created when C input  207  is provided through inverter  208  to yield signal CB  211  and again through inverter  209  to yield signal CI  210 . When C input  207  is high, signal CI  210  is high and signal CB  211  is low. This enables standard cells  203 . 1  and  203 . 3  while disabling  203 . 2  and  203 . 4 . As a result, input A is coupled to output D and input B is coupled to output E. 
     When C input  207  is low, signal CI  210  is low and signal CB  211  is high. This enables standard cells  203 . 2  and  203 . 4 , disabling  203 . 1  and  203 . 3 . As a result, input A is now coupled to output E and input B is coupled to output D. 
     Each standard cell  203 . 1  through  203 . 4  of FIG. 2 is implemented with the circuit of FIG.  3 . FIG. 3 comprises PMOS transistors M 1 -M 7  and NMOS transistors M 8 -M 14 . The sources of PMOS transistors M 1 , M 2  and M 4 -M 7  are coupled to the upper voltage reference node. The sources of NMOS transistors M 8 , and M 10 -M 14  are coupled to the lower voltage reference node. Input E is applied to the gates of PMOS transistors M 1  and M 5  and NMOS transistors M 9  and M 11 . Input A is applied to the gates of PMOS transistor M 4  and NMOS transistor M 14 . Output node A′ (Y) is formed by the coupled drains of PMOS transistor M 7  and NMOS transistor M 8 . The drains of PMOS transistor M 1  and NMOS transistor M 11  are coupled to the gates of PMOS transistor M 2  and NMOS transistor M 12  to form node  4 . The drains of PMOS transistor M 4  and NMOS transistor M 14  are coupled to the gates of PMOS transistors M 3 , M 6 , M 13  and NMOS transistor M 10  to form node  5 . The drain of PMOS transistor M 2  is coupled to the source of PMOS transistor M 3  to form node  13 , and the drains of PMOS transistor M 3  and NMOS transistor M 12  are coupled to the gate of NMOS transistor M 8  and the drain of NMOS transistor M 13  to form node  2 . The drains of PMOS transistors M 5  and M 6  and NMOS transistor M 9  are coupled to the gate of PMOS transistor M 7  to form node  6 . The source of NMOS transistor M 9  is coupled to the drain of NMOS transistor M 10  to form node  12 . 
     A disadvantage of the circuit of FIG. 3 is that each standard cell uses  14  transistors. With four cells in the data port,  56  transistors are required for each data port. The cell is a tristate circuit and is inherently a poor driver. It uses larger area, more stages of delays, higher input capacitance, and is vulnerable to CB/CI skew induced transient current contentions. 
     Second Prior Art Embodiment—FIG. 4 illustrates a second prior art two way data port embodiment. The A input is coupled through inverter  402  to produce signal  405  coupled to the first input of standard cell  403 . 1  and to the second input of standard cell  403 . 2 . The B input is coupled through inverter  404  to produce signal  406  coupled to the first input of cell  403 . 2  and to the second input of cell  403 . 1 . Signal CI selects the first input of cells  403 . 1  and  403 . 2 , while signal CB selects the second input of cells  403 . 1  and  403 . 2 . The output of cell  403 . 1  is D output  407  and the output of cell  403 . 2  is E output  408 . 
     When signal CI is enabled, the first input of cells  403 . 1  and  403 . 2  is selected so that the A input is coupled to the D output  407  and the B input is coupled to the E output  408 . When signal CB is enabled, the second input of cells  403 . 1  and  403 . 2  is enabled so that the A input is coupled to the E output  408  and the B input is coupled to the D output  407 . 
     Each of cells  403 . 1  and  403 . 2  is comprised of the circuit of FIG.  5 . FIG. 5 comprises PMOS transistors M 1 -M 4  and NMOS transistors M 5 -M 8 . The sources of PMOS transistors M 1  and M 2  are coupled to the upper voltage reference node. The drains of PMOS transistors M 1  and M 2  are coupled to the sources of PMOS transistors M 3  and M 4  to form node  7 . The drains of PMOS transistors M 3  and M 4  are coupled to the drains of NMOS transistors M 6  and M 7  to form output node Y. The sources of NMOS transistors M 6  and M 7  are coupled to the drains of transistors M 5  and M 8 , respectively, and the sources of transistors M 5  and M 8  are coupled to the lower voltage reference node. Input A is applied to the gates of transistors M 3  and M 7 , input B is applied to the gates of transistors M 4  and M 8 , input C is applied to the gate of transistors M 2  and M 6 , and input D is applied to the gates of transistors of M 1  and M 5 . 
     A disadvantage of the circuit of FIG. 5 is the number of transistors. With two cells required, a total of  16  transistors is required for the data port. Also, the circuit is a poor driver. It involves two NTx or PTx for tf or tr switching. It also has double input gate load to the previous stage. 
     SUMMARY OF THE INVENTION 
     The present invention provides a best circuit configuration for data port solutions. One embodiment uses a pair of transmission gates as bridges to realize 2×2×D (M×N×D) logic switching in high speed (on the order of 5.0 TBPS) data switch ports. The simplicity of the circuit guarantees the physical closeness of the internal switching nodes D and E to their respective drivers. It also means least capacitance for those nodes. This circuit technique insures a high density, high speed, low power solution for any data port switching. The technique benefits a wide range of product applications ranging from high speed high bandwidth router to low power portable computing hardware. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     FIG. 1 illustrates a two way data port. 
     FIG. 2 illustrates a first prior art embodiment of a two way data port. 
     FIG. 3 illustrates the standard cell of FIG.  2 . 
     FIG. 4 illustrates a second prior art embodiment of a data port. 
     FIG. 5 illustrates the standard cell of Figure  4 . 
     FIG. 6 illustrates an embodiment of a data port using the present invention. 
     FIG. 7 illustrates the cell of FIG.  6 . 
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
     The invention is a method and apparatus for a data switch port. In the following description, numerous specific details are set forth to provide a more thorough description of embodiments of the invention. It is apparent, however, to one skilled in the art, that the invention may be practiced without these specific details. In other instances, well known features have not been described in detail so as not to obscure the invention. 
     The present invention provides a data port circuit with fewer transistors and higher performance than prior art schemes. A diagram of the data port of the present invention is illustrated in FIG.  6 . The A input is coupled to cells  603 . 1  and  603 . 2 . The output of cell  603 . 1  is coupled through inverter  604  to D output  605 . The output of cell  603 . 2  is coupled through inverter  606  to E output  607 . 
     The B input is coupled through inverter  608  to cells  603 . 3  and  603 . 4 . The output of cell  603 . 3  is coupled through inverter  606  to E output  607 . The output of cell  603 . 4  is coupled through inverter  604  to D output  606 . 
     The cells are configured so that a high CI signal enables cells  603 . 1  and  603 . 3 , and disables cells  603 . 2  and  603 . 4 . This results in the A input being coupled to the D output  605  and the B input being coupled to the E output  607 . Conversely a high CB signal enables cells  603 . 2  and  603 . 4 , and disables cells  603 . 1  and  603 . 3 . As a result, the A input is coupled to the E output  607  and the B input is coupled to the D output  605 . 
     A circuit diagram of the cells of FIG. 6 is illustrated in FIG.  7 . The cell is a transmission gate and consists of transistors M 1  and M 2 . Transistor M 1  is a p type transistor with its source coupled to the drain of n type transistor M 2  at input node  701 . The drain of transistor M 1  is coupled to the source of transistor M 2  at output node  703 . Transistor M 1  has a substrate connection to VDD and transistor M 2  has a substrate connection to ground. The gate of transistor M 1  is coupled to signal CB and the gate of transistor M 2  is coupled to signal CI. These signals are complementary so that both transistors are either open or closed. (The example shown corresponds to cells  603 . 1  and  603 . 4  of FIG.  6 . CB and CI are reversed for cells  603 . 2  and  603 . 3 ). When CB is enabled, the transmission gate of FIG. 7 is open, permitting a signal to pass from input node  701  to output node  702 . When CB is low, the gate is closed. 
     The present invention uses only twelve transistors including a perfect driver as opposed to 16 transistors with poor driver and 56 transistors of the prior art implementations. The circuit topology is inherently superior in area, speed, and transient power properties addressed as individual design criteria or as a whole. 
     In an alternate embodiment, a single n-type transistor is used instead of the transistor pair. This further reduces the transistor count, resulting in a simpler and faster circuit for the primary circuits and the C driver. 
     Although the invention has been described in connection with 2×2 ports, it has equal application to M×N×D ports. The principal circuit and topology can be a handcrafted hardware macro, as well as a software macro with a given vendor&#39;s device library. Ports and depths are scalable at the discretion of the designer based upon the silicon foundry vendor library, and constraints and objectives of the design or sub-design. 
     Circuit simulations have shown several orders of magnitude (e.g. 1000×) of improvement in area delay and power parameters are achievable over three generations of technology, including 0.35, 0.25 and 0.18 micron ruled based technologies. For a 2×2×256 port using 0.18 micron, benchmark performance is less than 200 ps for the data path, translating into a bandwidth of 640 GBPS (gigabytes per second). In other embodiments, ports can be of depth of  1024  and bandwidths of 5.0 terabytes per second can be achieved. 
     Thus, a data switch port is described in conjunction with one or more specific embodiments. The invention is defined by the claims and their full scope of equivalents.