低功耗设计一之Bus-invert
2015-02-01 15:07
155 查看
构造简单模型,电路节点分为内部电路的小电容节点以及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 )。
对于一个八位的数据输出采用了两种方式进行优化,优化前功耗如下图:
第一种优化方式为使bus长度为8进行优化,此时 invert 只有一位,优化后功耗如下图 :
IO消耗为原来的78.34%
总值为原来的80.77%
第二种优化方式为使bus长度为2,将数据分为四个部分,此时invert有四位,优化后功耗如下图:
IO消耗为原来的72.74%
总值为原来的75.00%, 功耗降低更为明显,但以牺牲更多性能为代价。
参考:《Bus-InvertCoding for Low-Power I/O》
基本想法为通过减少大电容处转换次数以降低功耗,但同时会带来小电容处(内部电路)转换次数的增加。
主要实现步骤:
(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 )。
对于一个八位的数据输出采用了两种方式进行优化,优化前功耗如下图:
第一种优化方式为使bus长度为8进行优化,此时 invert 只有一位,优化后功耗如下图 :
IO消耗为原来的78.34%
总值为原来的80.77%
第二种优化方式为使bus长度为2,将数据分为四个部分,此时invert有四位,优化后功耗如下图:
IO消耗为原来的72.74%
总值为原来的75.00%, 功耗降低更为明显,但以牺牲更多性能为代价。
参考:《Bus-InvertCoding for Low-Power I/O》
相关文章推荐
- 【低功耗设计学习笔记】(一)Bus Invert
- 数字电路设计之低功耗设计方法一:bus总线翻转
- 寄存器传输级的低功耗设计方法
- [转贴]寄存器传输级的低功耗设计方法
- 从D-Bus(DBus)的使用看Android设计策略中安全的优先级
- 从D-Bus(DBus)的使用看Android设计策略中安全的优先级
- 基于IEEE1801(UPF)标准的低功耗设计实现流程(From HUAWEI)
- 互联网产品设计理念《转自》www.apkbus.com
- 单片机低功耗设计杂谈
- 利用Freeze技术的FPGA实现低功耗设计
- 与初学者谈低功耗设计之沈洁版
- 嵌入式系统中的低功耗设计(转自EET-China)
- SoC系统的低功耗设计
- 低功耗X86主板设计: VIA-VX800移动计算平台
- 一种低功耗触摸按键应用的设计方法
- 嵌入式移动终端内置WIFI 的低功耗设计
- 低功耗设计
- 基于C8051F系列单片机的低功耗设计
- 单片机低功耗设计杂谈
- 低功耗设计中电容对系统的影响(二)