{本文由家电维修技术论坛小编收集整理资料}一直以来,设计人员都将最小化功耗的工作留给实现/物理工具来完成。但到了这个时候,有关设计的所有重要架构和微架构决策都已确定。物理工具对功耗的影响非常有限。这些工具无法对设计架构进行彻底的更改,从而实现节能。物理工具所用的方法,例如单元尺寸调整、管脚交换和 Vth 选择,只能将稍稍降低功耗而已。 UPF 主要用于增强漏泄功耗的功率门控,其主要用途是定义电压域。指定不同电压域的其中一个原因是为了协商功耗与性能之间的折衷方案。较高的电压可获得更快的速度,但需要更高的动态功耗 (1/2 C V2 f)。 功耗与电压的平方成正比。因此,降低动态功耗要从针对设计中的不同模块规划合适的电压电平开始。动态功耗主要受活动影响。设计中运行的工作越多,最终需要的能量就越多。随着在设计中完成工作的速度提高,所需功耗也会增加。要节省动态功耗,可以降低设计的工作速度(降低时钟速度),尝试降低电压,或尝试削减设计活动。减小设计中的电容是节能的另一个重要方面,这通常可借助高效的实施或通过调整工艺来实现。 一般而言,设计架构师比较擅长确定电压和时钟速度。但目前为止,还未找到减少活动(尤其是不必要的活动)的有效做法。此类缩减往往需要微架构更改(例如 FSM 重新编码、模块级时钟门控、存储器门控、存储器分块和旁路存储器访问),而这类更改要求深入了解设计功能。这类更改适合由编写 RTL 的设计人员来执行。 在许多公司,降低功耗的工作交给功耗专家完成。这些专家具备多年积累的反复应用于所在业务组设计的知识和方法。但这种方法非常狭隘,无法在公司内多个业务组之间拓展。 公司开始认识到这一方法的局限性。于是越来越多的 RTL 设计人员从一开始便承担了解决功耗问题的任务。理想情况下原本就应如此。了解设计的人员是进行功耗优化的最佳人选。而且,在设计转向 FinFET 技术的过程中,动态功耗已成为功耗的主导因素(图 1)。 图 1:功耗趋势。 降低 RTL 动态功耗的常用方法 在 RTL 做出的决定对设计功耗的影响远大于在设计流程后期做出的决定。RTL 设计人员严重依赖时钟门控来削减时钟翻转。这是目前占绝对优势的降低动态功耗的最常用方法。RTL 设计人员使用的一些其他方法包括数据门控和触发器克隆/共享(图 2)。 图 2:克隆触发器方法。 图 2 显示: • 触发器 F 提供了用于 3 种算术运算的运算符。• 触发器 F 无法进行门控,因为至少一种算术运算需要它的值。• 即便执行一种运算,另外两种运算中的逻辑也会发生不必要的翻转并产生功耗。• 通过将触发器 F 克隆到三个触发器(F1、F2 和 F3)中,可在对两种运算进行门控的同时计算第三种运算。 通过这一更改,设计人员需要确认额外触发器的功耗要远小于它们所控制的下游算术运算功耗。 要对功耗产生更深刻的影响,RTL 设计人员需要在设计中进行越来越多的粗粒度(微架构)更改。例如,通过以下方法可显著削减动态功耗: • 模块级的时钟门控• 将寄存器链转换为环形缓冲器• 关断存储器• 旁路存储器访问• 执行重定时• 使用运算符屏蔽。 将移位寄存器替换为环形缓冲器是一种常见的微架构设计更改。移位寄存器中的活动量很大,因为沿着接收新值的触发器链,数据一直都在进行移位。这一移位操作导致触发器(以及这些触发器所驱动的逻辑中)发生多次不必要的翻转并造成功耗。因此,设计人员考虑将移位寄存器替换为环形缓冲器(图 3),因为这些缓冲器在读取或使用新值时不需要移动。 图 3:将移位寄存器替换为环形缓冲器。 进行这一更改后,设计人员需要确认在环形缓冲器内添加读/写指针逻辑产生的功耗不会超过通过使用环形缓冲器节省的功耗。 由于在任意给定的时间间隔,仅仅访问总计地址中的少数几个地址,因此存储器会浪费功率。为解决此问题,设计人员可使用较小的 |
|Archiver|手机版|家电维修论坛
( 蜀ICP备19011473号-4 川公网安备51102502000164号 )
GMT+8, 2025-4-30 17:26 , Processed in 0.127874 second(s), 18 queries .
Powered by Discuz! X3.5
© 2001-2025 Discuz! Team.