微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 微电子和IC设计 > IC验证交流 > 怎样进入IC验证这一领域

怎样进入IC验证这一领域

时间:10-02 整理:3721RD 点击:

大家好,我参加工作1年了,工作是FPGA的设计,当然入职1年只是接触了简单的模块设计,在设计过程中我发现验证是很重要的。以下是我的一些体会:


1.我们的设计往往只是经过设计人员简单的仿真,就下载到FPGA中进行调试,调试初期会发现许多本应该仿真能够仿出的问题,我觉得在设计和上板调试之间有个很重要的环节被忽视了,就是验证(公司领导也知道,但是目前没有这样合格的验证组人员,尤其是缺乏一个优秀的验证leader,验证方面的资金人员投入不足)。我们只做FPGA还比较好混过去,就是加探针找问题,但是这种做法往往会倒是比较严重的问题,前期设计时间看似短了,可是后期查找问题很麻烦。


2.我今年做的项目,要频繁的与软件驱动打交道,我们FPGA设计人员的仿真没有办法模拟软件驱动(要想达到这种仿真效果,那么所做的工作量,相当于用Verilog代码把驱动软件重新做一遍,这显然是巨大的工作量,搭建这样一个环境所付出的是该项目FPGA设计的2倍工作量),所以我们更习惯于直接将设计下载到FPGA中,然后与软件人员一起联合调试。


3.我觉得我们的设计完全没有进行充分的验证,尽管能够和软件跑起来,但是有好多问题,不会被测试到,这为今后的应用买下了隐患,而一个“好的”验证能够达到一个比较满意的功能和代码覆盖率。


基于以上这些点,我觉得验证是非常重要的环节,而我所在的部门恰恰缺少这一环节,这是很危险,而且是一块木桶中的短板。


请问大家:

1.如果我想转为验证工程师,需要从哪个方面入手?譬如我现在这个项目所遇到的问题,有没有可能,使用一种可行的方法去模拟软件驱动,从而进行仿真验证?是不是有专门的一个模拟平台(包含CPU模拟、内存模拟等等)能够实现。


2.请推荐一些好的书籍。


3.关于工具选择,语言工具和软件工具,就像我遇到的问题,不是真让我用Verilog去翻译驱动软件吧?!我想应该有比较简单的方法。能不能搭建好一个验证平台后,能用这个平台验证多个设计,只需要进行简单的参数修改就可以了。(我读研究生时,在实习单位,我知道有一个工程师会搭建这种平台,他离职后,仍然在发挥作用)。


4.现在验证工程师太少了,我们国家在这方面做的不规范,我想这是我们没法与国外IC设计公司竞争的原因之一。


请大家给我一些建议,谢谢了,验证这块短板要是不能提高,其它都是白搭。

小编是一个善于思考的人,看完小编的想法,觉得做一个合格的IC designer,要学的东西还很多,看来打好扎实的基础是相当重要的

小编的问题提得很好,期待的大牛给予解答和指导啊!

赞同小编的看法,但是目前国内的公司大都注重前端设计,后端验证什么的不太关注。
这大概就是为何同样的chip,就是性能和人家有差距的因素之一吧

找一个大公司,不要计较报酬,好好学,然后...

1.从小编的第一点介绍看,贵公司的设计流程不完善。
RTL设计经过简单的仿真,就下载到FPGA进行调试。这样的FPGA设计流程缺少一个至关重要的环节:功能验证。上FPGA的前提是:第一、单个模块的功能经过充分的验证,可以认为RTL功能符合设计需求;第二、多个模块可以正常的协同工作(比如DMA可以在两个设备间正常搬运数据)。如果RTL设计没有经过充分的验证,直接上FPGA进行调试,发现问题、定位问题和解决问题都十分困难。问题可能是由于FPGA的电气特性、驱动的不完善和RTL设计功能缺陷造成的,很难定位问题的根源。所以没有经过验证的设计,没有办法完美运行。
功能验证包括:模块级和系统级。模块级验证时,设计人员需要提供可供仿真用的Verilog驱动代码;系统级验证或FPGA验证时,驱动工程师根据设计人员提供的programming guild或Verilog驱动代码并结合系统需要编写C语言的驱动代码。如果设计人员不提供编写驱动相关的文档(programming guild)和参考代码(verilog驱动代码),驱动工程师编写的驱动很难正常工作。
2. 从小编的第二点介绍看,verilog驱动代码是必须的。
RTL设计人员了解设计的工作流程,而且verilog驱动代码也相对简单,只要描述设计的工作流程即可,说白了就是如何配置寄存器(比如查询中断寄存器,根据中断类型配置相关的寄存器如DMA的源地址,目的地址,使能DMA等)。在系统级仿真中,如果需要配合软件驱动,设计才能正常工作的话,通过软件编译环境生成仿真工具可识别的代码,进行仿真也是必须的。一般驱动都涉及CPU,而CPU都是由第三方IP商提供的,它们会提供一套完善的软件编译环境,可以生成仿真需要的代码。或者根据FPGA的调试环境,自己动手生成一个可供服务器编译的软件环境。
3. FPGA的优点是运行速度快,一个测试程序,FPGA一分钟可以跑完;如果仿真的话可能需要花费4个小时,修改一下程序重新运行,又需要4个小时。FPGA的缺点是看不到设计的运行细节,一旦出现RTL设计问题,不容易发现和定位。而且没有经过充分验证RTL,基本都有问题。

正在做验证工作,感觉验证确实重要

先進一家公司學吧~

小的公司应该没有很正规的验证部门

要做专门的验证,必须去大公司,小公司的验证都是设计人员兼任。

在学习验证的路过帮顶~

路过帮顶~

赞同小编的看法

我现在做的差不多跟小编描述的一样,同样缺少验证,同样直接下到板子上调试,这样的后果是:现在除了问题,我却找不到问题在哪~
小编现在验证学得怎么样啦,能多指点不?

验证其实很重要!

十分感谢,谢谢分享

不要小瞧小公司哦也有小公司五脏俱全滴

即将进入IC验证行业 平时在学校做的也是fpga 写好程序大多都是直接下到fpga中去直接跑 出了问题真心难找啊 哎 希望能在以后的工作中学到很多关于IC验证的技能 我签的是瑞晟微电子 不知道这个公司怎样

国内的验证做的太烂了,而且也不够重视,目前除了几个大公司和一般的额外企,小公司很少有验证这个岗位的。
验证入行的飘过。

请问国内哪几个算大公司啊?

验证是该好好重视了哈~

目前国内不知道是否重视验证了

学要重视验证的,都是验证行业从事人员,,,
讲验证不重要的,都是老板,投资人,,,,

没有人回答么,我也想做验证啊

小规模的直接上FPGA没什么问题,大规模的FPGA怎么调试啊。很难定位问题的

IC验证工程师偏数字还是模拟IC?

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top