zoukankan      html  css  js  c++  java
  • (转)新手学习System Verilog & UVM指南

    从刚接触System Verilog以及后来的VMM,OVM,UVM已经有很多年了,随着电子工业的逐步发展,国内对验证人才的需求也会急剧增加,这从各大招聘网站贴出的职位上也可以看出来,不少朋友可能想尽快掌握这些知识,自学是一个好办法,我结合自己的亲身经历和大家谈谈初学者如何能尽快入门,继而成为一名合格的IC验证师。

    1.首先来谈谈仿真工具,无非就是Synopsys, Cacence Mentor三大公司的vcs, incisive, modelsim,其实还有些稍小一些公司象aldec公司的Riviera-PRO也不错,如果能接触到这些工具,再能有水平比较高的人提供一些指点就方便多了。如果手头没有工具,则要自己考虑在UNIX上安装合适的工具,这我就不多说了,大家都懂的,哈哈。如果你也不会或者不愿意安装工具那么可以去 EDA-playground看看,可以在线直接仿真出结果,如果你的网速比较快,这也不失为一个好注意。

    2.现在市面上的参考资料比前几年多多了,不能简单地说是良莠不齐,至少要找到适合与自己当前情况的资料。不要东看看西瞅瞅,因为包含的内容太多了,当你搞懂这一块的时候另一块可能忽略了或者遗忘了,所以最好认真专注于一两本书籍,千万不要贪多,我推荐以下几本:

    如果verilog基础不好,应该加紧学习,毕竟是System Verilog的基础,夏宇闻编写的Verilog数字系统设计教程是首选。首先accellera的Universal Verification Methodology User's Guide还是要读一读的,虽然写的不生动,毕竟只是一个说明书。有关system verilog的书籍市面上不多,Synopsys 的chris spear10年前所著的《SystemVerilog for Verification》现在看来依然不错,2009年出版的中文本我是读了好几遍的。前几年Cadence的kathleen A Meade写了一本《A Practical Guide to Adopting the Universal Verification Methodology(UVM)》,后来的第二版我很喜欢,里面配有大量实际验证中的例子,很有价值。这本身出版后反映不错,所以有了后来的另一本书 Advanced Verification Topics主要介绍混合信号,低功耗,以及多语言验证问题,有兴趣的朋友可以参考一下。三大公司中的Mentor Graphics也贡献了《VERIFICATION METHODOLOGY ONLINE COOKBOOK》。国内新出版的《UVM实战》也很有影响,不过它的第二部也就是源代码部分实用性不大,就此我曾经询问过UVM的community member中的高人,他们都不推荐去研读代码,因为其中有不少东西涉及到各公司以及各大用户中的很多苟且之事,很多说不定下一版本就会更改甚至取消,和我们使用UVM验证环境的工程师没有多大的关系。很多公司对设计工程师的assertion有要求,其实设计工程师自己写的断言往往比验证工程师更实用,《A Practial Guide for SystemVerilog Assertions》也有中文版,例子和翻译都不错,这几本书网上基本都可以找到,如果没有可以和我联系(3196301835@qq.com)。

    3.我想鼓励初学者的是不要被厚厚的说明书给吓一跳,主要是掌握基础概念。 SystemVerilog中除了受限随机,功能覆盖率等以外,数据类型,运算符,类的概念都和C++类似,这些也往往是面试中的重点。相比 SystemVerilog,UVM中的内容要少些但是牵扯到不少面向对象设计中比较专业的问题象factory, callback等,这需要通过仔细分析代码来理解。总之,从基本概念入手不要妄图一下子把所有问题都搞清楚,虽然不经过多年实际工作项目的考验是无法真正掌握这些内容的,但是不排除经过短期的训练迅速获得敲门砖的可能。

    4.其它资料.包括一些网站和论坛,象本站就有海量的资料,UVM的官方网站 Verification Academy有UVM的介绍和视频,甚至还可以就一些比较专业的问题向committee member咨询。另外在验证工程师(www.asicdv.com)这个中文网站有大量简单示例对初学者也很有帮助。

     

    参考文献:

    [1] 新手学习System Verilog & UVM指南. http://bbs.ednchina.com/BLOG_ARTICLE_3027974.HTM

  • 相关阅读:
    小程序滴滴车主板块的银行卡管理左滑删除编辑
    超好用超短的小程序请求封装
    如何使用css来让图片居中不变形 微信小程序和web端适用
    纯css手写圆角气泡对话框 微信小程序和web都适用
    小程序getUserInfo授权升级更新登录优化
    一起聊聊3个线程依次打印1、2、3...的故事
    influxdb基础那些事儿
    influxdb的命令们
    Linux namespace浅析
    kubernetes基础概念知多少
  • 原文地址:https://www.cnblogs.com/dpc525/p/5047032.html
Copyright © 2011-2022 走看看