ASIC 前端功能验证等级与对应年薪划分[个人意见] (2011-07-04 15:33:35
下面的讨论转载自eetop,我选取了一些有意义的讨论,加了我的评注。
楼主zhhzhuawei认为
=====================================
对于ASIC的前端功能验证(不含SOC的IP集成验证):
1. 只会在别人搭建的环境上跑跑用例。 年薪<8W
2. 若还会在别人搭建的环境上构造用例。 年薪<10W
3. 若还会对测试点进行简单的分解,并能利用脚本或高级语言进行简单的编程,搞些自动化。年薪<14W
4. 若自个能独立搭建自动化程度较高的验证环境(模块级,用高级语言C++/SV/SC),基本能独立进行模块级的全流程验证(含FL制定、测试点分解、随机程序编写、自动化验证环境编写)。 年薪<20W
5.若能利用高级语言(C++/SC/SV)独立搭建中等以上的模块级全自动化验证平台、该平台拥有良好的扩展性和移植性,能利用流程(结队编程/检视等)、工具、脚本、程序进行完备性验证(如代码覆盖率/功能覆盖率/形式验证等)。能够编写验证用的算法模型。能有效指导他人进行验证工作。年薪<35W
6.精通面向对象设计,精通C++编程(SV/SC是它的衍生品),能够进行系统级EDA验证平台(软件代码30万行以上)的设计和带领团队分工实现,能够将软件工程的方法学(抽象、层次化和模块化)熟练应用到验证平台设计中。精通verilog数字设计。能够制定一款中大型ASIC产品的验证策略(含EDA前仿、FPGA仿真、TapeOut后仿)。熟练掌握验证对象的算法。能够利用C/C++开发验证用的参考模型,能够进行性能验证。能带领10人以上的团队。 年薪<75W
对于ASIC的前端功能EDA验证来说,一个懂得数字电路设计的软件工程师是最好的人才。很火的VMM这套难吗?就8000多行代码。基本就是将软件工程中的模块化和层次化应用到EDA验证中。对于懂得面向对象设计的人来说,VMM很简单了。话说回来,VMM对提高业界验证工程师的认知是很有帮助的。软件设计能力体现在抽象和分解上,若软件能力强,则进行FL/TP分解是不存在任何障碍的。
一般来说,大型外企(如AMD、Intel等)设在中国的ASIC验证岗位在技能上要求不会超过上述划分的4.5级。因为4.5级以上就要求你必须掌握验证对象(即RTL或算法实现)。若老外能够开放RTL或算法模型,那也是些边边角角的非关键模块。若你的收入超过了对应的薪水,个人觉得你应该感觉到庆幸了,呵呵。面试过一些在外企(或给外企)做EDA验证的,平均业务能力很一般,薪水要求确不低(也许能力强的不跳槽,呵呵)
故建议有志从事ASIC验证的兄弟姐妹,多在软件能力和面向对象设计(VMM方法学也可)上提升,优秀的ASIC前端验证工程师需掌握一些语言和特殊工具:
算法模型:C++、C、CCSS、Matlab等
数字设计:verilog
平台开发:C++、SystemVerilog/VMM 、SystemC、
脚本语言:Perl、cshell、TCL
如果自己觉得验证能力(尤其是软件能力)还可以,想换个环境,欢迎给我发简历
fzh80@126.com (工作地上海,本三硕二,从事WCDMA/HSDPA终端芯片套片开发,非海思),谢谢!!
上面的所有观点是我个人主观意见,不代表任何公司或组织。仅供参考!!!!!!!!!!最后请勿恶意攻击,谢谢
网友liushangtian(说实话现实工作中,本人最怕遇到这种强调灵感的所谓大牛)
=====================================
吹牛皮吧 老子现在是系统工程师 带领一班人从模块级到系统级做验证,没看到多少钱。再说做验证其实做到一定程度,什么sv,e语言 什么方法学VMM OVM UVM 都是一样的原理,只是封装了下。
前段时间我们项目推广uvm 我抽了点时间 看了下源代码 也就那样 很简单。做验证关键是靠灵感 很多东西 你想不出为什么 但你独特的角度就会发现很多隐藏很深的bug
网友seeming(我也做过通信,我觉得seeming讲得挺中肯)
======================================================
部分同意楼主的观点。
只做验证达到你所谓的5是不可能的,即使也掌握了相当的设计功力和面向对象语言能力。也许你在算法相关的系统上验证经验比较丰富吧,对软件层次的东西看的比较重。但从我做通讯类芯片验证的角度来看,对需求、协议的理解、对测试feature的把握,远比验证环境本身重要,毕竟无论VMM,UVM,都是手段,我们验证工程师的唯一目标。是尽量抓出芯片中的BUG,达到这个目的手段可以是多样的。
当然我对你一些观点也是非常赞同的,为了项目的快速收敛,环境一定要尽量自动化,为了验证环境的重用,我们面向对象编程的功力也要加强。
网友Bois
=============================================================
写的很好!忽略了OVM啊。国内这个行业的验证水平确实比较低下,很土。很多在外企工作的人也就是在别人的环境下跑跑,写写case,不思进取。(这个我也同意)
不过说过来,你说的所谓的4.5级以上的人,对于一般项目有一两两三个这样的人坐镇就行了,这种人要特别牛,否则搞出来的破环境拖累整个项目(我现在还在思考我是不是曾经做过拖累团队的事情,虽然我们的团队也就2,3个人)。要的最多的人还是1,2,3,然后从中慢慢培养几个出来。
ASIC 前端功能验证等级与对应年薪划分[个人意见] (2011-07-04 15:33:35的更多相关文章
- 用FPGA对ASIC进行原型验证的过程(转)
用FPGA对ASIC进行原型验证的过程 reference:http://xilinx.eetrend.com/d6-xilinx/article/2018-10/13736.html 鉴 ...
- SuperMap-iServer-单点登录功能验证(CAS)
SuperMap-iServer-单点登录功能验证(CAS) 1.测试目的: 验证SuperMap-iServer使用CAS单点登录的功能是否正常. 2.测试环境: SuperMap-iServer8 ...
- H5前端正则验证插件
最近学习了一个新的关于前端正则验证的插件,‘jQuery.validate.js ’ 要用这个插件 首先得有插件,下载jquery.validate.min.js 和jq文件并引入. 我把它简单的通俗 ...
- VSM Import Cluster功能验证一(准备篇)
一.概述 本文档记录了VSM Import Cluster功能验证过程及过程中遇到的问题. 二.准备 2.1.网络规划 1) Management Network:VSM控制节点对其他节点的管理网络, ...
- (html)前端如何验证token的合法性来判断用户是否登录?
问题: (html)前端如何验证token的合法性来判断用户是否登录?描述: 1.我使用了JWT的方式,后端生成了一个token,将其返回给前端,前端获取到后每次请求接口都附带上这个token,后端来 ...
- 116-基于5VLX110T FPGA FMC接口功能验证6U CPCI平台 光纤PCIe卡
基于5VLX110T FPGA FMC接口功能验证6U CPCI平台 一.板卡概述 本板卡是Xilinx公司芯片V5系列芯片设计信号处理板卡.由一片Xilinx公司的XC5VLX110T-1FF113 ...
- kafka 消费组功能验证以及消费者数据重复数据丢失问题说明 3
原创声明:作者:Arnold.zhao 博客园地址:https://www.cnblogs.com/zh94 背景 上一篇文章记录了kafka的副本机制和容错功能的说明,本篇则主要在上一篇文章的基础上 ...
- Ascend Pytorch算子功能验证
Ascend Pytorch算子功能验证 编写测试用例 以add算子为例,测试脚本文件命名为:add_testcase.py.以下示例仅为一个简单的用例实现,具体算子的实现,需要根据算子定义进行完整的 ...
- 使用BootStrapValidator来完成前端输入验证
BootStrapValidator可以用于完成基于BootStrap搭建的前端UI中的输入验证,由于本插件完全基于BootStrap因此可以和UI完美的融合在一起.下面直接上图,看看完成后的结果: ...
随机推荐
- java常量池概念
在class文件中,“常量池”是最复杂也最值得关注的内容. Java是一种动态连接的语言,常量池的作用非常重要,常量池中除了包含代码中所定义的各种基本类型(如int.long等等)和对象型(如Stri ...
- POJ_3258_River_Hopscotch_[NOIP2015]_(二分,最大化最小值)
描述 http://poj.org/problem?id=3258 给出起点和终点之间的距离L,中间有n个石子,给出第i个石子与起点之间的距离d[i],现在要去掉m个石子(不包括起终点),求距离最近的 ...
- 基于WebForm+EasyUI的业务管理系统形成之旅 -- 首页快捷方式(Ⅲ)
上篇<基于WebForm+EasyUI的业务管理系统形成之旅 -- 登录窗口>,主要是介绍系统登录界面页面设计与代码. 最近刚做完施工计划安排设计,之后将分享出来,这个系列更新不是很快,望 ...
- 谈谈分布式事务之三: System.Transactions事务详解[上篇]
在.NET 1.x中,我们基本是通过ADO.NET实现对不同数据库访问的事务..NET 2.0为了带来了全新的事务编程模式,由于所有事务组件或者类型均定义在System.Transactions程序集 ...
- 数组MARSHALLING z
在托管代码和本地代码之间传递数组,是interop marshaling中间比较复杂的一个问题.本文从数组的定义开始,介绍数组marshalling的三种方法,并对blittable类型等概念做进一步 ...
- ZOJ 3791 An Easy Game
思路:dp+记忆化搜索,设dp[n][m]表示s1与s2不同字符个数为n,还需要变m步的方法数,那么: dp[n][m] = (c[n][i]*c[N-n][K-i]) * dp[n-i+(K-i ...
- Spark在集群中的安装
今天由于所以要安装spark做一些实验.我已有的环境是: 操作系统:CentOS6.5 hadoop:hadoop2.4.1 JDK:1.7 集群环境:四个节点 闲话不说,以下是我的安装步骤: 说 ...
- HW2.25
import java.util.Scanner; public class Solution { public static void main(String[] args) { Scanner i ...
- HDOJ-ACM1010(JAVA) 奇偶剪枝法 迷宫搜索
转载声明:原文转自:http://www.cnblogs.com/xiezie/p/5568822.html 第一次遇到迷宫搜索,给我的感觉是十分惊喜的:搞懂这个的话,感觉自己又掌握了一项技能~ 个人 ...
- ZOJ-3720 Magnet Darts 计算几何,概率
题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3720 题意:在一个矩形区域投掷飞镖,每个整点有磁性,每个点的磁性 ...