数字IC设计需要掌握数字IC验证?验证需要懂设计?

很多同学面试时发现,一些公司都会要求,做数字IC设计的需要懂数字IC验证,做数字IC验证的也需要对数字IC设计有一定的了解。

其实数字IC设计和数字IC验证是不分家的,两者是紧密配合的。

  • 设计要懂验证,这样在设计代码的时候才能先自己确保自己设计是没问题的,然后再交给验证。

  • 验证也要懂设计,不懂设计的话,如果发现设计中的bug呢,不能一遇到问题就丢给设计让设计自己去找问题。

两者都需要对设计所涉及的通信协议比较了解才能做好各自手上的工作,工作当中会有很多的交叉。

如果即精通于数字IC设计,又精通于数字IC验证,在未来发展时选择会更多一些,职业发展道路会更宽。

搞明白设计与验证的关系:

设计与验证的关系,如下图所示:

一个芯片项目的开启会有一份产品需求文档,用来描述该芯片需要实现的一些指标性能参数。

然后由设计团队根据这些指标性能参数撰写设计方案,然后同样由设计团队负责设计实现(通常会被验证人员称为DUT,即Design Under Test)。

与此同时,由验证团队根据同样的指标性能参数撰写验证方案,然后同样由验证团队负责搭建验证平台来对设计的DUT进行验证,通常用SystemVerilog、SystemC或C/C++等来进行验证(UVM也是由SystemVerilog编写的)。根据实际项目的不同,当然也可以使用多种工具来进行验证,两个团队并行工作,提高效率,从而保证项目的进度。

最后由验证团队编写测试激励并施加给DUT和对应的参考模型,然后输出结果进行分析和比较,从而判断是否与最初的产品需求文档中描述的指标性能参数一致,如果一致的话则验证通过,可以进入下一步综合后端等工作直至送去流片,如果不一致的话则需要设计和验证团队返回修改并重复上面分析比较的过程。

简单说就是:对于同样一份产品需求文档,设计和验证团队需要各自理解并实现,一个是用具体硬件描述语言编写的RTL代码,另个则是参考模型,参考模型可以用多种语言或工具实现。

另外芯学长网站也有关于数字IC设计、数字IC验证等岗位知识的介绍,有很多圈内的人反馈说比较详细。

那做数字IC验证也需要掌握数字IC设计?

做数字IC验证需要了解一定的数字IC设计,但是了解到什么程度,这就值得商榷了。

通常来说,我们dv不会涉及到对RTL本身的了解,更多的是了解spec(这个最重要,几乎没有之一,有的spec是de给的,有的是se给的,有的是arch给的,都得看),功能状态图,还有接口处的时序协议(对这部分的理解,dv的要求和de是一致的)。

还需要了解功能和时序,至于具体designer怎么实现的,你是了解不到的,我们designer接手一个新底层代码,都要花差不多一个月时间,虽然可能只有不到一万行代码,但是,完全是凭借自己的经验,顺便猜别人这段代码是怎么想的!

所以建议不要把自己的知识体系束缚起来。要打开周围的墙,外延你的知识体系。在自己工作范围内,越多的了解,这样,你就会发现越来越强,能力越来越大,每条知识线都可以汇聚成网

当然不是要你对designer的每行都熟悉。制定验证功能点,对design有所熟悉是绕不过去的。但是熟悉到什么程度,因人而异。

建议:第一种,比如业界标准,这些可以多熟悉,例如pcie, ddr, cpu, 熟悉后有一些方法论,因为你以后也会用的上,能够大幅提升你的效率。第二种,如果是某designer的特殊设计,这种就观其大概,不用特别深入。

  • 17
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值