前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >圈一圈System verilog重点

圈一圈System verilog重点

作者头像
用户10108023
发布2022-10-28 16:10:03
4470
发布2022-10-28 16:10:03
举报
文章被收录于专栏:不二鱼的芯片验证记录

不二鱼

FOR YOUR DREAM

从材料转行的IC验证工程师,材料人的一束微光,欢迎关注我,与我同行,愿你所有的努力都不被辜负,我们都有美好的未来。

前言

‍‍‍‍‍‍一直答应大家,给你们画个重点,拖了很久,这次,真的来的。

先讲讲我的看法吧。你们一直问我有什么方法和诀窍,说看得很懵,很抱歉,我没有。我没有哆啦A梦的记忆面包,只有多花时间。因为我之前一直不用SV和UVM,所以其实我也是在之前自己学的,这本书,本没有什么重点,我就是通篇看,而且多看,很多知识点看一遍是很容易忘记的,你都记不住,就别说用来。除了多看,就是多敲吧。

面试了这么多家,确实也有所侧重,有一些知识点是反复出现,就稍微提点一下吧,希望你们加强这部分的学习,但是其他的也要掌握。因为我是社招,所以涉及的内容可能没有那么全面,也欢迎大家补充。

重点开始

SV的书籍我想大家都知道,验证界的圣经“绿皮书”。很多人看完的感觉就是,好像都知道,好像又不知道,似懂非懂,那可以按照下面的内容,考察一下自己,相当于做一份“试卷”。下面按照这本书的目录,画一下一些需要特别注意的知识点。

第一章验证导论,这一章,虽然不是什么知识点,但是对于你认识这个行业,这个岗位,以及验证的一些基础常识,还是有帮助的,尤其是转行的朋友,还是推荐你们好好阅读一下,对验证能有个全局的认识。这里的考点就是,为什么要用system Verilog,相比于verilog有什么区别和优点。

第二章,数据类型。这一章在我面对的面试中,是高频考点。看完这一章,你需要知道,有哪几种数据类型,有哪些二值逻辑,哪些又是四值逻辑,要能脱口而出头的那种,比如logic是几值,bit类型是几值。除了数据类型,这一章的重点 还有数组,数组类型有哪些,又分别有什么特点,相互又有什么区别,各自的应用场景,每次都问,真的每次都问,这真的是高频考点!!

第三章,过程语句和子程序。这一章好像没有什么很特别的地方,有一些知识点会经常遇到的,比如void函数,ref参数类型,任务(task)和函数(function)的区别(是否消耗时间);

第四章,连接设计和测试平台。这一章要对验证的平台有一定的了解,能够简单的描述一个测试平台的组成。这一章最重要的知识点就是接口(interface),这个一定要掌握,掌握接口的定义,它有什么特点和优缺点;modport和clocking时序快,这个知识点,不是很高频,但也被问过,建议掌握;另一个重要知识点,是在数电当中也会考察的内容,就是竞争—冒险。这个知识点一定一定要掌握,什么是竞争,什么是冒险,如何避免竞争和冒险;本章最后一个重要知识点,断言,需要掌握断言的类型,作用。

第五章,面向对象编程基础。这一章,你就别抱有侥幸心理,全章都是重点,需要逐字精读,熟练掌握。OOP的一些术语要熟练掌握,不然UVM你看起来会很费劲,对象和句柄,会傻傻分不清楚。高频考点,类(class)的三要素,善良的面试官会问到这里,不太善良的面试官会问你什么是封装和继承,举个例子,最坏的是问你多态,什么是多态,举个例子。什么是多态,我被多位面试官问过,是不是面试官觉得,体现水平的是对多态了不了解,我也不得而知。全局变量和局部变量的区别,即protected和local的区别,子类和父类分别有哪些访问权限。

第六章,随机化。随机这个概念是验证里头一个很重要的知识点,虽然这一章有一点写得繁琐,依然建议全篇阅读,熟练掌握。什么是随机,随机的作用,为什么要随机化,一个随机的基本组成,比如先声明rand/randc(知识点:要知道两者的区别)型变量,再constraint(约束又是一个重要知识点),再randomize(常见的几个约束函数,如$urandom_range);要知道两种权重分布(:=和:/)......划着划着,我感觉把这一章都划了,还有一些没划的你们都看吧,ok?

第七章,线程以及线程间的通信。什么是线程你得知道吧?这里有一个高频考点,就是fork...join,fork...join_any,fork...join_none,考察的基本就是三者的区别。另一个就是旗语,信箱。为什么要用旗语,为什么要用信箱。

第八章,面向对象编程的高级技巧指南。这一章,我印象中,不曾问到过,但是对于了解面向对象编程还是有帮助的。我觉得比较重要的知识点就是8.3节,类型向下转换和虚方法。

第九章,功能覆盖率。面试必问的一章。你需要知道,覆盖率的几种类型,其中代码覆盖率里头又包含哪几种类型(共六种),涉及的问题有,验证的衡量标准是什么?怎么提高覆盖率?代码覆盖率100%是不是表示验证就通过了?怎么保证覆盖率达到要求,功能覆盖率怎么保证能够覆盖全部功能?仓的概念,用法。

再往后的章节,你就爱看不看了。一个不太全的重点到这里就结束了,还是希望你们多花时间,看得仔细一点,也可以刷一刷面试题找一找你的薄弱点,考察你掌握的程度。不要盲目相信重点,重点都在面试官的脑子里,为了命中面试官脑子里的重点,你只能多看,祝你好运。

我是不二鱼,欢迎关注我,如果对你有帮助,也希望能得到你的点赞支持,感谢!

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-09-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 不二鱼 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档