日前由iPhone 6s引发的“芯片门”事件,让人注意到半导体芯片即使功能规格相同,却可能因设计与制程差异,而有不同的效能与功率表现。半导体产业有其定义的制程指标,对于功能性的验证亦相当先进,但有关功率耗电、效能以及其他系统层方面的验证却尚无明确的分析指标。
据Semiconductor Engineering网站报导,目前之所以缺乏针对芯片功耗与效能指标的定义,主因在于无法用简单的通过或不通过的概念进行检验。
以功率来说,其实包含许多不同层级需求,例如执行特定工作的整体耗能、尖峰功率、平均输出功率与功率密度等等,若再加上热冲击,将耗费更多时间。效能也是一样,在某些应用上,持续性或许比最大处理量更重要。
专家表示,如果将功率管理与低功耗加以区分,至少功率管理这一块是比较容易处理和验证的。如果要关闭某项程式,就只要检测程式已确实关闭。甚至使用断言(assertion)进行自动验证,再利用正式工具加以检查。
唯一的困扰在于软硬件之间的权责划分,尤其是功率管理通常由操作系统控制,因此关于覆盖范围与项目的设计、软硬件介面等该由哪一方负责反而产生问题。不过正在制定中的IEEE P2415标准,将定义作业系统与芯片间的互动,以便未来将资讯纳入设计及验证工具当中。
专家认为,指标与覆盖率不适用于效能的检测。在静态时序验证前,先于逻辑闸电路层验证时序。只要拥有描述特定系统需求的代数,就可以如静态时序分析一般进行静态效能分析。
要写出这样的效能代数虽不难,如何说服子元件制造商描述并验证效能需求以及元件特性,才是挑战所在。目前许多人使用断言来检查最糟情况的延迟或其他系统层的时序和效能问题。但最大的问题在于,是否是在对的情境下寻求这些最糟情况。
静态验证方法虽可验证边界条件,却无法提供关于系统的持续性处理量。专家指出,功能性覆盖率指标过于静态,因此不适用于系统层的检测。随着机器学习及资料探勘技术的发展,未来可运用这些技术,筛选来自虚拟原型机、仿真模拟或FPGA原型机产生的大量资料,以找出问题的答案。
芯片的尺寸越做越小,低功耗设计也就越显重要。特别是这么多元件挤在小小的电路板上,当电流通过只需毫秒时间便会发热,有时必须等到芯片散热之后,才能执行程序切换动作,这是功率与效能之间的妥协。
至于该如何确保验证是在适当的情境下完成,专家认为最重要的是能够预测最糟的情境。大部分半导体公司会针对数百种情境进行测试以找出量化的影响。当然这样的解决方案还是不够全面,已有公司开始追求更高层次抽象技术,并需要静态与动态方法来模拟这些情境。
目前半导体产业很显然还没有明确的分析指标,即便像苹果(Apple)这样的大厂,也是等到产品问世后,才发现即使功能规格相同的芯片,因设计的不同而在某些使用案例产生功率设定的差异。 |