Abstract:
A method of communicating between a memory and circuitry on an integrated circuit is disclosed. The method comprises converting a first input signal from the memory to a first differential output signal dependent upon the first input signal. The first input signal is a full swing signal. The first differential output signal is propagated to the circuitry using a pair of first signal lines. Finally, at the circuitry, the first differential output signal is converted into a first received signal, which is a full swing signal.

Description:
TECHNICAL FIELD  
         [0001]    The present invention relates to a memory bus, and more particularly, to a differential bus with a self-timing transceiver.  
         BACKGROUND  
         [0002]    Modern electronic devices utilize memory to store instructions and data which are necessary to make the electronics function properly. For example, in the wireless communications context, the integrated circuits used to implement wireless communications require memory for storing system parameters, configuration information, and various other types of information. One common memory type is the programmable read-only memory (PROM). PROM memory is most often used to store the initial code for starting the electronic device and for configuration information. Another common type of memory is the static random access memory (SRAM) which provides fast data storage and retrieval time and is commonly used during operation of the electronic device.  
           [0003]    The memory can be a stand-alone integrated circuit or in other applications be integrated into a more complex single integrated circuit. For example, in the modern system-on-a-chip (SOC), these types of integrated circuits include processors, memory, and other types of functional elements. In any event, data is communicated between the memory and other functional elements by one or more memory busses. For many applications, such as portable electronic devices, low power consumption is a desirable attribute. For large configuration memories, the memory bus may consume over 30% of the total power.  
           [0004]    Therefore, what is needed is a memory bus design for use within an integrated circuit that has reduced power consumption. 
       
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0005]    [0005]FIG. 1 is a schematic diagram of a memory bus formed in accordance with the present invention.  
         [0006]    [0006]FIG. 2 is a schematic diagram of an integrated circuit utilizing the memory bus of the present invention.  
         [0007]    [0007]FIG. 3 is a schematic diagram of the self-timing receiver of FIG. 1.  
         [0008]    [0008]FIG. 4 is a schematic diagram of the self-timing transmitter of FIG. 1. 
     
    
     DETAILED DESCRIPTION  
       [0009]    In the following description, numerous specific details are provided to provide a thorough understanding of the embodiments of the invention. One skilled in the relevant art will recognize, however, that the invention can be practiced without one or more of the specific details, or with other methods, components, etc. In other instances, well-known structures or operations are not shown or described in detail to avoid obscuring aspects of various embodiments of the invention.  
         [0010]    Reference throughout the specification to “one embodiment” or “an embodiment” means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment of the present invention. Thus, the appearances of the phrases “in one embodiment” or “in an embodiment” in various places throughout the specification are not necessarily all referring to the same embodiment. Furthermore, the particular features, structures, or characteristics may be combined in any suitable manner in one or more embodiments.  
         [0011]    Conventional memory bus designs utilize a full swing signal when data is passed to and from the memory. Thus, for example, for advanced CMOS processes using 0.18 micron or 0.13 micron processes, the voltage representing a digital one may be 1.8 volts (or 1.3 volts in the 0.13 micron case). The voltage representing a digital zero is 0 volts. Because the voltage swing between a one or a zero being read out from the memory is 1.8 or 1.3 volts, this results in a large current consumption due to the capacitance of the bus. This is especially true for large memories. As detailed below, in contrast to the prior art, the memory bus of the present invention is implemented as a differential bus with a self-timing transmitter and receiver.  
         [0012]    The memory bus  101  of the present invention is shown in FIG. 1. The memory bus  101  includes a first termination  103  and a second termination  105 . Typically, the first termination  103  would be the memory resident on an integrated circuit, such as SRAM, DRAM, or the like. The second termination  105  would be, for example, a microprocessor, digital signal processor, or any other type of circuitry resident on the integrated circuit.  
         [0013]    At the first termination  103 , there is included a first self-timing transmitter  107   a  and a first self-timing receiver  109   a . At the second termination  105 , there is included a second self-timing transmitter  107   b  and a first self-timing receiver  109   b . The first self-timing transmitter  107   a  is connected to the second self-timing receiver  109   b  by a first bus  111   a . The second self-timing transmitter  107   b  is connected to the first self-timing receiver  109   a  by a second bus  111   b.    
         [0014]    The first self-timing transmitter  107   a  transmits data from the first termination  103  to the second self-timing receiver  109   b  of the second termination  105 . Similarly, the second self-timing transmitter  107   b  transmits data from the second termination  105  to the first self-timing receiver  109   a  of the first termination  103 .  
         [0015]    [0015]FIG. 1 shows the simplest case where the bus is a single bit bus. However, in most applications, the bus is a multi-bit bus, such as a 16-bit bus or larger. Therefore, as will be apparent to one of ordinary skill in the art, the circuitry of FIG. 1 is repeated for each bit being carried by the memory bus.  
         [0016]    In operation, the self-timing transmitters  107   a  and  107   b  receive as their input on a single line a voltage (an input signal) indicative of a data bit one or a data bit zero. In most embodiments, a data bit one is represented as a high voltage (V dd ) and a data bit zero is represented as a low voltage. However, the vice-versa arrangement may also be used, i.e., where a data bit one is represented by a low voltage and a data bit zero is represented by a high voltage.  
         [0017]    As will be seen in greater detail below, the self-timing transmitters  107   a  and  107   b  are operative to translate the full swing signal on the single line input into a differential signal. The output of the self-timing transmitters  107   a  and  107   b  is carried on two output signal lines which each carry a voltage signal. A data signal one is signaled by having a first output signal line carry a high voltage (such as 1.8 volts or V dd ) and a second output signal line carry a lower voltage, but typically not ground. The lower voltage is dependent upon specific design parameters, but is in one embodiment typically on the order of 1.5-1.6 volts. The differential in voltage between the two output signal lines is made as small as possible, while still being large enough to be differentiable by the receiving circuitry.  
         [0018]    It can be appreciated that the examples of voltages are merely to provide one example of appropriate voltages. In a more general sense, the voltages V dd  and V ss  may be used to represent high and low voltages of a integrated circuit. The voltages V dd  and V ss  will depend upon the specific processes used to manufacture the integrated circuit.  
         [0019]    Moreover, with the differential bus, the precise voltages used are also variable and need not be tied to V dd . Thus, if V dd  is 1.8 volts, the lower and higher voltages carried on the two output signal lines may be, for example, 1.0 and 1.3 volts, respectively. However, in many implementations, V dd  is used as one of the signal levels because of the convenience and readily available nature of V dd .  
         [0020]    [0020]FIG. 2 illustrates how the memory bus  101  of the present invention can be implemented in an integrated circuit  201 . The memory bus  101  of the present invention is primarily directed to data communications internal to a single integrated circuit (also referred to as a single die). Thus, the integrated circuit  201  includes several discrete electrical components all resident on a single die. In the example shown in FIG. 2, the integrated circuit includes a SRAM  203 , a CPU  205 , and a digital signal processor  207 . Other components may or may not be present on the integrated circuit, and the example of FIG. 2 is for illustration purposes only.  
         [0021]    In order for the CPU  205  and the DSP  207  to communicate with the SRAM  203 , a memory bus is coupled between the components. The memory bus is like that described in FIG. 1 and includes transmitters  107   a  and  107   b  and receivers  109   a  and  109   b    
         [0022]    The memory bus  101  of FIG. 1 is advantageous from a power consumption viewpoint. The power consumption of the bus is proportional to the product of the bus capacitance (C bus ), the frequency of the operation (f), and the square of the voltage swing.  
         [0023]    For a conventional bus, the voltage swing of the full swing signal is typically V dd  when switching from a digital bit one to a digital bit zero, and or vice versa. Therefore, the power consumed is:  
         
       P=C 
       bus 
       *f*V 
       dd 
       2  
     
         [0024]    Because the bus of the present invention uses a differential voltage swing, the power consumption of the present invention is much less and is given by:  
         
       P=C 
       bus 
       *f*ΔV*V 
       dd  
     
         [0025]    where ΔV is the voltage swing of the differential bus. In the example above, where V dd  is 1.8 volts and the lower voltage is 1.5 or 1.6 volts, then ΔV is 0.3 or 0.2 volts. Therefore, the benefit of the present invention is a large power consumption savings which is equivalent to ΔV/V dd  compared to the conventional bus using full swing signals.  
         [0026]    In other words, the circuit of the present invention utilizes differential sensing mode. The busses maintain a high potential V dd  except during data writing mode. The small signal swing of the differential bus results in less current consumption. During the read/write mode, the bus signal is split to a small differential voltage signal. A receiver senses the bus signal by use of a differential amplifier.  
         [0027]    Turning next to FIGS. 3 and 4, the circuitry of the self-timing trasmitters  107   a  and  107   b  and the self-timing receivers  109   a  and  109   b  will next be described. Turning first to FIG. 4, a schematic diagram of self-timing transmitters  107   a  and  107   b  is shown. The transmitter  107  includes three main sections: a buffer  401 , a first inverter  403 , and a second inverter  405 . The transmitter  107  receives digital data on line Data in  and outputs digital data as a differential signal on lines Bus n  and Bus p . Additionally, a self-timer signal is provided to “clock” the transmitter.  
         [0028]    The signal on Data in  is either a logical one or logical zero, typically corresponding to V hi  or V lo . If a V hi  is present on the Data in  line, a low differential voltage V ss  is output by the first inverter  403 . However, if a V lo  is present on the Data in  line, a high differential voltage V dd  is output by the first inverter  403 . The voltages V dd  and V ss  are determined by design parameters. In one embodiment, V dd  is 1.8 volts. V ss  may be ground or some voltage between ground and V dd . Moreover, note that will V ss  is shown as the lower rail for the differential bus, the voltage V ss  is rarely ever actually on the signal line, since the timing of the bus is faster than the time it takes for the voltage to drop to V ss .  
         [0029]    Further, if a V hi  is present on the Data in  line, a high differential voltage V dd  is output by the buffer  401 . The buffer  401  serves the purpose of amplifying (and stabilizing) the signal. However, if a V lo  is present on the Data in  line, a low differential voltage V ss  is output by the buffer  401 .  
         [0030]    The outputs of the first inverter  403  and buffer  401  are provided to respective switches  407  and  409 . The switches  407  and  409  are controlled by the self-timer signal through the second inverter  405 . The second inverter  405  serves the purpose of amplifying (and stabilizing) the signal. When the self-timer signal is provided appropriately, the differential signal is output onto the Bus n  and Bus p . As seen, Bus n  and Bus p  will always be at the opposite voltage from each other.  
         [0031]    Turning to FIG. 3, the schematic diagram of the self-timing receivers  109   a  and  109   b  is shown. Signals carried along Bus n  and Bus p  are provided as inputs to the receiver  109 . The signals Bus n  and Bus p  are switched by switches  301  and  303 , which are controlled by the self-timer signal that “clocks” the operation of the receiver  109 . The signals Bus n  and Bus p  are provided to symmetrical inverters  305  and  307 . The full swing digital output can be taken at the output node of the inverter  305 . Further, because of the symmetrical nature of the circuit, a signal “bar” output (which is the inverse of the output signal) can be taken at the output node of the inverter  307 .  
         [0032]    From the foregoing, it will be appreciated that specific embodiments of the invention have been described herein for purposes of illustration, but that various modifications may be made without deviating from the spirit and scope of the invention. Accordingly, the invention is not limited except as by the appended claims. From the foregoing, it will be appreciated that specific embodiments of the invention have been described herein for purposes of illustration, but that various modifications may be made without deviating from the spirit and scope of the invention. Accordingly, the invention is not limited except as by the appended claims.  
         [0033]    Thus, the above detailed descriptions of embodiments of the invention are not intended to be exhaustive or to limit the invention to the precise form disclosed above. While specific embodiments of, and examples for, the invention are described above for illustrative purposes, various equivalent modifications are possible within the scope of the invention, as those skilled in the relevant art will recognize. These and other changes can be made to the invention in light of the detailed description.