Escolar Documentos
Profissional Documentos
Cultura Documentos
1.2. T0 Encoding
The sequentiality of the addresses is transferred to the subsystem by adding an additional redundant line to the bus in
order to avoid transfer of consecutive addresses. The redundant line is set to zero when 2 of the addresses in the bus are
consecutive, this prevents unnecessary switching, and the receiver then calculates the new address. As it is clearly visible,
the T0 code guarantees zero transitions as its asymptotic performance for in-sequence addresses1
The corresponding VHDL codes can be seen in the attached appendix with this report.
NUM and X(n) define a uniformly random stream from 0 to NUM as mentioned in the aforementioned paragraph.
The number to be generated was defined as:
genNum = a I (n) + b X(n)
The function was implemented in a CPP program and following graphs were generated by varying the values of a from 1
to 0 in steps of 0.1. Thus a purely sequential stream was gradually made non sequential. Thus 50% sequential occurs at
a=0.5. The graphs of a sample generated streams for various sequentiality values can be seen in the attached appendix.
6. RESULTS
This section will explain all the comparisons and results obtained out of simulations. The assumptions would also be
explained at places where they have been used.
Figure 3. Total transitions for various address sequentialities comparing between (a)BIN-GRAY, (b)BIN-T0 and (c)T0-GRAY
coded bus. The values on X axis indicates the value of b in the equation mentioned in the previous section. The small
values of b corresponds to the address streams of high sequentiality. We can see that the gray transitions are nearly half
the binary transitions for the first value of b=0 which corresponds to a purely sequential address stream. It should also be
noted that as the sequentiality decreases the reductions in number of transitions due to gray code also decreases. It can
be seen that towards the lower end of x axis (high values of b) the reductions due to gray encoding are small and often
incoherent. This may be attributed to the highly random nature of the address streams.
In case of T0 codec, for the total sequential case, the number of transitions is 1, thus this makes it a best choice for the
streams having a very high degree of sequentiality. It is interesting to note that for the other cases when the sequentiality
is 70 % or lower, the T0 codec actually performs worse than the gray code, in terms of number of transitions observed.
This can be clearly observed from the third graph shown on the extreme left which shows the comparison between T0 and
Gray codecs.
We have also computed the total number of Bit Transitions on bus for various encoding schemes as compared wrt.
the sequentiality values. The graphs corresponding to the Gray and T0 coded bus is shown below. It should be noted
that the 17th bit in the T0 coded bus represents the INC which doesnt change much as the changes occur only when
there is a change in sequentiality. Often the lines of the buses does not have same capacitance.2 The bus lines towards
the inner regions have high capacitance. Thus it would be beneficial if the transitions on those lines are made less. In the
relevant literature in this context, there is also a concern about power consumption due to crosstalk between lines, so it
is advised that the lines which do not have high number of transitions should be placed between the lines containing alot
of transitions. We also have tried to do something like this by pre profiling for various streams to observe which of the
bits are changing the most. It should be noted that the higher end bits are not changed because the generated address
streams was not full 16 bits long.
Figure 5. Switching Power Consumption for enc and dec of Gray and T0 respectively.
It is clearly seen from the graphs that for highly sequential address streams, the switching power consumption is less.
This concurs with the earlier observation that the transitions are less for sequential streams. When the streams are not
sequential, the power consumption patterns are quite unpredictable as can be clearly observed from the graphs towards
the higher values of b in x-axis. The power consumption of the T0 codec is more than the gray codec much owing to the
increased complexity of the T0s circuit.
dynamic
+ P Gdec
static
The values for the aforementioned parameters are easily taken out from the power compilers report.
It is assumed that the total number of bus lines are same as number of address bits. All the bus lines have different values
of capacitance.2 The power consumed can be modeled by a simple equation corresponding to the energy consumed by a
capacitor. The switching activity factor corresponding to each line also creeps in. The bus consumption for all 16 lines
can be showed by the following equation:
P15
P Gbus = 12 V 2 F i=0 Ci Si
where
V = voltage of the binary levels
F = Frequency of the circuit (here 100 MHz)
Ci = Capacitance for the bus line i
Si = Switching activity for the bus line i
However for the ease of calculation and tractability it can be safely assumed that i, Ci = Ceq . The capacitance of all
buses are assumed to be a constant value Ceq . Thus the bus equation finally becomes:
P15
P Gbus = 12 V 2 F Ceq i=0 Si
thus
P Gtot = P Gcodec + P Gbus = P Genc
dynamic
+ P Genc
static
+ P Gdec
dynamic
+ P Gdec
static
+ 12 V 2 F Ceq
P15
i=0
Si
Similarly for the T0 Codec, we get the same equation except the number of bus lines are 17. Thus the equation is:
P16
P T 0tot = P T 0codec + P T 0bus = P T 0enc dynamic + P T 0enc static + P T 0dec dynamic + P T 0dec static + 21 V 2 F Ceq i=0 Si
For the encoding to be convenient and profitable following inequalities should be solved.
For Gray Codec
P GP
tot < Puncoded
P15
15
P Gcodec + 12 V 2 F Ceq i=0 Si < 21 V 2 F Ceq i=0 S uni
For T0 Codec
P T 0P
tot < Puncoded
P16
16
P T 0codec + 12 V 2 F Ceq i=0 Si < 12 V 2 F Ceq i=0 S uni
The only unknown in both of the equations is Ceq , which was calculated for both gray and T0 codecs. The calculations
was done for only the bit addressable memory. The calculated values are shown below:
Codec
Gray
T0
Opt Busload
42 pF
57 pF
ACKNOWLEDGMENTS
We would like to thank Prof. Enrico Macii and Prof. Alberto Macii for being so helpful both in and outside of class. The
email conversations helped us to understand the task at hand good enough and allowed us to explore new avenues. We
would also like to thank each other for complementing each other so well during the project.
REFERENCES
1. L. Benini, G. Micheli, E. Macii, D. Sciuto, and C. Silvano, Address bus encoding techniques for system-level power
optimization, 1997.
2. C. Y. T. C. L. Su and A. M. Despain, Saving power in the control path of embedded processors. IEEE Design and
Test of Computers, Vol. 11, No. 4, pp. 24-30, Winter 1994, 1994.