路科验证的个人空间 https://blog.eetop.cn/1561828 [收藏] [复制] [分享] [RSS]

空间首页 动态 记录 日志 相册 主题 分享 留言板 个人资料

日志

验证的方法篇之六:效能验证

热度 1已有 3713 次阅读| 2016-9-11 16:05 |个人分类:验证系统思想

在PC时代,还少有人将处理器功耗提上验证的日程,因为大家对于处理器性能的关注多于功耗的考虑。在十多年前,大家使用2G的功能手机,“超长待机”一词渐渐被作为主打广告语进入了用户的视线,这得益于硬件本身的低功耗(性能本身不要求太突出)和大容量的电池。而到了智能手机时代,伴随着将桌面办公和娱乐移动化的需求,一部手机承载着以前桌面机的性能。这种要求之下,也催生了智能机市场在过去的几年当中蓬勃增长,因为随着软件性能对硬件的日趋增长的要求,以及移动网络数据传输性能的不断提高,都在促进者硬件性能的层层上升。

在移动时代,硬件提升性能的方式主要表现为以下几种方式
  • 提升原有处理器性能、存储器空间、数据总线带宽或者采取多核处理方式。
  • 增加额外的协处理单元,新的功能模块(例如Video/GPU模块)。
  • 在后端允许的情况下提高工作时钟频率。
  • 提升工艺制程。

总体上看,随着性能的提升,能耗也会逐步提高,这在过去的PC时代还不是一个显著问题,但是到了移动端的现在,就越发要求硬件不但要求性能有提升,也同时需要考虑能耗是否也可以接受。我们这篇文章主要以移动芯片为例,来讨论目前关于性能(performance)和效能(power consumption)的权衡


从上面这张移动硬件领域的技术缺口图上可以看出,无线通信技术被标注上了1G、2G、3G和4G。香农定律预测出每8个月传输性能会提升一倍,同时摩尔定律也指出了每18个月晶体管的单位密度会提升一倍因此处理器的性能也会提升一倍。同样地也有对电池生产商每10年左右能源密度提升一倍,而存储器的性能大约每12年会提升一倍。

那么从这张图不同器件的特性增长来看,就揭示了对于耗移动硬件的技术缺口,它们是:
  • 处理器和存储器之间的带宽缺口,即处理器的性能会同存储器的带宽缺口逐步增大,进而存储性能无法满足运算性能。
  • 效能缺口,这是由于传输和运算速率双双大幅提升,使得功耗显著提升,但由于电池技术受限,使得功耗成为了瓶颈之一。
  • 算法复杂度缺口,这是由于传输速率超过了运算速率的涨幅,也因此需要更多的处理器来共同完成越来越复杂的算法。

而上面讲述的技术缺口同目前硬件提升性能的方式也大致保持逻辑吻合。我们本篇主要就如何解决能效缺口入手,讲述目前主流的能效验证方式。


功率和能量
首先我们先引入基本的概念,能率和电能在日常器件能效讨论中经常会提起,然而它们是不同的两个术语。
功率 = 能量/时间 (瓦特)
能量 = 功率*时间 (焦耳)
有时候,我们设法降低功率也会随之降低能耗,但这也不是绝对的,例如有些任务在高速高功率情况下可以很短完成,而且效果实际上要比在低速低功率下消耗更长时间的效率更高。又比如,如果静态功耗可以忽略的前提下,如果一个任务需要固定的时钟周期数完成,那么无论时钟快还是慢,它消耗的能量是一样多的;然而,当静态功耗无法忽略的时候(例如目前的工艺制程已大致在10纳米),反倒是时钟更快、动态功耗越高的情况下,完成这项任务更高效。所以,效能的验证和评估实际上就是对能量利用效率的优化途径


静态功耗和动态功耗
所以从上面的例子,我们知道,如果要考虑功耗,需要考虑两部分,静态功耗和动态功耗,总的功耗表现可以描述为如下
总功耗 = 开关功耗 + 短路功耗 + 静态功耗
这里开关功耗和短路功耗构成了动态功耗的部分。
开关功耗 = CV2 F 
C = 负载电容
V = 电压
F = 频率

短路功耗 = V • I (短路)
I(短路)为在开关切换过程中N极和P级同时有效时发生的电路电流

静态功耗 =V • I (漏电)
而静态功耗(或漏电功耗)则是晶体管在激活或者保持状态下都会出现的漏电造成的功耗。

节能技术
实际上移动硬件节能(省电)技术是一项全面的流程,从工艺制程、电路、封装到模块设计、SoC设计、系统和应用软件开发等等,整个环节都需要有效利用能量。下面这张图是从芯片硬件和软件所采用的节能技术(省去工艺制程):

同我们之前介绍过的硬件设计流程类似,节能的设计流程也是从规划到实施最后到集成的。面对越来越复杂的系统,实用的方式还是从系统设计开始,逐步分解到电路设计,先从硬件层面考虑如何去实现低功耗设计。

能效验证
我们这里主要针对硅前设计阶段入手,进行能效验证,我们将其主要分为两个部分:
  • 功能验证:主要采用PA(Power Aware)(主要包括有UPF(Unified Power Format)或者CPF(Comment Power Format))方式,通过与仿真器结合测试。
  • 功耗预测与优化:通过第三方功耗分析工具,结合仿真数据(FSDB/VCD/SAIF),进行功耗预测,并且给出分析结果。

PA(Power Aware)能效设计流程
UPF/CPF这两种功耗格式比较类似,且可以将它们的流程主要分为四个部分:
  1. 规定功耗格式文件,指定了电源掉电、触发隔离和状态保持等行为,以及它们的控制信号。
  2. RTL模拟仿真(门级仿真也可以支持),除过要保证在功能同非能效验证时一样,也要进行低功耗逻辑和断电控制功能验证,检查状态丢失、分离和保持。
  3. 逻辑功能检查和等价性检查(带有UPF/CPF插入的单元)。
  4. 逻辑综合和DFT(带有UPF/CPF插入的单元)。

对于硅前验证阶段,验证人员接触到的主要是RTL模拟仿真,我们一般采取的策略是:
  1. 进行非效能的RTL仿真(不带PA)
  2. 在普通RTL功能仿真都通过的情况下,进行PA仿真
  3. 在门级仿真阶段,如果时间允许,可以在后期进行门级PA仿真

功耗预测与优化
一般我们期望尽早地获取到功耗的估测信息,而这一期望又与芯片开发过程相悖,因为往往在流片以后的软件开发阶段测量出来的功耗是更准确的。但是如果需要等到流片之后才能测量功耗,那么低功耗设计的成本就很大了,因为一方面这使得我们试错的成本增加,另外一方面产品能效优化迭代的周期也变长了。所以,我们希望在硅前设计阶段甚至是规划阶段(TLM虚拟模型)来估测出芯片功耗,已经分析出较降低功耗的设计方法。这这里,我们将目光落在RTL和门级阶段,通过现有的功耗设计平台,执行早期物理感知功耗预算与调试、功耗降低分析、电源效率回归分析、以及利用仿真器接口对动态应用进行功耗特性分析。

简而言之,目前这些工具都是为了查看、估计、分析和降低功耗,通过在RTL级和布局后门级功耗数据指标和报告,为设计和验证人员提供调试和追踪功耗的方法。目前主要的功耗预测分析工具有PowerArtist(Ansys)、Spyglass Power(Synopsys)、PrimeTime PX(Synopsys)、Redhawk(Ansys)。而我们在实际项目中通过不同工具的比较,提供了如下的建议:

目前在硅前能效验证阶段,我们相对容易做到的是去采纳PA设计流程,进行相应的RTL仿真和后端流程。在PA验证过程中,我们可以通过熟悉的仿真器进行PA仿真,进而在保证原有功能实现的情况下,进一步检查低功耗逻辑和断电控制功能。而对于功耗预测与优化,目前有几点因素值得考虑
  • 工具的评估和选择:不同的工具有不同的适应场景和性能。
  • 如何将功耗分析与优化纳入项目流程:对于低功耗芯片设计,功耗分析的方向值得被提上纳入项目流程的讨论日程当中。
  • 如何量化功耗优化成果:一方面我们需要考虑如何选取合适的测试场景来模拟典型的芯片应用,另外一方面也需要选择合适的仿真时间段作为数据分析的来源。
  • 将不同代芯片之间的功耗进行分析对比给出功耗节省建议:在不同代芯片项目中,通过功耗估测进行节电预测,而后再通过实际芯片的数据给出反馈来进一步修正估测数据,通过这种收敛方式有助于更准确的功耗节电趋势预测。


我们下节课将为大家带来《性能验证》,看一看在硅前阶段我们可以做些什么,让硬件尽可能地在早期知道自己的运算和带宽极限。


点赞

发表评论 评论 (1 个评论)

回复 fat先生 2020-10-16 16:28
thanks

facelist

您需要登录后才可以评论 登录 | 注册

  • 关注TA
  • 加好友
  • 联系TA
  • 0

    周排名
  • 0

    月排名
  • 0

    总排名
  • 0

    关注
  • 253

    粉丝
  • 25

    好友
  • 33

    获赞
  • 45

    评论
  • 访问数
关闭

站长推荐 上一条 /2 下一条

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-4-23 17:16 , Processed in 0.017211 second(s), 12 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
返回顶部