CMOS driver circuit
CROSS REFERENCE TO RELATED APPLICATIONS 
     This application for patent is related to the following application for patent filed concurrently herewith: 
     CMOS DIFFERENTIAL RECEIVER, Ser. No. 08/376,705. 
     The above cross-referenced application is hereby incorporated by reference into this Application as though fully set forth herein. 
     FIELD OF THE INVENTION 
     The present invention relates in general to data processing systems, and in particular, to driver and receiver circuits for distribution of a clock signal. 
     BACKGROUND OF THE INVENTION 
     A clock signal is a steady stream of timing pulses that synchronize each and every operation within a data processing system. The clock rate of a computer essentially determines the maximum operating speed of that computer. Computer designers are continually attempting to increase the speed of computers, and thus always desire a faster clock rate. 
     A problem with merely increasing the clock rate is that the signal generated and transmitted becomes degraded at high frequencies to the extent where the various components within the data processing system are either not able to interpret the clock pulses or erroneously interpret clock signals, resulting in a lack of synchronization within the data processing system. One of these problems is a skewing of the clock signal, which may result in the clocked circuits not responding evenly to the clock signal. A related symptom is the concept of duty cycle. If each pulse of the clock signal is not comprised of substantially a 50% duty cycle, synchronization may be lost. 
     Complimentary Metal-Oxide Semiconductor (&#34;CMOS&#34;) field-effect transistor logic circuitry has become a dominant technology in the production and manufacture of circuitry in data processing systems. Such CMOS transistors offer low power dissipation, but require a minimum level of bias voltage in order to effectively operate. In comparison to bipolar technology, CMOS operates on a square law principal. Bipolar components consume more power than CMOS components. Furthermore, CMOS is voltage dependent while bipolar components are dependent upon current to drive the circuit. CMOS circuits operate on a threshold voltage, which is the voltage that turns a device on. This bias voltage commonly determines the voltage swing of a clock signal produced with such CMOS circuitry. However, this voltage swing limits the clock speed in that the rise time required to transition from the low level to the high voltage level of the clock signal determines how quickly the clock signal can transition from one pulse to the next. In other words, it takes a longer time for the signal to rise and then to fall. A full swing voltage signal also dissipates more power than a low voltage swing signal. Additionally, a full swing signal causes more coupled noise, since noise is proportional to the voltage swing. Furthermore, a full voltage swing signal can cause distortion of the clock pulse width induced by dispersion in the distribution media. 
     As a result of the foregoing, there is a need in the art for clock generation circuitry that provides a higher frequency clock signal at lower voltage levels within CMOS technology. 
     SUMMARY OF THE INVENTION 
     Thus, it is an objective of the present invention to implement a clock distribution system for a data processing system in CMOS technology that is capable of transferring a high frequency, low voltage swing clock signal to various portions of a data processing system without skewing and general degradation of the clock signal. 
     In an attainment of the above objective, a CMOS differential driver circuit is implemented to receive a full swing voltage clock signal and convert this signal to a low voltage clock signal for transmission to various receivers throughout the data processing system, which is then reconverted by a CMOS differential receiver circuit to a full swing clock signal for use by the various portions of the data processing system. Frequencies of 200 and 400 MHz are achievable with the circuitry of the present invention. 
     The driver and receiver circuits are also implemented with circuits that place the driver and/or receiver in a test mode. 
     The driver and receiver circuits of the present invention may be implemented within a uniprocessor or multiprocessor data processing system having one or more processors coupled via a system bus to a system memory and other peripheral devices. 
     An advantage of the present invention is that it provides a high stability, low jitter differential clock signal to various logic circuits within a data processing system, with a duty cycle at substantially 50%. 
     Another advantage of the present invention is that it minimizes clock skew. 
     Yet another advantage of the present invention is that it transmits a low voltage swing differential clock signal to provide for higher speed transmissions. 
     Still yet another advantage of the present invention is that it supplies differential clock signals creating a cancellation of electromagnetic fields and cross talk. 
     Additionally, an advantage of the present invention is that the circuits provide orthogonal output states when inputs to the circuits are floating. 
     Another advantage is that the receiver can operate over a common mode voltage range that will allow ±1.0 volt potential ground difference between the driver and receiver power supplies. 
     Another advantage is that the low voltage level alleviates clock pulse width distortion induced by dispersion in the distribution media. 
     And another advantage of the present invention is that delay tracking between the driver and receiver is matched, within a small percentage. 
     The foregoing has outlined rather broadly the features and technical advantages of the present invention in order that the detailed description of the invention that follows may be better understood. Additional features and advantages of the invention will be described hereinafter which form the subject of the claims of the invention. 
    
    
     BRIEF DESCRIPTION OF THE DRAWING 
     For a more complete understanding of the present invention, and the advantages thereof, reference is now made to the following descriptions taken in conjunction with the accompanying drawings, in which: 
     FIG. 1 illustrates clock distribution in a data processing system in accordance with the present invention; 
     FIG. 2 illustrates an interconnection of the driver and receiver of the present invention; 
     FIG. 3 illustrates a circuit diagram of the driver circuit of the present invention; 
     FIG. 4 illustrates an exemplary waveform diagram of the differential clock signals outputted from the driver circuit of the present invention; 
     FIG. 5 illustrates a circuit diagram of the receiver circuit of the present invention; 
     FIG. 6 illustrates a data processing system configurable for embodying the present invention; 
     FIG. 7 illustrates a feedback clocking system for delay tracking; and 
     FIG. 8 illustrates an exemplary waveform diagram of the differential clock signals outputted from the receiver circuit of the present invention. 
    
    
     DETAILED DESCRIPTION OF A PREFERRED EMBODIMENT OF THE INVENTION 
     In the following description, numerous specific details are set forth such as specific word or byte lengths, etc. to provide a thorough understanding of the present invention. However, it will be obvious to those skilled in the art that the present invention may be practiced without such specific details. In other instances, well-known circuits have been shown in block diagram form in order not to obscure the present invention in unnecessary detail. For the most part, details concerning timing considerations and the like have been omitted inasmuch as such details are not necessary to obtain a complete understanding of the present invention and are within the skills of persons of ordinary skill in the relevant art. 
     Refer now to the drawings wherein depicted elements are not necessarily shown to scale and wherein like or similar elements are designated by the same reference numeral through the several views. 
     Referring to FIG. 1, there is illustrated a clock distribution as may be implemented within a data processing system, such as the system illustrated in FIG. 6 described below. Crystal oscillator chip 101 produces the source frequency signal to be used as the clock signal throughout the system. Signals from chip 101 should adhere to the AC2 (advanced clock) specification. The AC2 specification provides that the voltage swing is between 500 millivolts and 1.3 volts, wherein a logic &#34;0&#34; is approximately 500 millivolts, while a logic &#34;1&#34; is approximately 1.3 volts; it further provides for a 50% crossing point at about 0.9 volts, and a 100 ohm termination at the inputs of the receiver circuit. Chip 101 supplies a 400 MHz signal to switch section 102, which contains master maintenance device unit (&#34;M-MDU&#34;) 103 and slave maintenance device unit (&#34;S-MDU&#34;) 104. A master maintenance device unit is a master clock chip, while a slave maintenance device unit is a slave clock chip, which receives clock signals from the master maintenance device unit. The master maintenance device unit can provide 400 MHz and 200 MHz clock signals to the slave maintenance device unit chips. The 400 MHz signal from crystal oscillator chip 101 is received by M-MDU 103, which in turn transmits clock signals to three different locations. A 200 MHz signal is transmitted from M-MDU 103 to S-MDU 104, which supplies a 200 MHz signal to switch section 107. 400 and 200 MHz signals are transmitted from M-MDU 103 to S-MDU 106, which resides within processor module 105. Processor module 105 consists of a CPU, an L2 cache and L2 directory and the clock chip (S-MDU). The L2 directory is primarily a static random access memory chip. S-MDU 106, in turn, supplies processor module 105 with 50, 200 and 400 MHz signals. M-MDU 103 also supplies a 200 MHz signal to S-MDU 107, which may reside on a memory card within the data processing system. S-MDU 107 is operable to supply 100 and 200 MHz signals to the memory card. 
     A clock receiver circuit in accordance with the present invention is located in M-MDU 103 to receive the 400 MHz signal from crystal oscillator chip 101. Receiver circuits are also located in S-MDU&#39;s 104, 106, 107 to receive the various signals from M-MDU 103. Furthermore, clock driver circuits are located within M-MDU 103 to transmit the various clock signals described above to S-MDU&#39;s 104, 106, 107. 
     Referring next to FIG. 2, there is illustrated a diagram of the interconnections between driver circuits and receiver circuits within the configuration illustrated in FIG. 1 in accordance with the present invention. Driver circuit 201 receives internally within M-MDU 103 the differential clock signals on inputs IN1 and IN2 and proceeds to drive these differential clock signals to receiver 202. Receiver 202 implements resistor Rt across inputs RIN and RIN --   in order to provide a matching impedance as a result of capacitances and inductance on transmission lines 203, 204 between driver circuit 201 and receiver circuit 202. Receiver circuit 202 then transforms the received differential clock signals to various frequency level signals (in a manner described below) for use by other circuits as described above with respect to FIG. 1. The present invention provides that driver circuit 201 will receive full swing differential clock signals on inputs IN1 and IN2 and transform them to low voltage differential signals for transmission on outputs OUT1 and OUT2 to each of receiver circuits 202, which then reconvert the received low voltage differential clock signals into full swing differential clock signals for use by other circuitry within the data processing system. Both driver circuit 201 and receiver circuit 202 are implemented within CMOS technology. 
     Referring next to FIG. 3, there is illustrated a detailed circuit diagram of driver circuit 201 in accordance with the present invention. Inputs IN1 and IN2 receive a differential clock signal at a full swing of preferably 0 to 2.5 volts. In a preferred embodiment, outputs OUT1 and OUT2 of circuit 201 provide a converted differential clock signal having a low voltage swing between 0.50 and 1.30 volts. This proper logic &#34;1&#34; level at differential outputs OUT1 and OUT2 is produced from output p-channel FETs Q2 and Q1 whose gate electrodes are tied to their respective drain electrodes. The logic &#34;0&#34; levels of differential outputs OUT1 and OUT2 are produced as a result of the potential across n-channel FET Q11, which acts as a constant current source maintaining a constant current flow from either leg of the outputs OUT1 and OUT2. 
     When IN1 is high, p-channel FET Q6 is off while n-channel FET Q7 is on, thus placing the gate electrode of n-channel FET Q10 to ground resulting in device Q10 being turned off. Thus, the level at output OUT1 is a high voltage level produced by voltage supply V DD  and the voltage drop across p-channel FET Q2. As stated above, it is preferable that this output level be at approximately 1.3 volts. 
     When the voltage level of the inputted clock signal into input IN1 is at a low level, device Q6 is turned on, while device Q7 is turned off. Thus, device Q10 is turned on since the voltage V DD  is supplied to the gate electrode of device Q10. As a result, the output level at output OUT1 is equal to the potential across device Q11, which is preferably 0.5 volts. 
     The output produced at output OUT2 is produced in a manner similar as the output for OUT1, except that this output is a differential clock output with respect to the aforementioned outputted clock signal on OUT1. The result is a differential output clock signal, which matches the inputted differential clock signal, but at a lower voltage swing. 
     The gate electrode of device Q11 is biased by the circuit network of devices Q3, Q4, Q8 and Q9. 
     It is desirable for circuitry within data processing systems to be testable. Within driver circuit 201, testability requirements are accomplished through NOR gate signals e0 and e3. The signal e0 is a function driver enable input defined by system functional requirements, while signal e3 is used for package level. 
     One of the test requirements is to be able to turn off constant current source device Q11 so that no current flows from the supply voltage V DD  to ground except for leakage current. Devices Q14, Q15, Q16 and Q17 are used to control biasing in the network through the signals e0 and e3. These signals also control the n-channel FET Q18. In a normal operation, device Q18 is off and the gate of current source Q11 is controlled by the biasing network. Whenever either e0 or e3 goes to a logic &#34;1&#34;, device Q18 is on, forcing the gate at Q11 to turn off. This mode also applies when both e0 and e3 go to logic &#34;1&#34;. The following truth table is given for the testability signals for the clock application. 
     
         ______________________________________                                    
e0            e3    OUT                                                   
______________________________________                                    
1             1     Data Out                                              
0             1     high impedance                                        
1             0     high impedance                                        
0             0     high impedance                                        
______________________________________                                    
 
    
     Referring next to FIG. 4, there is illustrated an exemplary waveform diagram of the outputted differential clock signals from driver circuit 201 on outputs OUT1 and OUT2. 
     Referring next to FIG. 5, there is illustrated a circuit diagram for a preferred embodiment of receiver circuit 202. Receiver circuit 202 is designed to convert received low voltage differential signals from driver circuit 201 into accurate rail-to-rail signals having a full voltage swing, and to carry out the 400 MHz clock application with some testability requirements. The resulting rail-to-rail signals outputted on terminals ROUT and ROUT --   also exhibit a 50% crossing point to provide a 50% duty cycle. FIG. 8 illustrates an exemplary waveform diagram of a 400 MHz signal outputted on terminals ROUT and ROUT -- . 
     In addition, circuit 202 provides essentially zero power consumption when receiver circuit 202 is disabled by inputting a low signal to input RINH -- , which is described below. Furthermore, receiver circuit 202 provides testability functions to provide output orthogonal states when its inputs are floating. 
     As noted above, receiver circuit 202 is located in M-MDU 103 to receive the clock signal from crystal chip 101 and within S-MDU&#39;s 104, 106, 107 to receive the differential clock signals from M-MDU 103. 
     In the input section of circuit 202, the gate electrodes of p-channel FETS Q1 and Q2 are cross connected, such that the gate electrode of device Q1 is connected to the drain electrode of device Q2, while the gate electrode of device Q2 is connected to the drain electrode of device Q1 to provide the proper logic &#34;1&#34; signal of the differential outputs and to cause the outputs to have orthogonal states when the receiver inputs at terminals RIN and RIN --   are floating. The series n-channel devices Q4/Q166 and Q91 determine the &#34;0&#34; output level and the falling transitions of the output signals. Devices Q156, Q157, Q158 and Q159 function as a diode to supply a constant voltage (preferably 1.35 volts) to turn on device Q91. Devices Q107, Q108, Q109, Q110, Q122, Q123, Q124, and Q125 are used to regulate the output signals at terminals ROUT and ROUT --   such that these signals will cross each other at the 50% crossing point to meet one of the critical requirements of differential clock receiver design. 
     The device pairs of Q115, Q117 and Q116, Q118 act as inverters. 
     Inhibit signal RINH --   controls the output states of receiver circuit 202. When RINH --   is high, device Q92 is off, the pass gate consisting of devices Q154 and Q155 is on and receiver circuit 202 will operate normally. Thus, the output signals across terminals ROUT and ROUT --   will follow the input receiver signals at terminals RIN and RIN -- . When RINH --   is low, the pass gate (Q154, Q155) is off, device Q92 is on and thus pulls device Q91 off, resulting in the constant DC current being cut off. Therefore, the power consumption of receiver circuit 202 will drop to 0. At the same time, devices Q138 and Q139 are on to pull ROUT --   and ROUT to high and low respectively to satisfy the testing requirement as shown in the following truth table: 
     
         ______________________________________                                    
RINH.sub.--    ROUT    ROUT.sub.--                                        
______________________________________                                    
1              RIN     RIN.sub.--                                         
0              0       1                                                  
______________________________________                                    
 
    
     Referring now to FIG. 6, a data processing system which advantageously embodies the present invention will be described. Multiprocessor system 600 includes a number of processing units 602, 604, 606 operatively connected to a system bus 608. Also connected to the system bus 608 is a memory controller 610, which controls access to system memory 612, and I/O channel controllers 614, 616, and 618. Additionally, a high performance I/O device 620 may be connected to the system bus 608. Each of the system elements described 602-620, inclusive, operate under the system clock 630 which sends a clock signal to each unit connected to the system bus 608 by point to point lines such as 632 to processor 602, 634 to processor 604, 636 to processor 606, 640 to memory controller 610, 644 to I/O channel controller 614, 646 to I/O channel controller 616, 648 to I/O channel controller 618, and 650 to high performance I/O device 620. Alternatively, a clock bus (not shown) may be utilized to transmit clock signals to each unit. 
     As an example, driver circuit 201 may be located within system clock 630, while receiver circuit 202 may be located within processor 604. 
     I/O channel controller 614 controls and is connected to system I/O subsystem and native I/O subsystem 660. 
     Each processor unit 602, 604, 606 may include a processor and a cache storage device. 
     Referring next to FIG. 7, there is illustrated a feedback clocking system implementing the driver and receiver circuits (201,202) of the present invention. Driver circuit 201 provides clock signals to logic chip 77, which includes receiver circuit 202 and transmitter 76. The clock signal is provided to circuits on logic chip 77 at node N1. Inverter 70 receives signal fin from the clock chip. Phase detector 74 compares the reference phase with a sense phase. Filter 73 and programmable delay circuits 71 and 72 utilize a signal from phase detector 74 to insure that the phase of the signal at node N1 is the same as the reference phase. This compensation is needed due to the potential differences in lengths l between chip 103 and logic chip 77. Thus, the delay difference between the forward path through driver circuit 201 to chip 77 and the return path from chip 77 through receiver circuit 75 must remain constant. The feedback system illustrated in FIG. 7 compensates for process delay variations. 
     With the foregoing hardware in mind, it is possible to explain the process-related features of the present invention. To more clearly describe these features of the present invention, discussion of other conventional features is omitted as being apparent to those skilled in the art. It is assumed that those skilled in the art are familiar with a multiuser, multiprocessor operating system, and in particular with the requirements of such an operating system for memory management including virtual memory, processor scheduling, synchronization facilities for both processes and processors, message passing, ordinary device drivers, terminal and network support, system initialization, interrupt management, system call facilities, and administrative facilities. 
     Although the present invention and its advantages have been described in detail, it should be understood that various changes, substitutions and alterations can be made herein without departing from the spirit and scope of the invention as defined by the appended claims.