IC前端数字验证导学
写在前面:2020年9月1日,就是研究生入学教育了,这个教程应该不会更新了,只要把这个教程里面的涉及的东西弄熟悉,进入芯片行业应该不是问题,希望自己可以为中国芯崛起贡献力量!共勉下面两个链接是知乎上对IC入门的认知:https://www.zhihu.com/question/355840366https://www.zhihu.com/question/343469193uvm 与 system
前言:
20年,真的很特殊。开学到校,需要等待;毕业答辩,需要等待;研究生复试,也是等待。漫长的等待,使得自己思考了很多,其中之一就是对“中国芯”的考量。在与师兄师姐交流后,意识到:人生需要规划,不能随遇而安。我们只能在有限的时间内做一些自己认为有价值的事情,就比如投身芯片行业中的前端设计、验证、后端仿真等。经过大量的调研发现,目前,由于芯片复杂度增加、流片成本增加,工业界越来越重视芯片的验证。
正文:通往IC前端数字验证之路
00.先看看别人怎么说:
下面几条链接是别人对IC入门的认知,希望对您有用:
新人如何学习ic验证?
自学数字ic是否靠谱?
uvm 与 system verilog的理解
UVM平台搭建
01.如果入门IC数字验证,需要学习什么?
这是来自前程无忧求职网站上的信息!
在大量的查看招聘信息后,ic验证需要掌握的有:
1. 基本知识
- ic的全称是Integrated Circuit ,什么意思呢?集成电路!
既然是电路,就需要我们去学习电路相关的知识,准确的说,是学习一些基本的数字电路知识。例如,寄存器,锁存器,组合逻辑,时序逻辑,同步时钟等。
“在面试的过程中,我会经常问到的就是寄存器和锁存器的区别是什么。如果你是科班出身,连这个都答不出来,基本就直接否掉了。哪怕你跟我说你做了100个项目。”——IC小迷弟
2. 语言和验证方法学
(1)硬件描述语言
- 这是什么东西呢?就是画电路的。在以前啊,电路真的是用手画的,但是随着时代的更替,这已经不能满足工业界的需求了,于是出现了硬件描述语言。今天,世界上,主流的硬件描述语言有VHDL和verilog,而verilog在国内已经占据了绝对地位。因此,学习verilog 硬件描述语言就可以了。
推荐书籍:夏宇闻老师的《verilog数字系统设计教程》
封面如下,不要纠结选择那个第二版还是第四版,因为核心内容都一样!
(2)systemverilog语言(简称SV)
- 推荐书籍:绿皮书,即《SystemVerilog验证+测试平台编写指南》,
- 钟文枫的《systemverilog与功能验证》
(3)UVM验证方法学
- 推荐书籍:张强的《UVM实战》
(4)脚本语言
- 熟练地使用脚本,能够很大程度地提高工作效率,常用的脚本语言有:Makefile、shell、per、tcl、python。
- 在熟悉了各种知识后,适当地使用脚本语言可以提高工作效率。
3. 工具
- windows平台下可能用到的软件有:quartus II、Modelsim、questasim
- linux平台下可能用到的软件有:VCS、verdi、GVIM、VIM
04.如果学习前面提到的内容,该怎么实施?
- 明确一点,需要掌握的基础知识有verilog、systemverilog、UVM验证方法学;
- IC前端分为设计和验证,验证的目的就是使用另一套不一样的思路去debug,因此verilog不是验证工程师的工具,但是也要懂。因此:
在入门学习时可以不学习verilog,直接去啃sv和UVM
sv可以理解为verilog的升级版,sv是verilog语言的扩充,增加了一些不可综合的语句,提高验证效率。 - SV和UVM,点击后面链接查看下,uvm 与 system verilog的理解,了解一下。
sv可以理解为搭建验证平台的语法,uvm可以理解为搭建验证平台的框架。uvm相当于linux下的软件,你需要按照规定的套路去掌握使用它。
小编建议:先通过fpga学习下数字电路、Verilog,再进行下面三本书 如有需要加QQ群:1142717989
通过群文件fpga自学数字电路和Verilog
(1)学习verilog
建议直接推荐看下面视频:
【开源骚客】FPGA超详细入门视频教程—FPGA就业培训超值视频
零基础轻松学习FPGA,小梅哥FPGA设计思想与验证方法视频教程
小梅哥2019FPGA培训班全程高清实录
FPGA入门培训视频
(2) 学习systemverilog和UVM验证方法学
(3)在上面的基础上,通过实验、项目大量练习!
- sv实验的推荐(synopsys公司的,培训机构资料的源头)
SystemVerilog Testbench Lab Guide、
SystemVerilog Testbench Student Guide
(在群文件 手把手带你感知sv测试平台搭建过程 里自行获取) - uvm实验的推荐(synopsys公司的,E课网直接就用这个的)
SystemVerilog Verification UVM 1.1 Lab Guide
SystemVerilog Verification UVM 1.1 Student Guide
( 在群文件 Synopsys UVM系列实验 里自行获取)
(4)相关公众号推荐
ic技术圈
IC技术圈成员http://iccircle.com/member
4.说点别的
- 既然想学习,那肯定有培训机构,目前,市面上的培训机构基本上就是E课网、路科验证、移知。
- E课网,用的是linux环境,所以在上课前一定要会linux系统,否则看到ls都是一脸懵逼;
- 路科验证,就跟着路桑用Windows听听常识就好。
- 移知,里面有两个小项目AHB2APB、APB2UART质量挺高的,希望大家有所了解!
05.既然看到这里了,就仔细看下这个模块,必要时收藏本文!
ic验证有三大法宝:
绿皮书:《SystemVerilog验证+测试平台编写指南》
白皮书:《张强的 UVM实战》
红宝书:《刘斌的 芯片验证漫游指南》
相关参考书请在京东、淘宝、当当、Amazon等网站或实体书店购买
如需上面三本书电子档(见群文件:1142717989)
- IC验证书籍内容归类
按照类别和难易程度对几本书的章节重新整理,方便学习。希望对大家有帮助。 - 概念
《绿皮书》
第一章:验证导论
《验证漫游指南》
第一章:芯片验证全视
第二章:验证的策略
第三章:验证的方法
第四章:验证的计划
第五章:验证的管理
《Verification Methodology Manual for SystemVerilog》
第二章:Verification Planning
《UVM实战》
第一章:与UVM的第一次接触 - 语言
《绿皮书》
基本:
第二章:数据类型
第三章:过程语句和子程序
第七章:线程
提高:
第五、八章:OOP
第六章:随机化
第九章:功能覆盖率
第十二章:DPI
《UVM实战》
第三章:UVM基础
第六章:UVM中的sequence
《验证漫游指南》
第十一章:UVM结构
《SystemVerilog Assertions and Functional Coverage》
第1~16章:断言语法
《SystemC入门》
验证相关章节
《ASIC/SoC Functional Design Verification》
第8章:CDC Verfication
第9章:Low-Power Verication
第13章:AMS Verification - 工具
仿真和调试
QuestaSim、IES/Indago、VCS/Verdi的命令行帮助、User Guide等。
实例
《绿皮书》
第四章:连接设计和测试平台
第十一章:完整的SystemVerilog测试平台
《UVM实战》
第二章:一个简单的UVM验证平台
第七章:UVM中的寄存器模型
《验证漫游指南》
第六章:验证的结构
第十四章:UVM寄存器
《Practical UVM Step By Step》
SOC
《SytemVerilog Assertions应用指南》
第3~7章:断言的应用实例
《ASIC/SoC Functional Design Verification》
第16章:VoIP Network SoC Verication
《Advanced Verfication Topics》
第4.7节:UVM SystemC Methodology
第2章:UVM and MDV for Mixed-Signal
第3章:Low-power Verification with the UVM
后记
- 只要把这个教程里面的涉及的东西弄熟悉,进入芯片行业应该不是问题,希望自己可以为中国芯崛起贡献力量!共勉
这个应该会持续更新,希望对大家有用!
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)