Inversion encoding

The bus-invert encoding technique uses an extra signal (INV) to indicate the "polarity" of the data.

This is because the invert line contributes some transitions and the distribution of the Hamming distances is not uniform.

[1] In order to decrease the average I/O power dissipation for wide buses the observation that the bus-invert method performs better for small bus sizes can be used to partition the bus into several narrower subbuses.

For example, a 64-bit bus could be partitioned into eight 8-bit subbuses with a total of 8 added invert signals.

Because of the assumption that the data to be transferred over the wide bus is uniformly distributed, the statistics for the narrower subbuses will be independent and the sequence of data for each subbus will be uniformly distributed.

However, there is always an extra overhead of using more lines, but computationally, it has been found that the inversion bus encoding works well for most purposes.

Overview for Performance Analysis: inversion encoding