数字IC芯片验证流程及验证工具推荐?收藏专用

news2024/11/22 5:50:23

验证其实是一个“证伪”的过程,从流程到工具,验证工程师的终极目的都只有一个:

发现所有BUG,或者证明没有BUG,以保证芯片功能性能的正确性和可靠性。

验证环节对于一颗芯片的重要性也是不言而喻的:

·从项目周期来说,功能验证在芯片的整个设计周期中占用时间最多,大概要占到70%左右。

·从项目成本来说,验证一颗芯片大概会占硬件开发总成本的50%。

接下来就来聊聊IC验证的流程和工具。

在这里插入图片描述
(文末可全文档)

理解DUT
验证工程师需要深入理解芯片Spec,包括但并不限于:了解架构、数据流向、基本功能、接口、IP、协议、寄存器定义等。

对Spec了解越详细,之后的验证工作就能够越充分。

使用工具:查看Spec使用最基础的Office软件即可

制定验证计划
对于芯片项目的Boss或者负责人来说,一份完整的验证计划需要包含:验证策略方法、人力资源调配、项目进度评估、风险评估等多项内容。

对于验证工程师来说,就应该考虑功能测试点、验证层次、验证方法和验证覆盖率等技术层面为主的内容,还需要在搭建验证环境之前充分review验证计划。

制定验证方法策略
一般会按照大的功能模块或数据流向对DUT进行划分,比如需要确定是在module/sub system/chip system哪个level去做验证。

搭建验证平台
根据验证方案来编写验证环境,一般会使用uvm平台,python脚本辅助来搭建环境,并通过冒烟测试来确定验证平台是否完善。

从时间线上来说,搭建验证平台可以和提取验证点并行进行。

提取测试点
测试点被验证工程师认为是“验证的圣经”,因为这是诸多工作开展的出发点和落脚点。一些公司会把这个步骤称作VO(verification objective),也有的公司叫做Test Point。

验证工程师在分解测试点时需要注意完备性、低耦合以及无歧义,然后将测试点罗列在Excel表格中。

理想情况下,验证工程师拿到测试点list和DUT之后,就可以写testcase进行验证了。

另外,在环境搭建、验证执行、用例调试、覆盖率分析等阶段也会不断对测试点进行修正和增补。

执行验证
根据提取出来的测试点,添加testcase在验证平台上去进行测试,这是一个需要反复迭代、反复优化的过程。

这个过程中会使用到vcs/xrun进行仿真、makefile编辑脚本、verdi/ncsim查看波形,并且要尽可能确保每个测试点的功能是否实现正确。

收集验证覆盖率
需要收集功能覆盖率和代码覆盖率,增补用例,以确保覆盖率达到100%。一般可以通过imc或Verdi来查看覆盖率报告。

一些规模比较大的IC设计公司,会设置专门的岗位来收集验证覆盖率。

完成验证报告
验证报告通常需要包含checklist、覆盖率分析、难点覆盖情况等内容。

上述环节概述了验证工程师比较主要的工作流程。

但其实验证是贯穿着整个IC设计流程的,在芯片开发过程中只要发现问题或缺陷,就需要进行修正和改进,直到设计符合预期的要求为止。

从提取验证点、编写验证方案到搭建验证环境再到具体验证执行环节的Debug,每一步都需要经验的加持。

入行两三年的工程师和十年经验的工程师,在细节方面的把控是完全不同的。

而验证,恰好是一个细节为王的岗位。这也就是为什么ic验证工程师越老越吃香的原因之一。

工作特性要求验证工程师要做的并不仅仅只是用EDA工具进行仿真验证,而是从系统架构到应用层面对自己所负责验证的模块进行深入了解。

既要能够如验证计划要求的那样工作在最高层,也要能够在最底层植入错误进行自我检查。

需要上述学习搭建UVM验证环境文档的同学可按需领,可以直接分享给大家~

这里放个口:学习搭建UVM验证环境文档领取

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1259159.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

甘草书店记:2023年10月10日 星期二 晴 「甘草书店从何而来」

甘草书店记:2023年10月10日 星期二 晴 「甘草书店从何而来」 甘草书店的落地,差不多是“一瞬间”实现的。 麦田医学和公司新址园区沟通办公室租赁细节时,园区负责人谈到了一楼大厅的咖啡馆计划,而我适时地提出了一些建议和我对于…

JAVA 算法面试总结

1、二分查找 二分查找又叫折半查找,要求待查找的序列有序。每次取中间位置的值与待查关键字比较,如果中间位置 的值比待查关键字大,则在前半部分循环这个查找的过程,如果中间位置的值比待查关键字小, 则在后半部分循环…

MySQL(主从复制)

简述:主从复制,是用来建立一个和主数据库完全一样的数据库环境,称为从数据库,主数据库一般是准实时的 业务数据库、事务处理库,从库做查询库。 复制过程简单的说就是 master 将数据库的改变写入二进制日志&#xff0c…

JOSEF电流继电器 DL-33 整定范围0.5-2A 柜内安装板前接线

系列型号: DL-31电流继电器; DL-32电流继电器; DL-33电流继电器; DL-34电流继电器; 一、用途 DL-30系列电流继电器用于电机保护、变压器保护和输电线的过负荷和短路保护线路中,作为起动元件。 二、结构和原理 继电器系电磁式,瞬时动作…

电脑缺失vcruntime140_1.dll有什么办法解决,修复vcruntime140_1.dll丢失

电脑缺失vcruntime140_1.dll有什么办法解决,vcruntime140_1.dll文件的作用又是什么,这个文件有什么作用?是一个什么样的文件?如果要修复vcruntime140_1.dll文件都有什么办法能够解决呢?今天这篇文章就和大家聊一聊关于…

ProFTPD-1.3.3c Backdoor Command Execution漏洞复现+poc

https://www.whereisk0shl.top/post/proftpd-1.3.3chou-men-fen-xi https://github.com/proftpd/proftpd 在官网和官方github上找了一圈1.3.3c版本的proftpd,应该是漏洞太多,官方把下了 https://blog.csdn.net/morrino/article/details/115836400 这个文…

MySQL--InnoDB引擎

InnoDB引擎 逻辑存储引擎 表空间→段→区→页→行 Tablespace 表空间(ibd文件):一个mysql实例可以对应多个表空间,用于存储记录、索引等数据Segment 段:段分为数据段、索引段、回滚段,InnoDB是索引组织表…

山西电力市场日前价格预测【2023-11-28】

日前价格预测 预测说明: 如上图所示,预测明日(2023-11-28)山西电力市场全天平均日前电价为283.92元/MWh。其中,最高日前电价为437.70元/MWh,预计出现在17:45。最低日前电价为0.00元/MWh,预计出…

2023年最新Dev-C++下载安装以及C语言环境搭建教程(C语言入门)

文章目录 写在前面C语言简介Dev-C简介Dev-C下载安装Dev-C使用教程 写在后面 写在前面 2023年最新Dev-C下载安装以及C语言环境搭建教程,快来看看吧! C语言简介 C语言是一种通用的高级程序设计语言,由美国计算机科学家Dennis Ritchie于20世纪…

Java抽象类和接口(2)

🐵本篇文章继续对接口相关知识进行讲解 一、排序 1.1 给一个对象数组排序: class Student {public String name;public int age;public Student(String name, int age) {this.name name;this.age age;}public String toString() {return "name:…

【Axure高保真原型】3D金字塔图_移入显示数据标签

今天和大家分享3D金字塔图_移入显示数据标签的原型模板,鼠标金字塔区域时,对应区域会变绿,可以查看该区域对应的项目和数据,这个原型模板是用Axure原生元件制作的,所以无需联网,而且可以自由修改样式、交互…

Allegro层叠中的介电常数如何填写指导说明

Allegro层叠中的介电常数如何填写指导说明 在用Allegro进行PCB设计的时候,需要在cross-section中设置好每个层的信息,包括层命名,每层的厚度等等信息。如下图 一般来说,这些信息就足够了 但是对于有仿真需求或者等长设计需要使用ps作为延时单位的设计的时候,需要额外在层…

postman自动化接口测试

📢专注于分享软件测试干货内容,欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正!📢交流讨论:欢迎加入我们一起学习!📢资源分享:耗时200小时精选的「软件测试」资…

Java基础小结

Java 基础小结 Java 基础概念与常识 什么是 Java ? Java 是 1995 年由 sun 公司推出的一门高级语言。 Java 的四个基本特性是面向对象、平台无关性、安全性和简单性。 具体特点如下: 简单易学。 平台无关性。 面向对象 面向对象是一种程序设计技术,以木匠工…

Docker配置Halo搭建个人博客-快速入门

Docker配置Halo搭建个人博客-快速入门 1 官方文档2 安装Halo2.1 创建Halo主目录2.2 远程下载配置文件2.3 编辑配置文件2.4 拉取最新镜像2.6 查看容器2.7 开放服务器的防火墙 3 运行3.1 运行项目3.2 停止项目 4 常见问题4.1 没有权限4.2 ommand netstart not found, did you mea…

体育网站的技术 SEO:完整指南

您熟悉体育网站管理行业的快节奏、不断变化的性质。您的网站提供最新的体育新闻和信息,包括实时比分更新。但是,如果人们不容易找到它,那么你所有的精彩内容都是徒劳的。这就是体育网站技术 SEO 综合指南的用武之地! 本指南将教您…

【axios】拦截器:axios.interceptors.request.use|axios.interceptors.response.use

文章目录 概述设置拦截器Axios 拦截器的实现任务注册任务编排任务调度 来源 概述 axios有请求拦截器(request)、响应拦截器(response)、axios自定义回调处理(这里就是我们常用的地方,会将成功和失败的回调…

论文阅读——DINOv

首先是关于给了提示然后做分割的一些方法的总结: 左边一列是prompt类型,右边一列是使用各个类型的prompt的模型。这些模型有分为两大类:Generic和Refer,通用分割和参考分割。Generic seg 是分割和提示语义概念一样的所有的物体&am…

开源四轴协作机械臂ultraArm激光雕刻技术案例!

注意安全事项 开始之前,请确保您已采取适当的安全措施,例如用于激光操作的防护眼镜、灭火器和通风良好的区域。 引言 随着科技的不断进步,激光雕刻技术已经成为当今制造行业中不可或缺的一部分。它以其高精度、高效率和广泛的材料适应性&…

Docker可视化工具Portainer(轻量)或者Docker容器监控之 CAdvisor+InfluxDB+Granfana(重量)

Docker轻量级可视化工具Portainer 是什么 Portainer 是一款轻量级的应用,它提供了图形化界面,用于方便地管理Docker环境,包括单机环境和集群环境。 安装 官网 https://www.portainer.io/ https://docs.portainer.io/v/ce-2.9/start/instal…