Abstract:
A variable-mode digital logic circuit for accepting a parallel data word of a plurality of data bits wide as input and serializing the word such that the word may be transmitted as output from the circuit over as few as a single one-bit wide trace is provided. The variable-mode digital logic circuit comprises, a plurality of parallel data traces for passing input data to the circuit, each trace dedicated to the transmission of a single bit of the word, a plurality of select-capable MultiPlexor circuits for sequentially activating certain ones of the parallel data traces to pass data thereto and for multiplexing the received data such that the data is serially output therefrom, a ring counter for controlling frequency of specific operations performed within the circuit and at least one additional MultiPlexor circuit array for receiving data output from the plurality of select-capable MultiPlexor circuits as input and for further serializing the received data for output on as few as a single one-bit wide trace. The digital circuit may be activated to operate according to one of the variable modes wherein during processing according to the selected mode more than one multiplexing phase is employed at a lower frequency assigned to each phase, the frequencies proportional to each other and each to the final output frequency.

Description:
CROSS-REFERENCE TO RELATED DOCUMENTS  
       [0001]    The present application is related as a continuation-in-part (CIP) to application U.S. Ser. No. 09/376,148 filed Aug. 17, 1999. The instant invention was disclosed in Disclosure Document # 487034 filed on Jan 10, 2001 in the USPTO.  
     
    
     
       FIELD OF THE INVENTION  
         [0002]    The present invention is in the field of parallel to serial data transmission as it applies to computerized semiconductor devices and pertains more particularly to methods and apparatus for reducing power requirements in a multi-gigabit parallel to serial converter circuit.  
         BACKGROUND OF THE INVENTION  
         [0003]    The art of designing and implementing Large Scale Integration (LSI) devices and very large scale integration (VLSI) devices in digital logic has become more complex and sophisticated in recent years. Sophisticated software design tools and automated techniques have replaced prior pencil and paper engineering practices once used to design semiconductor devices. As semiconductor devices have become more complex in terms of circuitry and design, with shrinking device geometry, requirements for data transmission between such devices and on individual ones of such devices have also become more complex and demanding to maintain in operation.  
           [0004]    The preferred system used for data transmission between IC devices has long been the system of parallel data transfer. The current parallel method of passing data between such devices incorporates the use of a plurality of separate data-signal transmission paths in parallel. Data passed between two communicating devices travels across a circuit board on a bus comprising a plurality of parallel traces or lines. For a 16-bit system, for example, there will be in a parallel system a separate trace for each bit (16 traces) plus control lines.  
           [0005]    Generally speaking, much operational and specification data regarding the manufacture and operation of VLSI and LSI type devices is known and available in the art. Manufacturers of such devices provide exhaustive documentation, and virtually all such documentation is available to the skilled artisan. Therefore detailed architectural and functional descriptions of known IC devices are not provided herein. It is enough to say that parallel data must be clocked, synchronized and latched in order to enable successful transmission of the data from a propagating device to a receiving device over a circuit board containing a substantially large number of traces.  
           [0006]    Another system for transferring data in general, and also sometimes used for transferring data between IC devices, is the serial system. The current art serial method of transferring high-bandwidth data between IC devices involves the use of encoding and decoding circuits on each communicating device to manipulate or convert parallel data so that it may be transmitted serially across a circuit board from one device to another. For example, a parallel to serial data converter in a sending device enables data to be prepared for transmission out in a serial manner using a single data line for one-way transmission. A decoder circuit in a receiving device decodes the serial data using a pre-determined decoding scheme then processes the data. At a given clock speed for both types of transmission, serial data transfer is typically slower than parallel transfer. Therefore, a higher-speed clock is typically used with the serial method to speed up transmission of serial data between devices.  
           [0007]    Another problem with serial data transfer between IC devices in current technology is that analog circuitry is typically required in the IC devices to affect the system. Analog circuitry is generally known to be notoriously more difficult to implement than digital circuitry, and makers of digital IC devices are not anxious to suffer the yield losses attendant on adding analog circuitry to their devices.  
           [0008]    Still, even with the known and perceived disadvantages of serial data transmission, the high cost and complexity of parallel systems is an increasing problem. As computing systems have matured from 4 to 8 to 16 to 32 bit words, and as microprocessors and memories (for example) have become more functional and sophisticated, the number of traces and pins necessary to accomplish adequate transmission has increased dramatically. It is, for example, common now to have plural sets of parallel data transmission pathways serving a single IC device. The high number of traces necessary on a PC board (for example) makes such support systems enormously complex and expensive to design and manufacture. Moreover, every trace demands a separate pin on the IC device. Many devices have more than two hundred pins, and future devices may demand even more. The higher and higher pin count makes such devices more complex to build and increases losses (lower yield) in fabrication.  
           [0009]    A serial communication system used between two or more IC devices is known to the inventor, and is taught in separate patent application U.S. Ser. No. 09/376,148 filed Aug. 17, 1999, references above in the Cross-Reference section. That system utilizes a separate master chip connected to both of the IC devices, the master chip having a clock generator and circuitry for affecting serial data transmission and control between the master chip and the devices. There is a slave component on each IC device for transforming data between parallel and serial data formats and for sending and receiving a serial data stream. The intervening master chip provides a clock signal to both slave components for gating serial data communication, and manages all communication between the two slave components. In a preferred embodiment all circuitry in the slave components is digital circuitry, and all analog circuitry is implemented on the master chip. Also in a preferred embodiment each slave periodically checks phase between data stream and clock stream received, and inserts a correction code in the data stream sent back to the master chip, so the master chip can regularly correct the phase for clock and data sent to each slave.  
           [0010]    One challenge in implementing parallel in to serial out (PISO) converters is that in order to maintain the desired clock speed of the serial portion of the transmission, the entire converter is typically clocked at the same high speed. This means that considerable power is consumed and cross contamination (jitter) between the traces is more likely to occur at higher levels. The problem increases in chips that process larger bit-size words.  
           [0011]    It is desired that extremely high serial clock rates be achieved without requiring maximum power consumption on the processing (PISO) chip. Therefore, what is clearly needed is a method for reducing overall power requirements of a PISO converter while still attaining a high clock-rate for gating out serial data from a parallel data source.  
         SUMMARY OF THE INVENTION  
         [0012]    In a preferred embodiment of the present invention, a variable-mode digital logic circuit for accepting a parallel data word of a plurality of data bits wide as input and serializing the word such that the word may be transmitted as output from the circuit over as few as a single one-bit wide trace is provided. The variable-mode digital logic circuit comprises, a plurality of parallel data traces for passing input data to the circuit, each trace dedicated to the transmission of a single bit of the word, a plurality of select-capable MultiPlexor circuits for sequentially activating certain ones of the parallel data traces to pass data thereto and for multiplexing the received data such that the data is serially output therefrom, a ring counter for controlling frequency of specific operations performed within the circuit and at least one additional MultiPlexor circuit array for receiving data output from the plurality of select-capable MultiPlexor circuits as input and for further serializing the received data for output on as few as a single one-bit wide trace. The digital circuit may be activated to operate according to one of the variable modes wherein during processing according to the selected mode more than one multiplexing phase is employed at a lower frequency assigned to each phase, the frequencies proportional to each other and each to the final output frequency.  
           [0013]    In a preferred embodiment, the circuit is implemented as a single integrated circuit. In this aspect, each mode of the available modes defines operation wherein the parallel data word is a specific number of bits wide. In one aspect, the final output data after all processing within the circuit is one bit wide serial data. In this aspect, the quantity of select-capable multiplex or circuits provided therein is directly proportional to the quantity of parallel data traces entering the circuit. In one aspect, one of the available modes is for processing a 16-bit wide parallel data word. In another aspect, one of the available modes is for processing a 20-bit wide parallel data word. In all aspects, the ring counter divides the maximum clock frequency according to specific multiplexing phases such that each phase operates at ½of the frequency of the next phase, the final output clocked at the maximum frequency.  
           [0014]    In a variable-mode digital logic circuit for serializing parallel data transmitted thereto, a select-capable MultiPlexor circuit for accepting a divided portion of a parallel data word and serializing the received portion such that the processed portion of the parallel data word is output as a one bit wide serial portion of the word is provided. The select-capable MultiPlexor circuit comprises, a plurality of parallel data traces, the number of traces equaling the number of bits comprising the portion of the parallel data word, a plurality of data registers, the number of registers equaling the number of data traces, a plurality of select lines for effecting selection of individual ones of the data traces and a plurality of secondary multiplexing circuits provided within the select-capable MultiPlexor circuit, the secondary circuits for performing further multiplexing operations resulting in serial data transmission of the portion of the parallel data word on to a single trace, characterized in that according to a specific combination of voltage states applied to the plurality of select lines, individual ones of the plurality of parallel data traces are selected for passing a bit of data for multiplexing within the select-capable circuit.  
           [0015]    In a preferred embodiment, the select-capable MultiPlexor circuit has at least 2 operational modes, wherein the divided portion of the parallel word associated with the selected operational mode comprises a preset number of bits.  
           [0016]    In another aspect of the present invention, a method for reducing power requirements of a parallel in serial out conversion process, the process outputting the serial data at a set high frequency is provided. The method comprises steps of, (a) multiplexing all of the parallel bits comprising an incoming data word to reduce the parallel data word to ½of its incoming width, (b) dividing the high frequency of the serial output by a number of instances of pending multiplexing phases and clocking out the multiplexed data of step (a) at the resulting proportional frequency; (c) multiplexing the output results of step (a), the multiplexing representing a second multiplexing phase to reduce the bit width of those results by ½, (d) clocking the output results of step (c) at a frequency double that of the frequency used in step (b) and (e) repeating the processes represented in steps (c) and (d) until the original parallel data word is reduced to serial word one-bit wide and clocked out at the set high frequency.  
           [0017]    In one embodiment, the method is practiced on a single integrated circuit. In another embodiment, the method is practiced between more than one integrated circuit. In one aspect, the integrated circuit hosting the method has more than one operating mode for processing more than one width measured in bits of a parallel data word.  
           [0018]    In one aspect of the method in steps (a) and (b), the circuitry supporting the method is implemented as CMOS logic. In this aspect of the method in step (e), further repetition of the multiplexing phases is supported by circuitry implemented as Current Mode Logic (CML).  
           [0019]    Now, for the first time, a method for reducing overall power requirements of a PISO converter while still attaining a high clock-rate for gating out serial data from a parallel data source is provided.  
       
    
    
     BRIEF DESCRIPTION OF THE DRAWING FIGURES  
       [0020]    [0020]FIG. 1 is a circuitry diagram illustrating a basic PISO converter according to prior art.  
         [0021]    [0021]FIG. 2 is a circuitry diagram illustrating a basic PISO converter according to an embodiment of the present invention.  
         [0022]    [0022]FIG. 3 is a more detailed circuitry diagram illustrating a 16/20 to 1 PISO converter according to an embodiment of the present invention.  
         [0023]    [0023]FIG. 4 is a circuitry diagram illustrating a single selector tree of the converter of FIG. 3 including a table illustrating input select function according to an embodiment of the present invention.  
         [0024]    [0024]FIG. 5 is a waveform chart illustrating a clock divide sequence for both a 20 bit mode and a 16 bit mode according to an embodiment of the present invention.  
     
    
     DESCRIPTION OF THE PREFERRED EMBODIMENTS  
       [0025]    [0025]FIG. 1 is a circuit diagram illustrating a basic Parallel In to Serial Out (PISO) converter  100  according to prior art. In this prior art example, digital data input is loaded into a Parallel Data Register represented in this diagram by a rectangular block labeled so. Actual data input is illustrated herein by a block arrow labeled Data Input proceeding into the Parallel Data Register. Output from the described register in parallel data transfer is illustrated by a plurality of exit arrows drawn from the register. There are 5 traces illustrated in this example of PISO  100  however the number of traces will depend on the size of a word being processed. For example, in a 16-bit process there are 16 such traces, each trace carrying one bit.  
         [0026]    A plurality of multiplexer (mux) circuits are illustrated beneath the described Parallel Data Register as known in the art. Each mux circuit is dedicated to a single data path emanating from the register. Therefore in this example there are illustrated 5 muxes. Each mux is also associated with a shift register illustrated in traditional circuit design shape (rectangle) familiar to one with skill in the art of reading logic diagrams. Each shift register is typically referred to as a load register, or a flip-flop in the art. A multi Gigabit clock line (illustrated beneath each flip-flop register) controls the frequency at which data is clocked out. Connection from the described clock line to each flip-flop register is illustrated by directional arrows.  
         [0027]    Operation of the prior art circuit (PISO  100 ) represented in this example is well known in the art. Parallel data input into PISO  100  is loaded into the Data Parallel Register as one N bit word wherein N is the number of bits of the word. The word is divided by clock signal into its individual bits (1 or 0) and each bit is muxed and loaded into an associated flip flop during the process of converting the data into, in this example, a 1 bit wide serial data stream N bits long. A Counter comprising phase detection and adjustment circuitry is provided to control the operation as is known in the art. It is important to note herein that the clock frequency at which data is clocked out from each register or flip flop of PISO  100  must be much higher than the input clock frequency at which the data is received before beginning the conversion process.  
         [0028]    This prior art concept requires all parts of the circuit to run at full (maximum) clock speed. Current art parallel to serial data conversion is time-constrained due to a requirement that the parallel data has to be loaded in after the last bit of the current data byte and before the first bit of the next data byte in the serial stream. The order of frequency desired for serializing parallel data expressed in large words is approximately 2.5 gigabits per second (GB/s). In a 2.5 gigabit per second (GB/s) PISO the window for the load function is only 4 nanoseconds (Ns), minus the setup and hold times for the flip-flop registers. Maximum power is required in order for all processing to be performed correctly including streaming out of the serial data. Such power requirements can be excessive for converters processing large bit-words causing shorter life and overheating of circuits.  
         [0029]    [0029]FIG. 2 is a circuit diagram illustrating a PISO converter  200  according to an embodiment of the present invention. The primary premise in this embodiment is reduction of power needed to accomplish the parallel to serial data conversion. PISO  200  in this example uses essentially the same logic devices (but more in number) as PISO  100  described in FIG. 1. In this example it is assumed that PISO  200  processes 16-bit data words. A First In First Out (FIFO) Data register is provided in PISO converter  200  and adapted to accept, in this example, 16-bit wide data words in accordance with FIFO protocol. The FIFO register of this example is analogous to the Parallel Data Register of FIG. 1.  
         [0030]    In this embodiment, each 16-bit parallel data word is processed in divisive stages. For example, in a first stage a 16-bit word is muxed and registered as an 8-bit wide parallel word by sending 2 bits of the word into each of 8 muxes and flip flop registers illustrated in the first stage. Each of the 8 muxes has 2 input lines leading thereto from the FIFO register. In this example assume that parallel data coming into PISO  200  arrives at an input clock of 156 Mega Bits per second (Mb/s). The frequency of the first stage is clocked at 312 Mb/s, double the input frequency.  
         [0031]    A second stage is provided for muxing and loading the 8-bit wide parallel word into a 4-bit wide word at a frequency of 625 Mb/s. The second stage is illustrated by 4 muxing circuits and 4 associated flip flop registers. It is noted herein that the first 2 stages described thus far can be implemented with standard CMOS logic requiring less direct current for operation than Current Mode Logic CML. It is noted that at a serial speed of 2.5 Gb/s, described as a desired rate for conversion in PISO  100  of FIG. 1, requires implementation using CML logic cells. Lower clock frequencies used in the first two stages of PISO  200  allow CMOS cells to be used thereby contributing to a partial power reduction over the entire circuit.  
         [0032]    A third muxing stage is provided that further condenses the 4-bit word into a 2-bit word. This stage is illustrated by 2 muxing circuits and associated flip flop registers. The clock frequency used at this stage is 1.25 Gb/s or double the frequency of the previous 4-bit stage. This stage is implemented with CML as previously described. A final stage of muxing condenses the 2-bit wide word into a serial (1-bit wide) word at 2.5 Gb/s. This stage is also implemented with CML. Note that one mux and one register comprise the final muxing stage. The final result is a 16-bit long data word that is 1-bit wide and traveling on one line.  
         [0033]    In this exemplary circuit a 16-bit wide word is input at a rate of 156 megabits per second (Mb/s). The first stage of conversion produces 8-bit wide data at 312 Mb/s. The second stage of conversion produces 4-bit wide data at 625 Mb/s. The third stage of conversion produces 2-bit wide data at 1.25 Gb/s and the last stage combines and outputs the data in serial form at 2.5 Gb/s. The functionality in this embodiment is able to be implemented in standard CMOS process technology of quarter micron or better. The first two stages are implemented with standard CMOS logic cells with the subsequent two stages implemented in CML-type logic.  
         [0034]    The power requirement for the first of the CML stages has a lower supply current setting than the final stage at full clock speed. This allowance further reduces the overall power requirement. The counter uses known Grey code technology to ensure that no 2 muxing phases change at the same time. This fact allows for a reduction in re-timing elements associated with the separate muxing stages.  
         [0035]    One with skill in the art will appreciate that the treed implementation of divisive muxing stages illustrated in this example requires more circuitry to be added to a chip. However, the power reduction achieved more than offsets the disadvantage of added circuits.  
         [0036]    [0036]FIG. 3 is an exemplary circuit diagram of a dual mode 16/20 to 1 PISO serializer  300  according to an embodiment of the present invention. PISO serializer  300  utilizes 4 selector trees each labeled “Selector Tree 5/4 to 1” ( 301   a - d ). Each of selector trees  301   a - d  is capable of receiving and muxing 5 data inputs. Alternatively, all of trees  301   a - d  may be set to mux only 4 of the 5 available inputs to each tree. Data inputs are illustrated to the left of each tree and are collectively labeled D 0 -D 19  in a prioritized fashion. Serializer  300  uses the described selector trees  301   a - d  for processing either 4 inputs per tree accommodating a 16-bit word or 5 inputs accommodating a 20-bit word.  
         [0037]    There are 3 select lines illustrated in this innovative circuit. These are labeled Sel A, Sel B, and Sel C. Sel C is always used to trigger data inputs into selector trees  301   a - d.  A ring counter (known in the art) clocked at 1.25 GHz  303  controls the selectors A-C. This embodiment allows two modes of operation as previously described, a 16-bit mode and a 20-bit mode. In the 16-bit mode selector trees  301   a - d  operate in a 4:1 conversion functionality that systematically selects inputs from pins DA, DB, DC, and DD and the input DE is never selected. In the 20-bit mode selector trees  301   a - d  operate in a 5:1 conversion functionality that systematically selects inputs from all five data pins. Operating in either mode, selector trees  301   a - d  send their outputs through 2 additional stages of multiplexing and flip-flop conversion. The clock frequency is doubled at each stage to finally output the data in serial format at 2.5 Gb/s. For example, inputs entering the first stage after leaving as outputs from selector trees  301   a - d  are clocked at 625 Mb/s. Outputs leaving this muxing and flip-flop conversion stage are input into a final muxing and flip-flop stage at 1.25 Gb/s. Finally, the serial output of serializer  300  is clocked at 2.5 Gb/s. A select line labeled Select  16  or  20  is provided and illustrated as leading into a mux within counter  303 . This line is used for selecting either a 16-bit mode or a 20-bit mode of operation for serializer  300 . A granular description of a single one of selector trees  301   a - d  is provided below.  
         [0038]    One with skill in the art will recognize that overall power requirements may be reduced further than that described with reference to FIG. 2 above by a fact that select function is implemented only at 1.25 GHz and that the clock frequency is halved and then doubled during the remaining CML muxing phases before final serial output. Empirical simulation methods for simulating function and requirements of serializer  300  showed a power reduction of 50% over a prior-art circuit.  
         [0039]    [0039]FIG. 4 is a detailed circuit diagram illustrating functionality of a single selector tree  401  including an associated table  400  illustrating the select function of tree  401  according to an embodiment of the present invention. Data inputs are clocked into the selector tree at either the rising or falling edge of the waveform of Sel C at a 1.25 GHz frequency. The data is then processed as described in FIG. 2, above, and clocked out of tree  401  as serial data according to a 625 MHz frequency clock. It is noted herein that in the 16-bit mode, DE is never selected.  
         [0040]    Referring now to table  400 , it is noted that when Sel A-C are all low or (0), then DA (input) is latched and processed to DOUT as illustrated in tree  401 . When Sel A is high (1) and Se B-C are low, then DB is latched and processed to DOUT. When Sel A-B are high and Sel C is low, then DC is latched and processed to DOUT. When Sel A is low and Sel B-C are high, then DD is latched and processed to DOUT. In a 20-bit mode, the last line of table  400  applies in that when SelA-B are low and Sel C is high, then DE is latched and processed to DOUT. It is noted that in tree  401 , DOUT is serial format of the 4 (16-bit) or 5 (20-bit) data inputs charged to a single tree.  
         [0041]    [0041]FIG. 5 is a waveform chart illustrating a clock-divide sequence for both a 20-bit operating mode and a 16-bit operating mode for serializer  300  of FIG. 4 according to an embodiment of the present invention. The 1.25 GHz input clock frequency is first divided by two to produce a 625 MHz carrier and then further divided by four to produce the 312 MHz carrier for 16-bit operational mode (not illustrated here) or by five to produce the 250 MHz carrier for 20-bit operational mode (not illustrated here). The functionality of the 20-bit mode and 16-bit mode operation is illustrated by the clock sequences for triggers SelA, SelB, and SelC. It is noted that in the 16-bit mode both Sel B and Sel C are aligned because there is no selection of DE illustrated in tree  401  of FIG. 4.  
         [0042]    It will be apparent to one with skill in the art that the present invention may be practiced in variations of the presented configurations without departing from the spirit and scope of the present invention. The inventor has provided actual diagrammatic representations of the logical devices, integrated circuit design and process concept, and waveform chart for generating the clock carriers and sequence and deems them sufficient for illustrative purposes. Therefore, the inclusion of such devices, design, process, and waveform charts in this example should not be construed as a limitation in any way to the practice of the present invention. Furthermore, the circuitry described herein, although preferable implemented on a single VLSI device, may be shared by more than one device without departing from the spirit and scope of the present invention. Therefore, the method of the present invention should be afforded the broadest possible scope under examination. The spirit and scope of the present invention is limited only by the claims that follow.