- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
零翻转编码地址总线 SoC 的低功耗设计
摘要 分析系统芯片 (SoC) 设计中大电容负载的地址总
线低功耗设计方法 ;利用地址总线零翻转编码和解码技术 ,有
效地减少 SoC 地址总线活动 ,降低 SoC 芯片和系统的功耗 ;
同时 ,应用于实际的 SoC 设计中 ,验证它的功能和适用范围。
关键词 低功耗 地址总线 零翻转编解码
引言
面向便携式设备的 SoC 设计 ,不仅仅要求性能高、体积
小,更要求功耗低。一般而言 ,SoC 的静态功耗很小 ,而对负载电容充放电的动态功耗很大。
SoC 内部 ,总线上挂着很多功能设备 ,导致总线的电容负载很
大。如果总线与片外设备联系 ,那么 ,它还要驱动很长的片外
连线以及片外设备 ,负载高达
50pF, 比 SoC 内部各个节点的电容负载 0.05pF 高出三个量
级。一般而言 ,总线的功耗占 SoC 总功耗的 10%~80%; 一个
已经对内部电路优化过的
SoC, 总线功耗约占 50%[1] 。随着宽度的增加 ,总线消耗的功
率占 SoC 总功率的比重越来越大 ,因此 ,总线的低功耗设计很
重要。
很多通过减少总线动态翻转来降低总线功耗的算法已经被
提出来。数据总线的数据随机性较大 ,地址总线的地址向量连
续性较大。它们传送的数值各有特点 ,所
以,针对不同类型总线的算法也不一样。针对数据总线有 bus-invert 算法 ,针对地址总线有 PBE (Based Encoding) 算法、 WZE ( Working Zone
Encoding )算法等。本文利用地址总线零翻转编码方法 ,通过设计编码器和解码器的结构 ,有效地降低 SoC 地址总线的功耗。
集成电路功耗分析
数字集成电路的静态功耗非常小 ,往往只有 nW (纳瓦)
级,因此 ,它的功耗近似等于动态功耗 [2], 如式( 1)所示:
其中 ,P 表示数字集成电路的总功耗 ;Ci 表示电路第 i 个节点的负载电容 ;Vdd 表示电源电压 ;f 表示工作频率 ;表示 t 时刻节点 i 的活动因子 ,正比于节点 i 的电平翻转频率。
设参数 Cint 表示内部节点的平均负载 ,Cbus 表示总线各位的平均负载 ,Nint 表示单位时间所有内部节点的平均翻转
次数 ,Nbus 表示单位时间总线的平均翻转次数。 那么 ,式( 1)
可以简化为式( 2):
因为内部节点的个数远远大于总线的位数 ,所以平均翻
转次数 Nint 远远大于 Nbus; 而负载 Cint 却远远小于 Cbus 。前者大约只有后者的千分之一 ,所以 ,式( 2)中 Nbus 具有很大的权重。减小 Nbus, 能够显著地降低 P。
低功耗设计
2.1 地址总线零翻转编解码原理
总线宽度为 N,t 时刻 ,总线需发送的数据为 Bt 。如果 Bt 与 Bt-1
相等 ,则时刻总线状态完全不变
;如果
Bt
与
Bt-1
不相等
,则
t
时刻 ,总线就会发生
电平翻转。
Bt
与
Bt-1 不同的比特位数目 (0#8804;#8804;N) 越大 ,总线电平翻转的位数就越多 ,功耗就越大。 当 Bt 与 Bt-1 互为反码 ,则总线每一位都要翻转 ,此时总线翻转的功
耗最大。
零翻转编码法利用降低总线的电平翻转次数 ,来降低总线功耗。定义 bt 为内核 MCU 计算出来的 t 时刻总线数据(即编码前的数据) ,Bt 是 t 时刻已放到总线上的数据 (即编码后的数据) ,Jt 是解码器解码后的数据。
总线连续取址时 ,相邻两次地址的差是相等的 ,定义为 Stride 。一般的 ROM 寻址 Stride=1; 对 Cache 寻址时 ,Stride 根据 Cache 的寻址特性而定。如果 Cache 寻址步长是一个 word, 则 Stride=2 。
编码需要一个额外的状态信号 INC 。
零翻转编码的算法步骤如下:
① 计算 bt-1+Stride, 比较 bt 与 bt-1+ Stride;
② 如果 bt=bt-1+Stride, 表明是连续寻址 ,那么 Bt= Bt-1,
置 INC=1;
如果 bt#8800;bt-1+Stride, 表明是不连续寻址 ,那
么 Bt=bt, 置 INC=0;
接收端解码器根据 INC 来处理收到的总线数据。零翻转解码的算法步骤如下:
① 计算 Jt-1+Stride;
② 如果 INC=1, 表明是连续寻址 ,那么 Jt=Jt-1+stride;
③ 如果 INC=0, 表明是不连续寻址 ,那么 Jt=Bt 。
中断和跳转子程序的多少 ,会影响功耗的降低。 中断和跳转越
少,地址向量连续性越高 ,零翻转编码后总线电平翻转越少 ,节省的功耗就越大。当地址总线一
原创力文档


文档评论(0)