位置:51电子网 » 技术资料 » 电源技术

地址总线低功耗编码的设计与实现

发布时间:2008/5/26 0:00:00 访问次数:755

        

    

    

    对降低地址总线功耗的编码方法研究与应用正在逐渐增多。本文在简述地址总线上的功耗来源的基础上,介绍了几种典型的地址总线低功耗编码方法,通过结合实际采用的t0编码,能有效地降低智能卡芯片的功耗。

    cmos电路中的功耗来源于两部分:一部分为静态功耗,由漏电和其它静态电流产生;另一部分为动态功耗,由短路电流和负载电容充放电产生。这两部分中共有三种最主要的消耗:跳变损耗(switching loss)、短路损耗(short-circuit loss)、漏电损耗(leakage loss)。短路损耗这部分功耗占总功耗的10-15%,而跳变损耗引起的功耗则占到总功耗的70%~80%。n位地址总线的跳变功耗表达式为:

    

    

    

    

    图1:地址总线编码示意图。

    其中,n表示地址总线宽度,cload表示平均每位地址线的负载,vdd为电源电压,α表示一个周期内平均电容充放电的次数,f是操作频率,α×f表示翻转率。

    智能卡芯片内部的地址总线,要将ram、rom等模块相连接,负载比较重,而且地址总线一般走线也比较长,这无疑都将增大地址总线的负载电容。同时,cpu对存储器访问频繁,也增大了地址总线的翻转频率。因此,地址总线上消耗的功耗比较大。

    低功耗地址编码方法

    对地址总线进行低功耗设计主要是对其进行低功耗编码,方法有bi(bus-invert)和t0(zero-transition)、格雷码、wze编码等。它对cpu送出的t时刻与t-1时刻n位地址总线进行比较,总线上变化的位数如果大于n/2,则将总线取反外送,否则就直接外送。地址接收端收到地址后是否取反根据inv信号线来确定。例如,地址总线为4位,t-1时刻为0000,t时刻为1111,那么将1111取反后送出去。

    bi编码公式如下所示:

    

    式中的b(t)是指t时刻的实际地址,b(t)是编码后的地址,h(t)是b(t)和b(t.1)相异的位数。

    

    

    

    图2:零翻转编***电路结构图。

    bi解码公式如下所示:

    

    其中,j(t)为解码后的地址总线。

    t0码通过增加一条冗余连线inc来通知地址的接收端总线上的地址是否连续。如果inc为高,表明总线上的地址是连续的,此时所有的地址总线保持不变,地址接收端自动将上一地址加1,作为当前的地址;如果inc为低,表明前后两次地址并非连续,此时总线将正常地传送地址码。

    定义b(t)为cpu计算出来的t时刻总线数据(即编码前的数据),b(t)是t时刻已放到总线上的数据(即编码后的数据),jt是***解码后的数据。则t0编码的编码公式为:

    

    与t0编码相对应的解码公式为:

    

    

    

    将bi和t0两种方法结合起来,就形成了bi-t0方法。一般而言,地址都是比较连续的,而数据总线则是比较随机的。bi编码主要用于数据总线,用于地址总线的时候,一般都带有缓存。t0编码具有低延迟和小面积的特性,地址连续的时候,能够很好地降低地址翻转次数。在地址连续的时候,使用t0编码;在地址不连续的时候,使用bi方法,这就形成了bi-t0编码。

    格雷编码对于连续变化为主的地址总线也是比较有效的。例如,从7变为0,用二进制编码是由111变为000,要引起跳变3次,而用格雷码则是由100变为000,只变化一次。对连续数据变换,用格雷码更简单有效。

    

    

    

    图3:地址零翻转波形图。

    wze(working-zone-encoding)编码假设每个瞬间程序只访问总地址空间的某个工作区(working-zone)。地址总线上传递

        

    

    

    对降低地址总线功耗的编码方法研究与应用正在逐渐增多。本文在简述地址总线上的功耗来源的基础上,介绍了几种典型的地址总线低功耗编码方法,通过结合实际采用的t0编码,能有效地降低智能卡芯片的功耗。

    cmos电路中的功耗来源于两部分:一部分为静态功耗,由漏电和其它静态电流产生;另一部分为动态功耗,由短路电流和负载电容充放电产生。这两部分中共有三种最主要的消耗:跳变损耗(switching loss)、短路损耗(short-circuit loss)、漏电损耗(leakage loss)。短路损耗这部分功耗占总功耗的10-15%,而跳变损耗引起的功耗则占到总功耗的70%~80%。n位地址总线的跳变功耗表达式为:

    

    

    

    

    图1:地址总线编码示意图。

    其中,n表示地址总线宽度,cload表示平均每位地址线的负载,vdd为电源电压,α表示一个周期内平均电容充放电的次数,f是操作频率,α×f表示翻转率。

    智能卡芯片内部的地址总线,要将ram、rom等模块相连接,负载比较重,而且地址总线一般走线也比较长,这无疑都将增大地址总线的负载电容。同时,cpu对存储器访问频繁,也增大了地址总线的翻转频率。因此,地址总线上消耗的功耗比较大。

    低功耗地址编码方法

    对地址总线进行低功耗设计主要是对其进行低功耗编码,方法有bi(bus-invert)和t0(zero-transition)、格雷码、wze编码等。它对cpu送出的t时刻与t-1时刻n位地址总线进行比较,总线上变化的位数如果大于n/2,则将总线取反外送,否则就直接外送。地址接收端收到地址后是否取反根据inv信号线来确定。例如,地址总线为4位,t-1时刻为0000,t时刻为1111,那么将1111取反后送出去。

    bi编码公式如下所示:

    

    式中的b(t)是指t时刻的实际地址,b(t)是编码后的地址,h(t)是b(t)和b(t.1)相异的位数。

    

    

    

    图2:零翻转编***电路结构图。

    bi解码公式如下所示:

    

    其中,j(t)为解码后的地址总线。

    t0码通过增加一条冗余连线inc来通知地址的接收端总线上的地址是否连续。如果inc为高,表明总线上的地址是连续的,此时所有的地址总线保持不变,地址接收端自动将上一地址加1,作为当前的地址;如果inc为低,表明前后两次地址并非连续,此时总线将正常地传送地址码。

    定义b(t)为cpu计算出来的t时刻总线数据(即编码前的数据),b(t)是t时刻已放到总线上的数据(即编码后的数据),jt是***解码后的数据。则t0编码的编码公式为:

    

    与t0编码相对应的解码公式为:

    

    

    

    将bi和t0两种方法结合起来,就形成了bi-t0方法。一般而言,地址都是比较连续的,而数据总线则是比较随机的。bi编码主要用于数据总线,用于地址总线的时候,一般都带有缓存。t0编码具有低延迟和小面积的特性,地址连续的时候,能够很好地降低地址翻转次数。在地址连续的时候,使用t0编码;在地址不连续的时候,使用bi方法,这就形成了bi-t0编码。

    格雷编码对于连续变化为主的地址总线也是比较有效的。例如,从7变为0,用二进制编码是由111变为000,要引起跳变3次,而用格雷码则是由100变为000,只变化一次。对连续数据变换,用格雷码更简单有效。

    

    

    

    图3:地址零翻转波形图。

    wze(working-zone-encoding)编码假设每个瞬间程序只访问总地址空间的某个工作区(working-zone)。地址总线上传递

相关IC型号

热门点击

 

推荐技术资料

Seeed Studio
    Seeed Studio绐我们的印象总是和绘画脱离不了... [详细]
版权所有:51dzw.COM
深圳服务热线:13692101218  13751165337
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式


 复制成功!