中文 英语

FPGA复杂性下的验证有效性:2020 Wilson研究组功能验证研究

是什么导致了FPGA项目中重要的bug逃逸?

人气

在激烈竞争、强劲的市场(如FPGA设计和验证)中,基于良好数据做出明智的决策是成功的关键。

在这方面帮助我们的社区是全球威尔逊研究小组功能验证研究背后的动机。我们还利用这些信息来确保我们的研究和开发工作继续提供我们的客户今天和明天需要的解决方案。

在接下来的四个月里,将会有一系列的四篇文章总结2020威尔逊研究小组功能验证研究的关键发现。前两篇文章将关注FPGA的发展趋势;IC/ASIC市场的第三和第四。我们将首先概述研究本身,以及我们为保持调查的完整性、有效性和包容性所遵循的程序。

2020年研究:抽样和偏见缓解

2020威尔逊研究小组的研究结果是一系列功能验证行业研究的延续,这些研究始于2007年,从2010年到2020年每两年进行一次。这些研究都是根据2002年和2004年Collett国际研究公司的研究建立的模型,并专注于IC/ASIC市场。我们从2012年开始调查FPGA市场。

为了研究的目的,我们从多个获取的行业列表构建了一个随机抽样框架。这使我们能够覆盖全球所有地区和所有相关的电子行业细分市场。西门子EDA根据问题构建研究,然后汇编和分析最终结果,我们委托Wilson Research Group来执行我们的研究。在对结果进行数据清理,去除不一致、不完整或随机的回答后,最终的样本量由1492名合格参与者组成(即,n=1492)。

图1比较了2016年、2018年和2020年IC/ASIC和FPGA项目目标实施的研究参与者(即设计项目)的百分比。值得注意的是,有针对性的实施并不代表全球半导体市场的硅量,因为单个项目可能占半导体市场收入的很大一部分。


图1:通过有针对性的实施研究参与者。

由于所有基于调查的研究都受到抽样误差的影响,我们试图通过计算置信区间,在概率方面量化这种误差。在我们的研究中,我们使用95%的置信区间确定总体误差为±3%。换句话说,这个置信区间告诉我们,如果我们从总体中抽取重复样本,95%的样本会落在±3%的误差范围内,只有5%的样本落在误差范围外。

在设计任何类型的研究时,一个大问题涉及到处理三种类型的偏差:非反应偏差、样本效度偏差和利益相关者偏差。

2020年的研究人口统计数据从北美的参与下降了11%(图2),但从欧洲和印度的参与增加。人口统计余额的转变可以在需要考虑的结果中引入潜在的非响应偏见。例如,参与的区域转变可以影响设计和验证语言采用趋势的调查结果。


图2:2018-2020研究人口统计数据。

样本效度偏差发生在不是每个被研究人群的成员都有平等的机会参与的时候。例如,当一个技术会议调查其与会者时,数据可能会提出一些有趣的问题,但不幸的是,它并不代表无法参加会议的人口的成员。为了避免这种偏见,我们的研究样本框架不是来自于门托的客户名单,因为那将是一个有偏见的研究。在我们的研究中,我们仔细地选择了一系列广泛的独立榜单,这些榜单结合起来,代表了世界上所有的地区和所有的电子设计市场细分。我们根据市场细分审查了参与者的结果,以确保没有人在无意中被排除或代表不足。

当对调查结果有既得利益的人可以多次完成在线学习调查并敦促其他人来完成调查以影响结果,以促使其他人来影响结果。要解决此问题,为发送出来的每项研究参与邀请生成了特殊代码。只能使用一次填写调查问题的代码,防止某人多次采取学习或与其他人分享邀请。

驾驶员越来越多的FPGA复杂性

fpga的复杂性最近已经增长到与当今许多IC/ASIC设计相当的程度。以下是2020年研究中与FPGA设计相关的一些更有趣的趋势。

  • FPGA市场仍在努力解决一些重要的bug逃逸到生产中。
  • FPGA市场正在迅速成熟,其验证过程可以解决日益复杂的问题。
  • 在功能验证过程中较为成熟的FPGA项目可能经历更少的错误逃逸。

IC / ASIC市场在2000年后期的时间范围内接受了日益增长的痛苦,以解决提高验证复杂性。同样,我们发现今天的FPGA市场正在被迫解决越来越多的核查复杂性。随着当今复杂的FPGA的容量和能力增加以及高性能SOC可编程FPGA的出现(例如,Xilinx Zynq UltraScale +,英特尔Stratix和MicroSemi SmartFusion2),传统的基于实验室的FPGA验证和验证的方法变得效果较小。我们将量化当今FPGA核查流程的无效性,在非学生Bug逃生到生产方面。但首先,我们将在FPGA设计中查看复杂性的一些贡献者:嵌入式处理器,异步时钟域和安全性和安全功能增加。

在设计中加入RISC-V处理器的FPGA项目的数量为23%。此外,包含某些类型的AI加速处理器(例如,TPU等)的FPGA项目数量为19%。


图3:嵌入式处理器内核数。

在图4中,我们看到92%的设计被实现为fpga包含两个或多个异步时钟域。验证与多个异步时钟域相关的需求增加了验证工作负载和复杂性。例如,在RTL模型上不能用模拟来演示亚稳态bug。要模拟这些问题,需要一个带时间的门级模型,这个模型通常要到设计流的后期阶段才可用。然而,静态时钟域交叉(CDC)验证工具已经出现,并正在被用于帮助在设计流程的早期阶段直接在RTL模型上识别时钟域问题。


图4:异步时钟域的数量。

今天,我们发现43%的FPGA项目为其设计添加了安全功能。安全功能的示例包括安全保证硬件模块(例如,安全控制器),该模块被设计为安全地保持敏感数据,例如加密密钥,数字正确管理(DRM)键,密码和生物识别参考数据。这些安全功能为验证过程添加了需求和复杂性。

到2020年,我们发现40%的FPGA项目将在多个安全关键开发流程标准或指导方针下工作。在图5中,我们展示了在安全关键开发过程标准或指导方针下工作的那些项目的各种标准的具体分解。注意,一些项目需要在多个安全标准或指导方针下工作,这就是为什么采用的百分比总和超过了100%。如IEC61508、IEC61511。


图5:安全关键开发标准用于FPGA项目。

面对复杂性的验证有效性

在这种日益复杂的情况下,FPGA项目结果在验证有效性方面如何得到公平?集成电路/专用集成电路项目通常以“生产前所需旋转数”作为基准来评估项目的验证有效性。不幸的是,FPGA项目没有等效的度量。作为替代方案,我们的研究询问FPGA参与者“有多少重要的bug逃到了生产中?”结果(如图6所示)有些令人不安。到2020年,只有17%的FPGA项目能够在生产中没有bug,这比IC/ASIC的首次硅成功还要糟糕,而且对于一些细分市场,现场修复的成本可能非常高。例如,在军用航空市场,一旦系统上的盖子被移除以升级FPGA,整个系统需要重新验证。


图6:重要的FPGA bug进入生产。

图7显示了各种类型的设计缺陷,为FPGA非琐碎的错误逃逸。“逻辑或功能缺陷”的百分比仍然是错误的主要原因。在2020年研究中追踪的新缺陷与安全(8%)和安全性(6%)特征有关。显然,多个缺陷可以贡献错误逃脱,这是缺陷总和总百分比到100%的原因。


图7:导致FPGA BUG逃逸的缺陷类型。

图8按不同类别展示了逻辑或功能缺陷的根本原因。数据显示,设计错误是功能缺陷的主要原因,这种情况正在恶化。此外,与变更、不正确和不完整的规格说明相关的问题是许多验证工程师和项目经理经常提出的一个共同主题。


图8 FPGA功能缺陷的根本原因

除了我们用来确定FPGA项目有效性的bug逃逸指标外,我们跟踪的另一个指标是与原始进度相比的项目完成情况,如图9所示。在这里我们发现68%的FPGA项目落后于进度。在2012年到2020年期间,FPGA项目的失工期增加了50%以上,这反映了设计和验证复杂性的增加。


图9:与原始计划相比,实际的FPGA项目完成。

什么样的未来?

到目前为止,我们研究了包容性,全面和无偏见的调查的基础,并分享了我们对FPGA验证效果的研究结果。在下一篇文章中,我们将深入了解项目资源和验证技术采用方面的FPGA趋势。我们将在今年的研究基于FPGA市场的各个方面,结论这篇文章。

如果您现在渴望欲了解,请查看完整的论文:2020 Wilson Research Group功能验证研究FPGA功能验证趋势报告



留下一个回复


(注意:此名称将被公开显示)