揭秘驱动工程师在原厂的硅前验证工作

2025-07-07 16:02:18

嵌入式行业,单片机工程师、嵌入式应用工程师、嵌入式驱动工程师等,大家都不陌生了。

今天介绍一下,作为一个驱动工程师,在芯片原厂所谓的硅前验证工作,到底在做什么。

基本概念 首先了解两个概念:Pre-Silicon和Post-Silicon。

Pre-Silicon:硅前。流片之前,也就是没有芯片。

Post-Silicon:硅后。流片之后,也就是已经有了芯片。

对于IC验证来说,流片前和流片后是两个阶段的验证。

流片前的验证,由于没有芯片,实际还处于设计阶段,所以通常也叫pre-silicon simulation,硅前仿真。

而流片后的验证,已经有实际芯片了,所以通常也叫post-silicon verification,硅后验证。

严格上,是这样区分的。但实际硅前硅后的验证都要做,并且硅前验证工作做的更多,也更重要,所以我通常也习惯统一叫硅前验证。

岗位描述 基本概念了解了,那么同样是驱动工程师,做硅前验证岗位描述也是不一样的。

看看岗位描述:

以上这些岗位,其实都是硅前验证。

这些岗位特点是,首先要会Linux驱动方面的知识,其次参与的是芯片相关的工作,基本上与芯片部门打交道。

所以本质上,要求是比较高的,会希望对芯片方面有一定的了解。

工作环境 既然是驱动工程师,那Linux驱动这块的开发工作,也是必不可少的,这方面也不再赘述。

说点不一样的,既然是硅前验证,那到底怎么个验法?没有芯片怎么跑Linux驱动?

说到这,有必要给大家科普一下IC设计中使用的一些仿真手段,对IC设计人员来说很熟悉了,主要是给做嵌入式的科普一下。

1、软件仿真顾名思义,在软件上仿真,通常叫它软仿。设计一个芯片,都可以通过软仿来抓取波形,进行debug。

但它有一个缺点:很慢。

慢到什么程度呢?一条testcase,也就是测试用例,它可以跑一周。如果问题较多,要调试,每次都要跑一周才能看到结果,那这个效率是非常低的。

2、FPGA原型验证FPGA应该不陌生了,在FPGA上做一些原型验证,其实也算是一块实实在在的芯片了。

只不过是低速版的验证,比如你设计的芯片是1GHz,但这个FPGA的主频只有60MHz,相对于你设计的芯片,就是慢多了。

但FPGA的缺点是:debug不方便。

除了频率问题,要debug的时候,还是得要逻辑分析仪一点点排查。如果遇到复杂的设计,需要多块FPGA级联的话,那debug就比较难了。

跟软仿相比,FPGA上debug是比较麻烦的。

3、硬件仿真器基于软仿和FPGA的缺陷,硬件仿真器诞生了,这也是要说的重点。

目前主流的三家做硬件仿真器的:Cadence Palladium(帕拉丁), Synopsys ZeBu, Mentor Veloce(韦洛切)。

我只用过Palladium,就介绍一下吧。

Palladium是一个系列,它有Palladium Z1,Palladium Z2,Palladium X2等。X2是目前比较新的。

而硅前验证,Palladium上做。我用的是Palladium Z1。

它的实体长这样:

其实也是一台服务器吧,平时工作,远程连接过去,是一个带界面的Linux系统。

关于这台机器的理解,它叫“软件仿真的硬件化”。前面说到软件仿真的主要缺点就是慢,那这台机器,简单来讲就是把软仿实体化了,它可以让仿真速度变快。

除了速度快,它也有各种模型,比如flash、ddr、sensor等等,总之一话,在这上面做的验证,跟流片后回来的结果,几乎就是一样的。

那硅前验证在Z1能做的事情主要是什么呢?举个几个例子:

1、抓波形这里说的波形,并不是大家认为的示波器的那种波形,严格来讲应该叫信号。类似这种:

学过fpga的应该知道,就是类似于在vivado上看到的波形。可以看到各种信号,包括pc、寄存器、总线等等。

2、问题定位有了仿真,特别是前期写驱动,很都东西都能掌控。

比如,监控某个地址,一旦程序往这个地址进行写操作,则立即触发波形。

比如,分析程序是否往寄存器写入了正确的值,写入的值是否到达了内部fifo,中断为啥未到达CPU等等。

再比如,跨部门合作,驱动部门遇到CPU卡死现象,怀疑芯片问题,我们则通过仿真复现,再给到芯片部门分析具体原因。

额外知识 使用Palladium Z1需要一点额外的知识

Verilog:学习Verilog主要是为了找芯片信号,有时需要去翻一下芯片代码

TCL:TCL是一个脚本,类似于Linux的shell脚本,只不过它叫tcl,而且语法不一样

主要是这两个吧,还有很多其他的,比如使用串口需要用到降速桥,用来解决硬件和仿真间的速度差异。

总结 最后总结,做硅前验证其实算半个芯片人了,起码比一般的驱动工程师,对芯片的了解程度绝对是多得多。

另外,这种岗位还是非常得少,即便进入了原厂做驱动,也不一定是这个岗位。

但好处在于,跟芯片部打交道,不对接客户,很纯粹的技术层面,对于想真正了解底层的人,是很推荐的。

做底层开发的人,越靠近芯片,对底层的理解越通透。

任丘市哪儿有做爱,ML,打炮,DP,爱爱,ml,dh,大活,大,dp,DH,啪啪服务?
《英雄联盟》万花通灵最新出装攻略