原创 功耗优化

2009-3-25 20:30 2519 5 5 分类: FPGA/CPLD

集成电路笔记——功耗控制(2008-10-30 14:14:19)


    最近听了很多FPGA厂商的在线研讨,现在FPGA面临的最大的问题就是功耗控制。随着FPGA的处理时钟已经上百兆,加上其内迁的PPC-405s,PPC-450s已经接近500MHz的处理能力,,使得FPGA功耗问题日益严峻。而ASIC由于其设计起步的层次很低,前端设计已经面向门极(甚至TTL级),因此其功耗比较容易控制,而且只需要比FPGA低得多的电压驱动电路工作。


   集成电路总功耗来自如下三个方面


   a.开关功率(动态功率):对输出电容负载充电


   b.内部功率(动态功率):短路功率


   c.漏电功率(静态功率):稳定态功率


动态功耗


   基本原理


    CMOS电路功耗的主要来源是电路的开关状态转换,XPower功耗仿真器为每个开关元件(LUT,FF,BRAM)建立电容模型,根据下式计算FPGA功耗:


    P=C*V2*E*F*1000


    其中,C:电容量,法拉。V,工作电压。E翻转率(每周期跳变次数)。F为频率。P为功耗。


   优化优先级


   一般来说,功耗是和设计目标,如时钟,面积密切相关的。一般集成电路设计工程师按如下顺序考虑功耗的优先级。


        开销类型                   约束


   a.设计原则(工艺)   最大信号翻转率、最大器件扇出


   b.时延               全局时钟周期、最大时延、最小时延


   c.总功率             最大总功率


   d.动态功率           最大动态功率


   e.漏电功率           最大漏电功率


   f.面积               最大面积


   RTL设计


    在RTL设计时候(同样适用于ASIC),在做层次(Hierarchical)划分,模块设计的时候,尽量避免胶合逻辑(Glue Logic)。胶合逻辑是连接到模块的组合逻辑,或者通过组合逻辑将模块相连的设计。这种设计对于保留层次设计,十分不利,他会被EDA工具作为一个单独例化的单元,不被其他模块所吸收,优化受到限制。无法得到全局的优化结果。


  门控时钟


   采用门控时钟设计,对于暂时不使用的模块单元,关闭时钟和供电电源,进入休眠模式,节省功耗。


  门级设计


  1.修改单元的驱动能力 (Cell Sizeing) 


  2.技术映射(Technology Mapping):把高翻转率的连线放入单元内,减少开关功耗


  3.交换引脚(Pin Swapping):把高翻转率的连线分配到电容值小的引脚


  4.相位分配(Phase Assignment):增加面积,降低功耗


  5.因式分解(Factoring):减少物理门数量


  6.插入缓冲器(Buffer Insertion):降低处理频率,降低功耗

静态功耗

    CMOS工艺


    因此,随着处理时钟的增加,FPGA静态功耗将超负荷。现在Xilinx公司提出一种CMOS设计,简述其原理就是,它将Gate级氧化层厚度加大,在保证其工作线形区击穿电流(电压)的同时,降低漏电流,使得功耗降低。还有一种作法是对于休眠状态的开关元件,由不工作,转换为高阻状态,从而使其输出电路噪声降低,减少无用的功耗。


  阈值电压


   随着纳米工艺的先进,半导体器件的几何尺寸越来越小,此时阈值电压越来越小,但是阈值电压对于功率的减少是十分不利的。如下是阈值电压,功率,门延迟的关系:


阈值电压越高——〉漏电功率越低 ——〉门延迟越长


阈值电压越低——〉漏电功率越高 ——〉门延迟越短


    因此我们可以利用多阈值电压工艺库的这种特点,进行漏电功率的优化,设计静态功耗低,性能高(满足需求)的电路。


   多供电电压(Multi-VDD)


    对于高处理频率的区域选择高电压,低处理频率使用低电压驱动。

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
5
关闭 站长推荐上一条 /3 下一条