异构集成 (News) 芯片封装主页/ 异构集成 / 芯片验证的投入与产出
< 返回列表

芯片验证的投入与产出

芯片验证是芯片设计流程中的关键一环,对整个产品以及客户产品带来的影响深远,验证结果的正确与否,或者说验证团队的成功与否是可以客观的通过系统测试的结果来衡量的。那么到底该投入多少资源到验证团队?投入太少,会导致验证不充分,反复流片,甚至被客户退货的后果,总之最后的结果是节省了验证的资源,却损失了整个项目所能赚到的更多的钱。投入过多的资源,则意味着整个团队的冗余以及管理的混乱,况且,当下要招点验证工程师实在是不容易的。因此,整个芯片开发团队必须找到一个合适的平衡。如何衡量整个资源的占比是一个系统性的工程。

验证的投入三要素:人力,工具,时间

  1. 人力
    人力是以从事验证工作的人数来衡量的。验证本身是独立的一项任务,创建验证任务和找到所有BUG是非常重要的一项独立能力,并不依附于设计,验证工作也不会受设计思路的影响而剑走偏锋。不推荐设计团队同时扮演验证工作的角色,因为带着逻辑设计思路去做验证会将造成负负为正的期望结果!这是非常不希望发生的状况。另一方面,设计者在做逻辑设计时,可能会做某些假设,而验证工程师必须抛开这些假设,独立思考如何开展验证,搭建验证环境,所有的协议和功能都应该按照第三方的规格文档,而不是被测设计的设计者文档。当然,并不是说设计者在验证任务中可以全身而退,首先设计者在将设计代码给验证团队之前应该做一些简单的验证,成熟的设计工程师是不会将那些有编译错误或者常规的拓扑逻辑错误的代码直接给验证工程师的。 另外,设计工程师在设计过程中遇到棘手问题所采用的一些非常规的设计思路要及时群发邮件给验证工程师或者团队,指出潜在的BUG所在,并且可以提供断言时序给验证团队,在覆盖率方面给予指导,以使验证更充分。当然最主要的是设计工程师的文档能力,好的设计工程师会将相关的文档,包括接口文档以及特殊模块设计细节文档及时准确归档,为验证工程师创建测试计划和验证策略提供帮助。所以从以上分析可以看出,衡量验证人力的时候,可以将设计工程师人数作为一个参考,加上对项目难度的考量,最终确定验证人数,设计人数:验证人数比例从1:1到1:4不等,拿捏不准的时候先按1:2,随着项目进展再调整,没有固定的比例,因为还与每个验证团队的经验,以及自动化工具的程度有关,还与对整个芯片的商业压力相关,当然还与整个公司的研发流程成熟度高度相关,成熟的开发流程,在验证环节,由于多年的开发经验,已经总结了一套比较完善的流程或者验证组件checklist,这些可以大大减少人力成本。
  2. 工具
    验证的直观反馈是要靠EDA工具的,验证工程师用EDA工具找出BUG,因此合适完整的EDA工具体系也是重要的投入。 用于验证的自动化工具主要是仿真模拟工具和形式验证工具。仿真模拟是验证工程师驱动激励进入DUT的软件模型,工具编译设计,模拟激励在DUT的行为,计算“RUN”完所有的行为,并且将最终值反馈给验证工程师。形式验证遍历所有可能的输入,检查单个属性,采用数学遍历来检查验证单个属性。验证工程师需要培训并熟练掌握工具才能最大限度发挥专长。工具可以查看波形,可以查看覆盖率,可以反应断言,可以辅助验证工程师做很多事情。EDA公司提供这些工具,这部分通常是以许可(license)的方式给相关的公司,那就需要衡量需要多少个license能合理的完成这些事情。
  3. 时间
    花费在验证的时间是占整个开发很大部分的。整个验证所需要的人力和用来购买工具所需要的金钱以及工程进度时间之间需要做出相应的平衡,而不是一味的追求人力的多,搞人海战术或者追求极致的工具,忽略人的重要性,两者没有一个稳健的输出,都会影响最终的开发进度。时间就是金钱,足够充分的资源可以帮助完成这一目标。

以上是验证需要考虑的投入,这些要素是验证成功的必要条件,但是在真正的项目过程中,重要的是管理者根据要素的不同,分配任务到具体的工程师,工程师能够承诺完成,并且是高质量的完成。所以合适的管理者和靠谱的验证工程师就显得尤为重要。高技能的验证工程师可以弥补工具,可以节约时间,充足的验证工具也能节省人力,节约时间。当然了,只要项目给的验证时间足够长,不管多么不堪的菜鸟,总会慢慢学会验证,完成验证任务的,只要验证流程得当,评判标准与每一步的质量管理水平够格,最终的芯片质量也不会太差。

产出,所谓的芯片验证产出,其实就是验证的任务和目的。

  1. 时间
    前面已经说了时间也是芯片验证投入的一个重要方面,其实时间也是产出的重要方面。任何电子产品,成功主要依靠在正确的时间投放市场,确定好了上市的时间窗口如果由于电子元器件(比如芯片)供应商的延期而延期投放市场,那么所带来的损失是致命的,而率先进入市场的企业将赢得客户和巨额利润。验证恰恰是芯片研发过程当中比较耗费时间,而且可以压缩时间的关键环节。一方面要求验证质量,一方面需要验证时间周期尽量缩短,因此高质量的验证团队能带来较短验证周期的产出。
  2. 成本
    企业要生存,就必须要利润。芯片企业是一个高投入的行业,每一次的流片都耗费大量的人力和金钱。如何保持产品在质量保证的前提下,制造和开发成本尽可能的低,是研发团队的职责所在。如果芯片验证遗漏的bug被产品工程师在整个系统测试后发现,那么这将导致整个产品的重新迭代,设计更新以及芯片的重新流片,这需要花费大量的时间和流片费用。而浪费的时间对于芯片产品来讲可能丢失客户,对于产品来讲,整个市场将丢掉。再往细节方向,芯片验证的过程是将整个系统往下划分,从系统级到子系统,再到单元模块级,一层一层往下的。通常模块级别的验证是最容易的,模块级别发现和定位bug所用的时间都是很短的,可以不断迭代,但是每往上一个验证级别,验证所面临的debug过程困难和时间,将是前道工序的好几倍,更别说将问题遗留到更高的级别了。
  3. 质量
    验证,保证的就是芯片的功能,从这个层面来讲,芯片的质量有很大程度上依赖于验证,当然制造工艺也很关键。消费者期望发布的产品符合质量标准,但是在电子产品中,元器件的失效或者某些功能不完善,将引起保修以及其他各种问题,他将影响公司的根本。更进一步,如果经不起市场的检验,可能会对公司造成毁灭性打击。当下iPhone的基带芯片就是最好的例子,由于采用intel的基带,导致其信号不好,所以这几年发布的iPhone饱受市场诟病,直接导致iPhone的销量下降以及消费者的信心不足,而且intel的基带部门也难逃亏损的宿命,最终消失。

找到时间,成本以及质量的平衡是依赖于产品具体需求的,然而这种平衡往往比较难以量化或者把握。三者之间也是矛盾体。限制其中两个往往会伤及另外一个。而追寻验证的生产率是一个比较好的评判标准,验证团队根据时间进度,通过发现bug数目的曲线追踪验证效率,来达到验证的收敛。拥有高效率验证经验的团队,往往会将更多bug早早发现在模块验证级别,或者验证周期的早期阶段。
另外,还可以通过评估发现bug的质量来定性验证效率,简单的场景错误和低质量的bug往往是在早期被发现的,中后期以及子系统级发现的bug往往是比较有质量的bug,如果在系统级还存在简单的bug,那么验证团队的水平是要重新评估的,定期开展质量回溯活动可以及时纠正验证bug质量方面的问题。

总之,好的验证团队是一个芯片研发团队的一笔无价的资产,验证团队的任务和无敌就是高效高质量的去除所有设计的功能错误,为实现这个目的,验证工程师必须了解设计,能够与设计者一起紧密而协调的工作,并且能够了解验证工具的长处和短处,选择合适的工具,做好验证工具。

· 2019-09-29 09:46  本新闻来源自:芯播客,版权归原创方所有

阅读:995
  • 联系长芯

    重庆总部:重庆市长寿区新市街道新富大道5号佳禾工业园8栋2层
    电话:023 40819981 (前台)

    深圳办事处:深圳市南山区留仙大道 1213 号众冠红花岭工业南区 2 区 1 栋 1 楼
    电话:0755-26975877 (前台)

    电子邮件:sales@longcore.com

    网址:http://www.longcore.com