0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

标签 > 芯片验证

芯片验证简介

  IC验证主要工作是根据芯片规格和特点设计并实现验证环境;根据芯片或模块的规格,利用已实现的验证环境进行验证和回归。

  验证工程师分类较多,例如功能仿真的验证工程师,还有后端时序验证工程师等。验证内容如指纹IC验证。

芯片验证百科

  IC验证主要工作是根据芯片规格和特点设计并实现验证环境;根据芯片或模块的规格,利用已实现的验证环境进行验证和回归。

  验证工程师分类较多,例如功能仿真的验证工程师,还有后端时序验证工程师等。验证内容如指纹IC验证。

  浅谈对IC验证的理解

  在学校时就对ic有着浓烈的兴趣,毕业后也如愿做了ic验证工作。经过2年的学习和实践,对验证的理解零零散散也有不少,但总没法形成一个比较完整全面的经验谈。这里把我对验证的一些想法记录归纳,由于理解有限,下面的篇幅也许会比较零散。

  1、验证对于ic的重要性

  ic是集成电路的缩写,也就是我们常说的芯片;ic行业的技术门槛高、投入资金大、回报周期长、失败风险高,做一款中等规模的芯片大致需要10多人做1年半,开模的费用一般都在几百万,设计过程的笔误或者设计bug至少都会有上千个,由于设计缺陷或者工艺缺陷很容易造成芯片完全变成所谓的石头,而如果要重新头片不但需要投入额外的费用,更会将芯片上市时间延后至少半年,这些风险对于商业公司来说都是不可接受的。

  正因为芯片的高风险,才凸显了验证的重要性。在流片之前,通过验证人员的验证活动发现所有的设计bug,这就显得特别重要。

  2、验证的一目标

  做验证首先要明确我们做ic验证的目标是什么。上面我们已经提到,由于芯片的高风险、高代价,才更突出了验证的重要性,尤其是芯片规模越来越大,逻辑越来越复杂。

  为了保证芯片的成功,验证唯一的目标就是发现所有的bug,做到无漏验、零漏测。

  3、验证的两问题

  作为验证人员,首先要搞清楚两个问题:

  1)我们要验证什么?

  2)我们该怎么验?

  这两个问题是验证的根本,就如同哲学里的“我是谁、我来自哪儿、我要去哪儿”一样,“我们要验什么?”是给我们指明目标,”我们该怎么验?“则是告诉我们该采用什么样的手段去达到这个目标。

  如果这2个问题都没搞清楚,那么没人对你负责验证的模块有信心,毕竟你自己都不知道你的目标是什么,不知道该怎么做才能达到那个目标。这两个问题是验证的核心所在,如果想做好验证,这是前提。

  4、验证的三板斧

  要想做好验证,保证无漏验、零漏测,以下三个要素是必须要具备的:验证工具的掌握、算法/协议的理解、验证的意识。

  1)验证工具的掌握

  验证工具包括vmm/uvm等验证方法学、sv/sc等验证语言、vcs等验证仿真工具、perl/python等脚本语言,这些东西是做验证要掌握的基本技能,不论你做什么样的芯片都需要这些东西来支撑你的验证工作。

  这些验证工具可以帮助你解决“我们该怎么验”这个问题,当你很好的掌握这些验证工具后,你可以有很多种方法途径去达成你的验证目标。

  说实在话,验证工具的东西很多,要想在短时间内全部掌握也不可能,而且很多工具可能在你的验证过程中不会用到。

  个人对验证工具的一点感悟是:不要贪求全部掌握,你可以先看书学习实践,把这些东西都学习一遍;在学习的过程中你肯定会发现一些好东西(原来还有这种方法可以让我的xx做的更好);对于那些暂时不知道怎么应用到实践中的东西,你也不要认为它们是没用的,其实只是你不知道用在哪儿而已,在你以后的验证中也许就会发现它的应用场景,当你需要它的时候也许你已经忘记怎么用了,这个没关系,你可以再回去查阅资料,这个相信很快就能解决的,这样有个好处是当你碰到可以用xx的时候你至少能想起曾经看到某个东西可以来实现它,如果你从未学习过,那么你根本就不会想起有这么个方法可以解决它,这才是可怕的,我都不知道这个问题是可以被解决的。

  2)算法/协议的理解

  芯片要实现什么,不外乎是xx算法、某某协议,算法/协议才是芯片的魂。验证其实也就是验的算法/协议实现是否正确。就跟批改作文一样,只有批改者有一定的文学功底,才能更好的评判作文水平。

  因此,验证人员对算法/协议理解越深刻越好,要理解算法的原理以及算法的实现结构,只有这样才能找出其中的corner点。

  3)验证的意识

  验证的意识究竟是什么,其实我也说不清楚,只能按照我自己的理解写写一些。

  对任何东西都要有质疑的态度

  手要伸长,延伸到上下游

  对问题要刨根问底

  5、验证的流程

  做任何事情都需要按照一定的流程来走,否则很容易陷入混乱之中,尤其是对于刚入门的新手来说更是如此。我目前接触的通用流程大致如下:

  1)提取测试点,明确验什么

  分析FS/浮点平台,提取芯片的规格及测试点;

  分析AS/定点平台,提取测试点;

  分析DS,提取测试点并识别asic与算法的不一致点;

  2)制定验证方案,明确怎么验

  刷新测试点列表,明确测试点的覆盖方式:功能覆盖率、代码覆盖率、直接用例;

  验证环境的搭建策略,这个步骤是可以做成自动化工具的;

  验证的重点难点,提前识别重难点,并制定相应的对策;

  刷新用例列表,明确测试用例的方法及步骤;

  3)用例执行,随机测试,发现bug

  执行直接用例,发现大部分的bug;

  带随机的大量测试,试图撞出bug;

  4)完备性分析,确保无漏验

  FA/AS完备性确认,确认FS/AS中的所有点都已纳入测试点,并确保已被覆盖,包括应用场景;

  接口完备性确认,保证所有的接口时序都已覆盖,包括正常时序及异常时序;

  覆盖率确认,分析所有的代码覆盖率、功能覆盖率,保证全部覆盖;

  代码分析,熟练掌握电路的实现逻辑,保证所有的电路corner都已覆盖;

  上述这几个步骤是一个比较规范的流程,只要每个步骤都做好,基本就能做到无漏测、零漏验。

  6、验证的后话

  1)验证的空间

  作为验证人员最希望的情况是:把所有的激励空间都覆盖到,这样就绝对能保证无漏测、零漏验。但实际情况是:芯片规模越来越大,其激励空间近乎无限,同时EDA仿真的速度奇慢,根本无法实现全覆盖,即使是FPGA、EMU等仿真加速器对此也是无能为力。

  因此,合理划分激励等价类是相当重要的,但这也一直是验证的难点所在,很多情况下根本就没法分析清楚等价类。

  2)CDV验证

  CDV就是覆盖率驱动验证的意思,就是写一大堆覆盖率(断言覆盖率、功能覆盖率、代码覆盖率),只要这些覆盖率全都达到的话则表示验证已经完备。

  这是我们的目标,其前提是分析清楚我们的测试点覆盖空间,这个分析也是让人头痛的事,没有谁敢拍着胸脯说这个测试点空间是完备的。

  3)formal验证

  传统的仿真都是动态验证,由于其仿真效率低下无法遍历所有空间,formal这种静态的验证手段则可以遍历所有空间。不过在目前这个阶段,formal还只能适用于百万门级的模块验证,同时目前市面上的formal工具大多要么只对控制逻辑支持较好,要么只对算法逻辑支持较好,几乎没有一款formal工具能完美支持所有的电路逻辑。

  4)环境自动化

  在验证过程中,搭建验证环境是一个机械性的劳动,但有时候又比较耗费时间而且容易出错,因此把验证环境做成自动化工具,还是能提高不少验证效率的。

  5)全部使用直接用例

  从验证流程中可以看到,用例执行过程中大部分bug在直接用例过程中被发现,但还有一部分隐藏比较深的bug只有通过随机激励来发现。

  这里存在一个问题,随机测试是不可靠的,有很大的概率发现不了隐藏的bug,对此可以有两种方法:

  一是采用带约束的随机,这样可以更好的达到边界点,这同样存在概率性问题;

  二是所有的corner点全部用直接用例覆盖,这些直接用例执行一次即可发现所有的bug,根本不需要进行长期的随机测试,这要求我们能识别出所有的corner点;

  方法二是我们追求的目标,全部用直接用例覆盖,取代长期随机测试,可惜愿望是美好的。

  6)复用的东西都BB化

  在芯片设计中经常回重用以前的模块,这样不仅加快进度,而且能降低出错风险;但是对于验证人员来说,复用并不一定是好事情,经常会出现这样的事情:由于是复用之前的模块,所以在验证的时候会掉以轻心,结果埋下bug。如果把复用模块当做全新模块来验证,这又要花费大量的时间,可能就会延后芯片的投片时间。

  对于复用的模块,验证人员也可以把验证的相关东西做成BB化,后续芯片复用该模块时,也可以复用该验证BB。

查看详情

芯片验证知识

展开查看更多

芯片验证技术

芯片验证中linux的用法详解

芯片验证中linux的用法详解

本文主要针对芯片验证工作中常用的linux知识做了一个总结和梳理,内容虽然比较基础,但确实是非常实用。全文8000多字,为了方便大家阅读和查阅,我把文章...

2023-12-03 标签:Linux命令芯片验证 435 0

芯片验证方法之极限验证法简析

不管是做设计,还是验证,相信大家都会有一些review会议上被问一些刁钻的问题的经历。当然,与会者问这些不那么容易回答的问题并非有意为难,大多数时候只是...

2023-09-27 标签:芯片验证 271 0

strings命令的使用方法

strings命令的使用方法

文件中通常有两种类型的字符:可打印字符和不可打印字符。字母、数字、字符、标点符号、空格等称为可打印字符;除可打印字符外,所有字符都称为不可打印字符。

2023-09-24 标签:LinuxLinux系统字符 1514 0

为什么芯片设计中需要做验证呢?验证在芯片设计中的重要性

在芯片设计流程中,验证环节是至关重要的一环。它直接关系到芯片的性能、可靠性和成本。

2023-09-11 标签:芯片设计芯片验证 1238 0

Testcase在芯片验证中的作用

随着半导体技术的快速发展,集成电路芯片的复杂度日益增加,芯片设计中的验证工作变得越来越重要。验证的目的是确保芯片在各种工况下的功能正确性和性能稳定性。在...

2023-09-09 标签:集成电路半导体芯片设计 556 0

从软件测试白盒测试实例分析

从软件测试白盒测试实例分析

白盒测试是关注测试用例覆盖程序逻辑(源代码)的程度。最终的白盒测试是执行程序中的每个路径。但对于大多数的程序(例如带有循环的程序),完全意义上的全路径覆...

2023-08-20 标签:软件测试白盒测试芯片验证 775 0

解读芯片验证中的机器学习技术

解读芯片验证中的机器学习技术

许多ML算法已经在功能验证的不同领域进行了尝试,并取得了不错的效果。ML在功能验证中的应用主要分为:需求工程、静态代码分析、验证加速、覆盖率收集和BUG...

2023-07-03 标签:机器学习芯片验证 261 0

VCS实用技巧分享

VCS实用技巧分享

VCS是编译型verilog仿真器,VCS先将verilog/systemverilog文件转化为C文件,在linux下编译生成的可执行文./simv即...

2023-05-30 标签:仿真器Linux系统VCS 818 0

为什么要使用仿真器?

仿真的概念其实使用非常广,最终的含义就是使用可控的手段来模仿真实的情况。在嵌入式系统的设计中,仿真应用的范围主要集中在对程序的仿真上。例如,在单片机的开...

2023-05-25 标签:仿真器芯片验证程序烧写 996 0

先进仿真器具备什么功能?

先进仿真器具备什么功能?

芯片有别于其他产品,一个显著特性就是它的一次性工程费用(NRE)非常的高昂。芯片内一个微小逻辑错误可能导致上千万美金损失。这也意味在流片前,工程师需要花...

2023-05-25 标签:芯片仿真器芯片验证 507 0

查看更多>>

芯片验证资讯

深圳集成电路峰会演讲预告:思尔芯探讨国产硬件仿真如何加速芯片验证

深圳集成电路峰会演讲预告:思尔芯探讨国产硬件仿真如何加速芯片验证

演讲预告深圳集成电路峰会EDA创新生态发展论坛思尔芯S2C2023年9月21日-22日,以“洞见芯趋势,共筑芯时代”为主题的2023年中国(深圳)集成电...

2023-09-15 标签:集成电路仿真芯片验证 370 0

芯片验证板卡设计原理图:基于XCVU440的多核处理器多输入芯片验证板卡

芯片验证板卡设计原理图:基于XCVU440的多核处理器多输入芯片验证板卡

本板卡系我司自主研发的基于6U CPCI处理板,适用于多核处理器多输入芯片验证的应用。芯片采用工业级设计。

2023-07-31 标签:处理器板卡芯片验证 430 0

芯片验证板卡设计原理图:446-基于VU440T的多核处理器多输入芯片验证板卡

芯片验证板卡设计原理图:446-基于VU440T的多核处理器多输入芯片验证板卡

基于XCVU440-FLGA2892的多核处理器多输入芯片验证板卡为实现网络交换芯片的验证,包括四个FMC接口、DDR、GPIO等,板卡用于完成甲方的芯...

2023-07-25 标签:板卡芯片验证 406 0

EDA科普之异构验证技术介绍

所以通过专门的设备在硬件上调试芯片设计, 如硬件仿真和原型验证,是其重要的解决方案之一。硬件仿真和原型验证的效率和速度比软件仿真可要高很多,尤其是硬件仿...

2023-04-21 标签:fpga芯片设计eda 357 0

强化多物理测试平台能力 长电科技提供业界领先的芯片验证服务

长电科技近日宣布,推出业界领先的一站式验证测试平台,支持从芯片、封装、模块到最终产品的实验验证,为集成电路产业链上下游深入合作提供更为坚实的基础平台,支...

2023-03-10 标签:测试半导体芯片验证 1041 0

芯片设计行业的新变革

芯片设计随着时间推移正在变得越来越复杂是业界人士的共识,但是究竟“复杂”体现在哪些方面,并且随着复杂度提升,还有哪些没有解决的问题,这就需要深入的考察和...

2023-02-09 标签:芯片芯片设计芯片验证 675 0

学会这些System Verilog方法,芯片验证入门没问题

一个掌握Verilog语言的工程师初次看SystemVerilog都会有这样的感受,这就是Verilog啊,很容易啊,So easy啊。没错,确实是这样...

2022-12-09 标签:VerilogC++芯片验证 2333 0

芯片验证与电子测量自动化技术论坛(上海站)即将开启

自动化测试如今已不再是产测的专属议题。随着芯片的集成与电子产品的多功能导向发展,混合模拟、射频与数字信号的测试增加了系统验证与测量的复杂度。   纵然产...

2022-11-18 标签:测量芯片验证 270 0

中国EDA创新发力 芯华章等国产EDA企业崭露头角

EDA是半导体设计中至关重要的开发工具,随着美国的制裁在半导体产业链中占据重要位置的EDA逐渐进入了大众的视野。受限于EDA管制,从最前端的设计环节开始...

2020-10-10 标签:半导体仿真eda 1783 0

Bridgetek成立越南研发中心

2017年9月6日 - Bridgetek宣布对越南进行重大投资,进一步扩大在亚洲的研发中心,实现对持续产品创新的承诺。新的研发中心位于胡志明市郊,将与...

2017-09-08 标签:软件开发芯片验证宝吉特 1429 0

查看更多>>

芯片验证数据手册

相关标签

相关话题

换一批
  • Arduino
    Arduino
    +关注
    Arduino是一款便捷灵活、方便上手的开源电子原型平台。包含硬件(各种型号的Arduino板)和软件(Arduino IDE)。
  • 28nm
    28nm
    +关注
    从背景上看,28nm诞生于2008年那场金融危机之后。受到金融海啸的影响,当时很多半导体企业都受到了影响。于是,在这之后的几年,包括AMD在内的很多半导体企都选择将制造业务剥离以降低运营资金压力,将更多的资源集中到相对投入到芯片设计当中
  • FinFET
    FinFET
    +关注
    FinFET全称叫鳍式场效应晶体管,是一种新的互补式金氧半导体晶体管。FinFET命名根据晶体管的形状与鱼鳍的相似性。这种设计可以改善电路控制并减少漏电流,缩短晶体管的闸长。
  • 20nm
    20nm
    +关注
  • TI公司
    TI公司
    +关注
    TI是富有远见的企业,我们是敢于开拓的创新者。作为一个业务运营覆盖 35 个国家的全球性半导体企业,员工是我们的立足之本。德州仪器(TI)的员工是我们深厚的企业文化的重要体现。无论是1958年第一位发明集成电路的TI员工,还是如今遍布全球负责设计、制造以及销售模拟与嵌入式处理芯片的30,000多名TI成员。 TI是一家全球性半导体设计与制造公司:业务覆盖超过35个国家、服务全球各地超过10万家客户、拥有85年的创新历史、超过10万种模拟集成电路、嵌入式处理器以及软件和工具。
  • 村田
    村田
    +关注
    村田公司是一家使用性能优异电子原料,设计、制造最先进的电子元器件及多功能高密度模块的企业。不仅是手机、家电,汽车相关的应用、能源管理系统、医疗保健器材等,都有村田公司的身影。
  • 罗姆
    罗姆
    +关注
    提供最新的罗姆公司产品,最活跃的罗姆工程师社区
  • 工业物联网
    工业物联网
    +关注
    一般情况,IIoT往往有更结构化的连接环境,因为与典型的IoT应用相比,IIoT 系统履行的职责更事关重大。响应时间往往是个问题,像健身跟踪那样的IoT应用通常可以先在本地存储数据,无线链路可用时再行处理。
  • 金升阳
    金升阳
    +关注
    广州金升阳科技有限公司,成立于1998年7月,是国内集生产、研发和销售为一体的规模最大、品种最全的工业模块电源的制造商之一。
  • Vicor
    Vicor
    +关注
    美国Vicor 是Vicor Corporation旗下品牌,致力于模块化电源技术创新,近年来专注于48V电源解决方案。Vicor带来了全新的配电架构、零电流开关 (ZCS) 及零电压开关 (ZVS) 电源转换拓扑。
  • MHL
    MHL
    +关注
  • 体感控制
    体感控制
    +关注
    体感控制,在于人们可以很直接地使用肢体动作,与周边的装置或环境互动,而无需使用任何复杂的控制设备,便可让人们身历其境地与内容做互动。 本章详细介绍了:体感控制技术,体温感应控制等内容。
  • Bourns
    Bourns
    +关注
  • 闪存技术
    闪存技术
    +关注
    闪存是一种长寿命的非易失性(在断电情况下仍能保持所存储的数据信息)的存储器,数据删除不是以单个的字节为单位而是以固定的区块为单位(注意:NOR Flash 为字节存储。),区块大小一般为256KB到20MB。
  • 模拟芯片
    模拟芯片
    +关注
  • 美满电子
    美满电子
    +关注
  • 碳化硅
    碳化硅
    +关注
    金刚砂又名碳化硅(SiC)是用石英砂、石油焦(或煤焦)、木屑(生产绿色碳化硅时需要加食盐)等原料通过电阻炉高温冶炼而成。碳化硅在大自然也存在罕见的矿物,莫桑石。
  • Zynq
    Zynq
    +关注
      赛灵思公司(Xilinx)推出的行业第一个可扩展处理平台Zynq系列。旨在为视频监视、汽车驾驶员辅助以及工厂自动化等高端嵌入式应用提供所需的处理与计算性能水平。
  • Kinetis
    Kinetis
    +关注
  • Cirrus LogIC
    Cirrus LogIC
    +关注
    Cirrus Logic 1984 年创立于硅谷,是音频和能源市场上高精度模拟和数字信号处理元件的主要供应商。Cirrus Logic 擅长于开发具备优秀功能集成和创新的复杂芯片设计。
  • 华星光电
    华星光电
    +关注
    深圳市华星光电技术有限公司(以下简称华星光电)是2009年11月16日成立的一家高新科技企业,公司注册资本183.4亿元,投资总额达443亿元,是深圳市建市以来单笔投资额最大的工业项目,也是深圳市政府重点推动的项目。
  • 栅极驱动器
    栅极驱动器
    +关注
      栅极驱动器是一个用于放大来自微控制器或其他来源的低电压或低电流的缓冲电路。在某些情况下,例如驱动用于数字信号传输的逻辑电平晶体管时,使用微控制器输出不会损害应用的效率、尺寸或热性能。在高功率应用中,微控制器输出通常不适合用于驱动功率较大的晶体管。
  • 研华
    研华
    +关注
  • 32位单片机
    32位单片机
    +关注
    ARM,其中ARM7,9,10是公开的32位处理器内核,很多公司都有基于ARM的单片机产品。目前国内应用最广泛的所三星和菲利普。
  • 骁龙
    骁龙
    +关注
    骁龙是Qualcomm Technologies(美国高通)旗下移动处理器和LTE调制解调器的品牌名称。
  • Cortex-A
    Cortex-A
    +关注
      Cortex-A 系列处理器是一系列处理器,支持ARM32或64位指令集,向后完全兼容早期的ARM处理器,包括从1995年发布的ARM7TDMI处理器到2002年发布的ARMll处理器系列。
  • Mobileye
    Mobileye
    +关注
    Mobileye在单目视觉高级驾驶辅助系统 (ADAS) 的开发方面走在世界前列,提供芯片搭载系统和计算机视觉算法运行 DAS 客户端功能,例如车道偏离警告 (LDW)、基于雷达视觉融合的车辆探测、前部碰撞警告 (FCW)、车距监测 (HMW)、行人探测、智能前灯控制 (IHC)、交通标志识别 (TSR)、仅视觉自适应巡航控制 (ACC) 等。
  • CC2541
    CC2541
    +关注
    CC2541 是一款针对低能耗以及私有 2.4GHz 应用的功率优化的真正片载系统 (SoC) 解决方案。
  • G3-PLC
    G3-PLC
    +关注
  • 超级本
    超级本
    +关注
    超极本Ultrabook是英特尔继UMPC、MID、上网本netbook、Consumer Ultra Low Voltage超轻薄笔记本之后,定义的全新品类笔记本产品,集成了平板电脑的应用特性与PC的性能,超极本是完整的电脑。

关注此标签的用户(4人)

发发开开心心 ydz12 elecfansor worlide

编辑推荐厂商产品技术软件/工具OS/语言教程专题