老古开发网首页
导航:老古开发网首页文章索引索引第188页文章分类技术文章第10页→[零翻转编码地址总线SoC的低功耗设计]
| -文章搜索 - 最新文章 - |

零翻转编码地址总线SoC的低功耗设计

发布时间:2003年8月18日 点击次数:1131
来源:   作者:东南大学 殷宏 陆生礼
 

摘要 分析系统芯片(SoC)设计中大电容负载的地址总线低功耗设计方法;利用地址总线零翻转编码和解码技术,有效地减少SoC地址总线活动,降低SoC芯片和系统的功耗;同时,应用于实际的SoC设计中,验证它的功能和适用范围。

关键词 低功耗 地址总线 零翻转编解码

引言

面向便携式设备的SoC设计,不仅仅要求性能高、体积小,更要求功耗低。一般而言,SoC的静态功耗很小,而对负载电容充放电的动态功耗很大。

SoC内部,总线上挂着很多功能设备,导致总线的电容负载很大。如果总线与片外设备联系,那么,它还要驱动很长的片外连线以及片外设备,负载高达50pF,比SoC内部各个节点的电容负载0.05pF高出三个量级。一般而言,总线的功耗占SoC总功耗的10%~80%;一个已经对内部电路优化过的SoC,总线功耗约占50%[1]。随着宽度的增加,总线消耗的功率占SoC总功率的比重越来越大,因此,总线的低功耗设计很重要。

很多通过减少总线动态翻转来降低总线功耗的算法已经被提出来。数据总线的数据随机性较大,地址总线的地址向量连续性较大。它们传送的数值各有特点,所以,针对不同类型总线的算法也不一样。针对数据总线有bus-invert算法,针对地址总线有PBE (Page-Based Encoding)算法、WZE(Working Zone Encoding)算法等。本文利用地址总线零翻转编码方法,通过设计编码器和解码器的结构,有效地降低SoC地址总线的功耗。

1  集成电路功耗分析

数字集成电路的静态功耗非常小,往往只有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  低功耗设计

2.1  地址总线零翻转编解码原理

总线宽度为N,t时刻,总线需发送的数据为Bt。如果Bt与Bt-1相等,则时刻总线状态完全不变;如果Bt与Bt-1不相等,则t时刻,总线就会发生电平翻转。Bt与 Bt-1不同的比特位数目(0≤≤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≠bt-1+Stride,表明是不连续寻址,那么Bt=bt,置INC=0;
④  接收端解码器根据INC来处理收到的总线数据。

零翻转解码的算法步骤如下:

①  计算Jt-1+Stride;
②  如果INC=1,表明是连续寻址,那么Jt=Jt-1+stride;
③  如果INC=0,表明是不连续寻址,那么Jt=Bt。

中断和跳转子程序的多少,会影响功耗的降低。中断和跳转越少,地址向量连续性越高,零翻转编码后总线电平翻转越少,节省的功耗就越大。当地址总线一直连续寻址时,零翻转法理论上可以达到地址总线的零翻转,并且,Stride变量可以根据寻址对象的不同而设置成对应的数值。

2.2  零翻转编解码器电路结构

编码器组成如图1左半部分。D1寄存bt-1,加法器将bt-1与Stride相加。比较器EQ比较bt和bt-1+Stride,输出INC。选择器MUX的两组输入是bt和Bt-1。


图1  零翻转编码器和解码器

编码器是组合逻辑,不可避免的有毛刺。毛刺虽然时间很短,但依然会增加总线功耗,因此,利用D2、D3触发器来同步,过滤掉所有的毛刺。

解码器结构如图1右半部分,在接收设备Memory控制逻辑中实现。寄存器D存储Jt-1,MUX的两组输入是(bt-1+Stride)和Bt。它的结构比编码器简单得多。

相对整个SoC而言,编码器和解码器的电路规模很小,带来的额外硬件面积和功耗也很小[3,4]。

3  验证结果分析

将零翻转法应用于SoC中,改变SoC设计的地址总线宽度,分别是8、16、32、64位。对内部地址总线和外部地址总线分别计算出优化前后的功耗,并分析结果。使用的EDA工具是Synopsys公司的功耗分析软件Power Compiler。

3.1  零翻转编码对内部地址总线功耗的影响

本测试方案中,地址总线上悬挂了15个功能模块,完全在SoC电路内部,总线每一位的负载最大为2.1pF。以10 000个完全连续的地址向量运行SoC,计算地址总线功耗。计算结果如表1所列。

表1  内部总线功耗测试

当总线宽度N增大时,编码器的MUX宽度随之增大,它的控制信号sel的负载增加,导致sel时延增大。当N = 32时的RTL代码,基于TSMC-0.25μm工艺库,经Design Compiler综合,得出的关键路径从D1触发器时钟端到MUX的输出,最大延时为4.7ns。时钟频率是50MHz,编码器的延迟只占时钟周期的23.5%。这个百分比很小。解码器的结构比编码器更简单。可见,编码器和解码器都能够满足时序要求。

如图2所示,优化后的总线功耗降低了。其中8位总线降低幅度最大,达到了88.3%;而随着N的增加,功耗降低的幅度变小。由于验证的10 000组地址向量没有变,所以优化后总线活动减少而节省的功耗几乎不随N的变化而变化;而当N增大时,编码器的规模成倍增大(见表1),编码器硬件所消耗的功率上升很快。因此,编码器的功耗不断增大,总线活动节省的功耗几乎不变,导致总功耗降低的幅度越来越小。


图2  零翻转编码降低的功耗与总线宽度的关系

如果地址不完全连续,那么功耗降低的幅度更小。所以,当内部地址总线宽度过大,超过32位时,不适宜应用零翻转算法。

3.2  零翻转编码对外部地址总线功耗的影响

本测试方案中,地址总线经过PAD连接到片外存储器,总线每一位的负载为50pF。运行一个带有循环和跳转的程序对片外存储器写值,总线功耗结果如表2所列。

表2  外部总线功耗测试

总线负载为50pF,优化后节省的功耗远大于编码器硬件产生的功耗,后者对功耗降低比例的影响减小。所以,随着N的增大,功耗节省比例降低的幅度变小。SoC总线宽度一般在64位以内,因此,零翻转编码法几乎适用于所有的SoC外部地址总线。

由表1与表2的功耗量级的差别知道,总线负载越大,零翻转法优化的功耗就越大,编码器硬件的负面影响越小。

结语

本文介绍了零翻转编码地址总线低功耗设计方法。当地址总线一直连续取址时,通过零翻转编码,理论上可以达到地址总线电平的零翻转,最大限度地降低地址总线功耗。这种设计方法,既适用于片外地址总线,也适用于宽度在32位以内的SoC内部地址总线。

参考文献

1  Stan M R, Burleson W P. Bus-invert coding for low-power I/O. IEEE Transactions on VLSI Systems. vol.3 no.1. 1995. 49~58
2  Weste N, Eshraghian K. Principles of CMOS VLSI Design. A Systems Perspective. Reading, MA:Addison-Wesley Publishing Company,1988
3  Mehta H, Owens R M, Irwin M J. Some Issues in Gray Code Addressing. GLS-VLSI-96, pp.178-180, Amea, IA,March 1996
4  Benini L, De Micheli G, Macii E, et al. Asymptotic Zero-Transition Activity Encoding for Busses in Low-power Microprocessor-Based Systems
5  Benini L, De Micheli G, Macii E, et al. Address Bus Encoding Technique for System-Level Power Optimization. Design Automation and Test in Europe, 1998. 861~866


欢迎进入老古论坛进行讨论
[技术文章] 相关文章:
微控制器的GPRS无线上网
简介:
摘要 介绍一种在微控制器上实现PPP协议,并使其控制GPRS模块通过GPRS连入Internet的方法;介绍GPRS技术和GPRS模块的使用方法;重点介绍微控制器软件的层次结构和PPP协议的实现方法。 关键词 微控制器 点对点协议 GPRS 互联网 引言   微控制器以其体积小、功耗低、使用方便等特点,广泛应用于各种工业、民用的嵌入式系统中;而随着互联网(Internet)的兴起与普及,使微控制器通过互联网传送数据就变得非常有意义。目前使微控制器上网的解决方案一般......

设备驱动程序通知应用程序的几种方法
硬件密码组件与软件密码组件的比较研究
基于8051内核SoC的模拟验证与仿真
嵌入式Linux的MiniGUI研究和移植
 
下一个:[新闻热点]系统芯片设计平台研制成功中国芯又添新成员
简介:
全国首家系统级芯片设计平台日前在哈工大微电子中心搭建成功,并于5月中旬参与完成世界第一块32位S698处理器芯片成功研制。主设计师喻明艳博士自豪地宣布:这标志我国不但拥有微处理的研究与设计的自主知识产权,同时也为建设中国硅谷找到了核心的系统设计平台,“中国芯”家庭将会迎来更多更优秀的新成员。 S698处理器芯片是继“方舟”、“龙芯”、 “众志”之后,又一具有高端技术和自主知识产权的“中国芯”家族新成员。 “这是芯片设计方法学的重大突破”,业内专家这样评价它的意义。我国第一个拥有自......

上一个:[新闻热点]Vishay推出新系列多层变阻器

老古开发网版权所有 2006年9月 asp.Net V2.0 设计:老古
页面缓存:30分钟 执行时间:47毫秒