摘要: 片上系统(SoC) 发展到片上网络(NoC) , 能量消耗逐渐成为芯片设计的首要限制因素。通过建立CMOS 电路和网络通讯2 个层面不同的功耗模型, 从集成电路不同的设计层次、片上网络通讯功耗以及NoC 映射问题等方面进行NoC 的低功耗设计, 综合分析NoC 的低功耗设计方法。
引言:随着单个芯片上集成的晶体管数量超过10 亿数量级, 能量消耗已经逐渐成为芯片设计的首要限制因素。集成电路的设计重点也从芯片的功能需求转变为功耗需求。NoC作为未来芯片设计的发展方向, 研究其功耗问题意义重大。
1 功耗模型
1. 1 CMOS 逻辑电路的功耗模型
集成电路的功耗主要由动态功耗、短路功耗、静态功耗和漏电流功耗4 个方面组成 。
( 1) 动态功耗是电路中的节点电容充放电行为产生的, 可以由以下表达式表述:
式中: Vdd为电源电压; Ci 为被充放电的节点电容; i为节点活性因子( 表示节点电容充放电的平均次数与开关频率的比值) ; f 为开关频率。
( 2) 短路功耗是在一定条件下电源到地产生的短路电流形成的, 其表达式为:
式中: k 由工艺和电压决定; W 为晶体管的宽度; τ为输入信号的上升/ 下降时间; f 为开关频率。
( 3) 静态功耗是电路在稳定时所形成的功耗。
( 4) 漏电流功耗是指由亚阀值电流和反向偏压电流造成的功耗。
以静态CMOS 电路为主的集成电路中, 动态功耗是整个电路功耗的主要组成部分, 其次为短路功耗, 而静态功耗和漏电流功耗在大多数情况下可以忽略不计[ 23] 。
分析动态功耗的构成公式可以得出降低电源电压、减小电路节点电容和节点开关活性等方法, 从而降低集成电路的功耗。
集成电路的动态功耗与电源电压的平方成正比关系, 因此, 降低电源电压可以大幅度减少功耗。但一般电源电压Vdd应不小于阀值电压V t 的2~ 3 倍,如果电源电压小到接近阀值电压, 电路的延迟会明显加大, 因此, 为了保证电路的性能, 可以采用适当低的阀值电压V t 。但V t 也不能无限制的降低, 必须保持一定的噪声裕度, 而且当V t 下降时, 漏电流造成的功耗也会相应增加。
从另一方面考虑动态功耗是电路中节点电容的充放电行为产生的, 节点充放电的频率是一个重要的参数, 而节点活性因子正是反映节点充放电的频率的参数, 电路的有效电容是节点活性因子与节点电容的乘积。避免无用的充放电行为, 采用各种低活性的电路结构可以降低功耗。
1. 2 片上网络通讯功耗模型:
Or io n 提出的功耗模型( Pow er Model ),是首次提出的运用在网络中的功耗模型。片上网络( NoC) 将网络通信的原理引入到片上系统的设计中, 适用Pow er Model 功耗模型。片上网络通讯功耗是指片上网络的任意资源节点间的数据通讯所产生的功耗, 在Pow er Model 功耗模型中传输一个数据片( f lit ) 的功耗用Eflit 表示。
式中: Ebuf 表示缓冲器的功耗; E ar b表示仲裁的功耗;E xb表示交叉开关( Crossbar) 的功耗; Ecn = Ebuf+ Earb+ Exb表示通讯节点内部的功耗; Elnk 表示通道( link )的功耗。假设H 表示数据片经过的网络跳数, 数据片( f lit) 从资源节点Ri 传输到资源节点R j 的功耗:
当H = D 时, 此时的功耗为最低, 即:
这里的D 是源节点到目的节点采用最短路由算法所得的曼哈顿距离( Manhattan Distance) 。
2 降低功耗的办法:
2. 1 集成电路不同的设计层次:
文献[ 5] 介绍了工艺级低功耗设计和优化技术这一设计层次的低功耗方法。版图级低功耗设计和优化技术基于Elmore 模型, 优化电路的主要功耗是互连线的功耗。布局布线技术从只考虑面积和延时的因素, 发展到通过加入来自设计前端的信号活动信息以实现对功耗的优化。门级低功耗设计和优化技术包括时序调整、公因子提取、工艺映射、门尺寸优化和路径平衡等方法[ 67] 。文献[ 6 ] 介绍的时序调整( Ret iming) 方法通过插入新的寄存器或重新安排寄存器的位置, 达到减少门的翻转频率或减少通过流水线的最长段延迟, 以此减少功耗。文献[ 7] 利用公因子提取方法实现了多级电路的低功耗。工艺映射方法把翻转率高的节点隐藏到负载电容小的门单元的内部, 从而降低功耗。门尺寸优化方法是对非关键路径的门缩小尺寸从而减小面积和功耗。路径平衡方法通过避免多余的伪跳变从而节省功耗。RTL 结构级低功耗设计及优化技术这一层次的低功耗方法包括逻辑综合和优化技术及并行设计( Parallelism) 和流水线设计( Pipeline) 技术。并行设计和流水线设计是通过增大面积来提升性能和减低功耗, 采用并行设计后, 电路面积每增长n 倍, 电容增大n 倍, 对应的频率和电压下降n 倍, 因为功耗与电压的平方成正比,所以功耗可以降低n2 倍。系统级低功耗设计和优化技术这一层次的低功耗技术包括软硬件划分、存储器优化[ 8] 、指令级优化、动态功耗管理[ 9] 和总线低功耗设计等。
2. 2 片上网络通讯方面:
2. 2. 1 内部缓冲器功耗:
发生竞争时, 需要内部缓存临时储存低优先级的分组。在开关结构电路中, 缓存通常用共享的静态RAM 或者动态RAM 储存器实现。存储器访问消耗的能量由输入分组之间的竞争决定。目的地竞争是独立于应用的, 不管是用何种开关结构体系。互连线竞争依赖于开关结构体系, 不同的体系拓扑会产生不同的竞争, 因此, 可以通过优化拓扑结构设计改善储存器访问的功耗。
2. 2. 2 通道的功耗:
假设有一个基于RailtoRail 结构的拨动开关,通道上的位能量Eln k可以通过以下公式计算: