微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 微电子和IC设计 > IC验证交流 > 如何才称得上more familiar with UVM knowledge

如何才称得上more familiar with UVM knowledge

时间:10-02 整理:3721RD 点击:
前阵子接到某家美资hr电话,职位是asic验证工程师,之后进行了电话面试,聊了40多分钟,问了下目前所在公司的verification flow、flow中最多碰到的问题、介绍了下项目经验、问了下UVM的相关机制(比较base的问题)以及脚本应用相关的内容,自我感觉聊得还可以,基本上问的问题都能回答,唯一一个有点争论的问题就是让我不使用uvm的factory机制去重载一个component,当时觉得不用factory机制就加个开关在build_phase做选择了,结果回复说不是他期望的答案,他期待的答案是用set_type_override*,但是在我的理解中这就是使用了factory机制进行重载了啊?
最后结束时说有F2F面试会在1周内电话,结果就是没音讯。但是本人面试有个习惯,不管是否pass都希望在面试中找到不足,所以中秋后给hr去了个email希望能给个feedback,最后hr给的feedback就是no F2F interview,need someone more familiar with UVM knowledge。
针对这个feedback我倒是能接受,我确实只是接触UVM才1年多点时间,项目中也只是用到了一些比较base的功能(UVM相关机制、virtual sequence、RAL,当然可能根据项目需求会用到一些相对高阶点的功能),总之 参考书籍就是那本张强的UVM实战以及官方的userguide,因此我只能说熟悉UVM基本应用,但是要说精通的话确实是不沾边,但是我们目前的项目确实只需用到这些base的UVM功能就可以了,所以现在有所困惑到底如何才能达到more familiar with UVM knowledge呢,如何提升呢?
个人感觉UVM只是工具嘛,项目中只要验证策略制定了,验证平台架构自然出来了,所以之后的所谓搭建UVM平台,我感觉很多时间都是花在前期调试上,后期的时间基本花在写driver、reference model、testcase以及debug上了。
望对UVM比较精通的朋友能否解决一下我的困惑,如何达到more familiar with UVM knowledge呢(除了多积累项目经验),不甚感激!

看来需要把源代码都过一遍,把class_reference全部搞懂才行,这样才能more familiar
不过set_type_override跟set_inst_override明明就是factory机制里的,component重载还有其他方法吗?

基本上你做过什么项目,决定了你的眼界和水平。项目做完并不是结束,还要思考一下有没有更好的实现方法。
有些人,在写代码的时候大量机械使用拷贝-复制,从来没有想过这样做有没有风险,有没有更省力的方法,只为了完成工作而工作技术水平是不会有提高的。

拒绝人的理由一般都挺牵强的。
本人觉得,语言只是手段,验证要掌握的东西本来就很杂。验证应该更看重你的效率和质量吧,用什么现在越来越觉得并不是那么重要。如果他只盯着UVM,其实挺怀疑他的眼界和能力的。
我也是一直用UVM,但接触过的平台,除了sv, sva,UVM。像VMM, OVM, C-base。c-base里面混上UVM,VMM也挺常见。用到的脚本或其它开发语言perl,tcl, makefile,XML都有。
本人经验是,userguide初学的时候看两遍就好,当然是要看懂,而不是看过。
然后是source code trace,其实这个也不一定有必要。发现问题,再去trace是比较好的方法。以前trace过,现在基本也都忘差不多了,不过有个好处是,碰到问题知道从哪里入手怎么去解决。
我一般codeing,就是开着UVM class referrence作参考,比如碰到什么case,感觉应该有个什么function可以满足我的需求就去搜索一下。平时有时间看看uvm cookbook和其它你觉得能力不错的同事的tb,看看别人有什么好的用法。
还有,技能不是学习能提升的,而是实战来的。DUT越复杂,你用到的高级技术就会越多。

学习。

外企就那样。招进去各种要求,真进去了就是跑个case,是个人培训下都会干

NV?

对于一个component,重载根本不需要uvm的东西。直接创建一个新类型的object,然后把旧类型的handle指向这个object就可以了。
很多人张嘴uvm闭嘴uvm,其实连基本的sv都没掌握。

要做到 reuse component, 所以是在不改原本已開發好的 component 的條件之下, 只能動 test writer 能動的 test case,那就必需用 factory.

会不会是小编听错了问题,人家让使用factory

factory是uvm里边比较重要的一个概念,你不用人家怀疑你对uvm不熟悉。

你说的这是OOP的基本功能和UVM没关系。不借助factory,你必须创建一个新类型的object,然后把基类的handle指向这个object,这是标准的OOP重载,只不过使用factory隐藏了这个OOP技术细节。
当然,你要重载一个动态生命周期的transaction的时候,factory可以帮你做好一切。

多做几个项目就好了

估计是听错了,用factory吧。
多做多思考,多尝试不同的方法实现类似的功能。

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

网站地图

Top