An embodiment of the present invention for low energy purposes will now be described by way of example only and with reference to the accompanying drawings, in which:
First, a brief overview of an exemplary embodiment of the method of the present invention will be presented, where the encoding, as already mentioned, is targeted for low energy. In this exemplary embodiment of an encoded-low swing scheme, the current values to be transmitted on the bus are compared with the previous state of the bus. When the number of bits flipping is greater than N/2 where N is the width of the bus, the decision to send the inverted signal values is made. In addition, an “invert” signal is also sent to the receiver to indicate whether the bus values are inverted or not. These encoded values are then converted into their low swing equivalents and transmitted. In this way, it can be ensured that the energy consumed over the interconnect is minimum. This strategy not only reduces the probability of transitions over the interconnect but also transmits only low swing values to achieve tremendous energy reductions relative to conventional techniques. This energy saving can only be optimized, however, if an efficient driver and received circuit is used, which does not consume more energy than is saved over the interconnect. For that, an efficient circuit implementation will be described later.
First, however, the energy savings that are possible using the proposed technique will be estimated. The average number of transitions can be estimated using probabilistic analysis for a N bit wide bus. The dynamic switching energy of the bus is given by Eqn. 1.
Edyn=CaverageVref2T (1)
In Eqn. 1, T is the total number of transitions over the wire. Without encoding, the transitions, TNE, for an average case for a N bit wide bus is
where TNE denotes the number of transitions without encoding. P(M) denotes the probability that M bits flip in a N bit wide bus and is given by
By using the bus-invert coding method, we compute the transitions for an average case for a N bit wide bus. Those skilled in the art could extend this analysis for other encoding techniques which could target other performance requirements (reduced noise codes, increased robustness codes, other low energy codes, high speed codes etc) by properly calculating P(M) and using the appropriate thresholds.
In a preferred embodiment, the cases when N is odd and N is even are differentiated between. This is shown next.
1. Case a: When N is odd. Using bus invert coding, the number of transitions is given by Eqn. 4. TE indicates the number of transitions over the bus in the presence of encoding. Here, when the number of bit flips exceeds
the decision to invert the data bits is made. Counting the extra transition due to the invert signal, the number of transitions over the bus, when
data bits flip, is
2) Case b: When N is even: Here, when the number of bit flips is exactly N/2, there is no advantage in encoding. The decision to invert the values on the bus if it does not cause a transition over the “invert” signal itself can be made. This means that when N is even, an extra state flip flop for storing the state of the “invert” signal is needed in this exemplary embodiment, which is not the case when N is odd.
An efficient exemplary implementation of the driver for an 8 bit wide bus using an analog majority voter circuit is illustrated as shown in
Thus the above-described method and apparatus provides a novel encoded-low swing technique and an efficient circuit implementation of the same. It has been found that this achieves the best energy-delay product over the existing schemes when the capacitive load over the interconnect begins to increase above 200fF. Analyses of simulation results carried out show that the average energy-delay product of the proposed technique is superior by 45.7% with respect to techniques using only low swing, and by 75.8% with respect to techniques using only encoding averaged over data streams. This gain could vary depending on the data streams used. In the presence of crosstalk noise, it can be shown that the proposed technique has the best energy-delay product even for small capacitive loads (CL≦200fF). The signal to noise ratio of the proposed technique is superior to existing low swing techniques by 8.8%. The method and apparatus of the present invention is applicable to general IC's (SoC—System on Chip) ASIC's and FPGA's to reduce power. It has been found to be especially useful for dealing with buses which have a large capacitance associated with them and dissipate power. It can also be applied to reduce Input/Output power dissipated since dimensions of the devices in the I/O pads of chips are large since they have to drive large external capacitances due to wires, I/O pins and connected circuits.
FPGA interconnects, either present in platform FPGAs or embedded FPGAs could potentially benefit a lot from the proposed technique since the capacitive load over the programmable switch based interconnect is high. Even other programmable interconnects could use this technique to achieve different performance targets (low energy, increased robustness etc).
It should be noted that the above-mentioned embodiment illustrates rather than limits the invention, and that those skilled in the art will be capable of designing many alternative embodiments without departing from the scope of the invention as defined by the appended claims. In the claims, any reference signs placed in parentheses shall not be construed as limiting the claims. The word “comprising” and “comprises”, and the like, does not exclude the presence of elements or steps other than those listed in any claim or the specification as a whole. The singular reference of an element does not exclude the plural reference of such elements and vice-versa. The invention may be implemented by means of hardware comprising several distinct elements, and by means of a suitably programmed computer. In a device claim enumerating several means, several of these means may be embodied by one and the same item of hardware. The mere fact that certain measures are recited in mutually different dependent claims does not indicate that a combination of these measures cannot be used to advantage.
Number | Date | Country | Kind |
---|---|---|---|
03102246.0 | Jul 2003 | EP | regional |
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/IB04/51194 | 7/12/2004 | WO | 00 | 1/23/2006 |