构造简单模型,电路节点分为内部电路的小电容节点以及IO口的大电容节点,且假设除利用降低IO口转换次数外,其余的方式已将功耗优化到最低。基于这些假设,总功耗可以看作是内部电路功耗和IO口功耗之和。
基本想法为通过减少大电容处转换次数以降低功耗,但同时会带来小电容处(内部电路)转换次数的增加。
主要实现步骤:
(1)计算当前 data value 与下一个 data value 之间的 Hamming distance(即两个数据之间不同的位的数量,包括invert line,即加上 invert 的值);
(2)如果 Hamming distance 大于n / 2,则invert值等于1,使下一个 bus value 等于下一个 data value 取反;
(3)否则 invert 值等于0,下一个 bus value 等于 data value;
(4)接收端bus的内容必须根据invert的值进行翻转,除非数据不被编码储存(如在 RAM )。