地址总线低功耗编码的设计与实现
发布时间: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)。地址总线上传递
热门点击
- AD/DA的分类与指标
- 基于SPI总线的电能计量芯片ATT7022及
- 适用于高输入输出电压差的降压稳压器电路拓扑
- 一种新型浪涌电流限制器
- 半桥电流源高频链逆变电路分析
- 基于双12位DAC的高精度直流电压/电流源设
- 试论多进制数字调制技术及其应用
- 电动车铅酸蓄电池的脉冲快速充电设计
- PID是什么意思?
- 使用UPS十点注意
推荐技术资料
- Seeed Studio
- Seeed Studio绐我们的印象总是和绘画脱离不了... [详细]