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

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

日志

当前的功耗验证为什么让人不满意?(续)

已有 1566 次阅读| 2018-12-1 23:03 |个人分类:验证前沿资讯|系统分类:芯片设计

功耗模型

纵使业界已经多次尝试去发现高级功耗模型,不过遗憾的是到目前为止都未成功。部分问题在于,要得到准确度,你需要来自RTL的设计细节。不仅如此,要获得花大量的时间进行足够的仿真所得到的功耗曲线,需要更高级的功耗模型。如果还要考量热功耗的话。那问题就更复杂了。

 

“如果你正在进行高级综合并试图估算早期功耗,那么这将会是一个不小的挑战,”Mentor公司西门子事业部的Tanner产品负责人Jeff Miller说。 “另一个挑战是开发一个loT传感器,它会保持一个小时的睡眠状态,然后被唤醒五秒,它会进行对系统测量,然后通过计算来确定测量结果是否表现出显著的变化,然后再分析这个变化对RF发射器供电并传输关键数据后断电这一连串行为的影响是否明显。尝试优化你所发送的数据量对你来说会是一个多层次的挑战。如果你想尝试优化功耗损失,那你就必须得优化cpu,当然你也希望它运行速度能够足够快以完成所需的计算,这样你就可以扭头回去睡大觉了。可是如果想要所有的这些权衡同时实现,那将一个十分有意思的系统级挑战。”

 

这种建模水平高于硬件设计中的典型水平。 Imperas营销副总裁Kevin McDermott解释说:“如果你对处理器进行建模,那么对主存储器的内存访问或获取缓存的方式就会有所不同。”你可以将某些元素的成本指定比其他元素更高一些。如果你正在讨论更高复杂度的例程,打开你的广播和系统任务-它们也同样值得被分配成本。之后要是软件发生变化,你就可以查看每种成本的部署频率。艺术从不说绝对结果是什么,而看的是相对变化。这个软件是否能在相同的功耗范围内运行,还是说它会使系统的某些部分运行更加艰难,并且增加功耗成本,亦或是会改善它们?

 

以下是一些业界统一的要求:

•一个好的场景意味着空闲,典型和极端的行为都要容纳

•改变硬件的同时追踪功耗的变化,以便于你了解这些变化是否会显著影响功耗

•知道在哪些方面可以节省功耗的经验丰富的工程师

通过使用与曾经用于功能验证上不同的技术,未来可能会取得进展。

 

功耗场景

想要找到又好又具有代表性的场景简直比大海里捞针还难。“测试功耗状态和功耗域的多种组合需要在一个大到无法测试的合理状态空间内引导一个稀疏的合法状态空间,”Cadence产品管理总监Larry Melling说道,“这是可移植激励工作组成立所需要克服的挑战之一。该小组通过指定测试意图,依靠自动化和随机化在合法状态空间约束内创建实际测试,并且强调设计来验证它是否满足功耗需求。”

 

虽然可移植激励有助于创建矢量,但如果没有强大的模型来帮助驱动它,它就无法找到最坏的情况。

 

迁移到可移植激励上还需要时间。“以前人们根本都不看功耗波形一眼,他们只是想得到一个数字而已,”Gupta指出,“范式转变使人们意识到设计的行为对功耗有着显著的影响。功耗仍被要求进行无矢量分析并且控制在5%以内。怎么在这些复杂的行为中做到这一点呢?基于设计应用程序创建正确的行为场景非常复杂。”

 

这样做的确是有好处的。UltraSoc的Baines表示,“如果设计过于保守,某种情况下可能会导致资源上的浪费,比如说,为了更好地完成任务,我们会提供超出预算的计算能力和内存。根据实际分析可用性有两个好处,首先可以帮助设计师让系统‘更精简’,从而更加节能。其次,我们可以查看CPU/GPU等的利用率,确保低功耗模式下的系统性能。”


功耗回归

在设计的各个阶段,都有可能出现功耗故障。ANSYS的Gupta描述了AMD的设计流程,跟踪了系统块中的功耗配置。“典型的SOC大概有30个块,验证工程师会对每个块编写向量,每个向量都代表这不同的负载水平,紧接着,验证工程师通过对每组向量进行功耗分析,生成可执行的指标。”


(设计回归期间会的功耗轨迹——来源AMD)

 

回归分析也必须在产品的整个生命周期内完成。“设备的搭建和最初版软件的发布只是第一阶段,”McDermott断言。“为满足不断的更新和改进的需求,你需要规划好回归测试,补丁和更新的版本控制。不仅是程序经过多年的发展,硬件也将不断发展,并且会有一系列发展的稍有起色的硬件,不同版本的软件会对应匹配不同的硬件。也可能有一些局部的调整,可能通过人工智能,使得每种调整根据特点的不同而略有不同,这样你必须管理软件补丁。

 

McDermott认为,与其在每一个硬件变体中建立一个实验环境还不如建立一个软件模型。 “一旦拥有芯片和电路板之后,有些人认为他们不再需要仿真了。其实不然,你需要保留所有类型的硬件和软件组合。你必须维护和配置所有硬件。而在软件中更容易做到这一点,你可以构建各种类型的组合,也可以找到导致问题的关键因素。”


经验无可取代

一旦你拥有定义重要设备用例的脚本,那么分析并定位系统中的哪些领域的功耗可以节省就变得容易多了。“系统运行文件会在运行时间内被检测到并与事先存储好的特征文件进行比较以此来估算功耗,”Austemper DesignSystems产品和业务开发副总裁Srikanth Rengarajan说,“然后可以通过两个模块之间的控制算法来交换活动单元,使得空闲周期最小化。一个能源受限的设备(例如智能手机)通常采用功耗的系统视图。用例经过严格的离线分析以提供消耗估算,并且在识别当前用例的基础上完成运行时间功耗优化。

 

在出现一个可以直接指出功耗漏洞的工具诞生之前,工程师的作用都是举足轻重的。“我们提供收集实时运行事件的数据的功能,你可以通过使用这些功能来关闭功耗控制方面的循环。”ArterisIP应用工程总监Benoit de Lescure说,“你可以观察这些统计数据来确定一个不在全功率运行的模块,然后你就可以降低它的电压来降低它的功耗。”

 

 

企业可以做一些简单的操作。“对于早期分析,人们并不熟悉找到功耗漏洞的方,”ANSYS的Gupta说。“我们添加了一个简单的图形显示屏,将设备根据功耗分成不同的小块并且将各小块涂上不同的颜色——红色,黄色或是绿色,这就足以让一些公司来找到功耗漏洞了。设计师可以通过这个简单的设计来查看那些他们没有预想到的事情,人类的感官有时候也可以用来发现问题。”

 

但是,尽管发现了问题,却很少有工具可以帮助解决这些问题。“调试挑战与典型的功能故障不同,”Cadence的Melling说。“功耗预算的无法满足告诉我们需要一个更加广泛的贯穿整个设计的功耗状态视图,以便区分哪些域的功耗可以减小,而哪些域的功耗可以在不影响功能的情况下清除。“解决”这个概念也与以往不同。更改传统状态空间定义来纠正这个问题,或是牺牲性能来满足功耗预算这两种操作是可能实现“解决”这一概念的两个例子。

 

重新思考未来

各个企业仍在寻找帮助解决功耗验证问题的方法。“通过使用在SOC上的真实场景并观察模块与模块之间的交互这种方法来创造新的功耗工具存在一定的可行性。”Gupta说。“虽然指标正在不断发展,但我们还是要投入更多的精力并帮助创建矢量集。”


点赞

评论 (0 个评论)

facelist

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

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

    周排名
  • 0

    月排名
  • 0

    总排名
  • 0

    关注
  • 269

    粉丝
  • 25

    好友
  • 34

    获赞
  • 45

    评论
  • 33675

    访问数
关闭

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


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

GMT+8, 2024-11-13 06:16 , Processed in 0.015550 second(s), 8 queries , Gzip On, Redis On.

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