入行数字IC验证的一些建议
0x00
首先,推荐你看两本书,《“胡”说IC菜鸟工程师完美进阶》(pdf版本就行)本书介绍整个流程都有哪些岗位,充分了解IC行业的职业发展方向。《SoC设计方法与实现》强烈推荐这本书,让你了解SoC芯片流程,基本概念以及每个环节是在做什么。
0x04
其次,如果看完之后感兴趣,那你应该是真的感兴趣。那就开始学习专业课程吧!
《数字电路技术基础-阎石》 (二手市场淘挺多)基础专业课程,建议转行和非科班同学必看,有很多基础且重要的知识点。数字逻辑电路是一定得会的,组合电路时序电路那块内容是重点,凡是和D触发器有关的重点掌握,其他的触发器电路了解了解就行了,用的很少的,等你工作后就会发现,做IC验证基本就得跟寄存器打交道了。这门课一两周内是可以搞定,这里我建议西安电子科技大学的课程【西安电子科技大学】《 数字电路与逻辑设计》任爱锋(64讲全)HD
在这期间顺便可以再看看两门课程作为辅助:《数字CMOS集成电路设计》 了解CMOS数字电路组成,MOS管的开关特性,门的组成等等。专业基础书,主要做个了解,对以后项目工作中有帮助。《硬件架构的艺术》 介绍了工程中的常见问题,工程师的经验总结,很值得阅读。有亚稳态,时钟分频,流水线,异步时钟同步问题等关键性问题的解释。
0x08
然后,这些东西看下来之后,基本掌握了入行的基础知识,现在开始写Verilog吧!
Verilog的书籍特别多,我推荐两本《Verilog数字系统设计教程-夏宇闻》、《轻松成为设计高手 Verilog HDL实用精解》,第一本作为参考书籍,第一部分的内容必看;第二本作为练习,最重要的还是自己手敲RTL代码,纸上得来终觉浅,实战能力非常重要。除此之外,还可以在这个https://hdlbits.01xz.net/wiki/Main_Page网站上实时练习。网课视频比较多,大家自行选择。
HDLBits参考答案:https://www.bilibili.com/video/BV1Ju41197z3?spm_id_from=333.999.0.0
0x0c
继续,掌握了以上基础内容,就开始进阶SystemVerilog了。一般推荐初学者看绿皮书《SystemVerilog验证 测试平台编写指南》。刚开始看这本书,我猜百分之八九十的人都处于一种懵逼的状态,不知道重点在哪里,也很难坚持着看下来,整本书也只能有个大致的验证框架概念。确实,学这个还真需要有项目为辅。首先要知道它是在干什么,其次才能了解为什么要这么干。这里最好能找到网上的一些培训视频课程,其实就那几家机构的项目。听说现在自学或者培训转行的基本都会了,面试官基本都会问这几个项目。其次学习SystemVerilog需要有面向对象编程的基础,最好还是了解一些C++的基本概念,类、封装、继承、多态等等。
SystemVerilog每天5分钟系列视频:https://www.bilibili.com/video/BV1kY41147QN?spm_id_from=333.999.0.0
0x10
最后,当前阶段的数字IC验证都是基于UVM搭建的环境,所以最终要学的还得是验证方法学《UVM实战》。能走到这一步的朋友,说明你的自学之路即将成功了!但是不能掉以轻心,因为这里又是一个比较大的跨越了。基于SystemVerilog的学习之后我们发现,UVM其实就是基于前者的一个知识库一样,但是又添加了很多新的特性。这些特性就是为了让验证工程师更加高效率高质量的完成任务而生的。UVM的学习还得是配合着网课培训视频来,一步步的了解各种机制,慢慢的搭建验证环境。
入行数字IC验证的一些建议的更多相关文章
- 入行数字IC验证后会做些什么?
半年前,公众号写了第一篇推文<入行数字IC验证的一些建议>,介绍了IC小白可以如何一步一步地摸索入门数字IC验证,同时也在知乎发了这篇入门贴,并且衍生出很多额外基础的内容,收获了不少的浏览 ...
- 数字IC设计入门书单
首发于观芯志 写文章 数字IC设计入门书单 Forever snow 1 年前 作者:Forever snow链接:你所在领域的入门书单? - 知乎用户的回答来源:知乎著作权归作者所有,转 ...
- VerilogHDL概述与数字IC设计流程学习笔记
一.HDL的概念和特征 HDL,Hard Discrimination Language的缩写,翻译过来就是硬件描述语言.那么什么是硬件描述语言呢?为什么不叫硬件设计语言呢?硬件描述语言,顾名思义就是 ...
- IC验证概念总结
一份代码,在写完之后,一定要再经过一次或多次整理和打磨,才能算完成的:一份代码,一定要把其有效代码行,精简.锤炼到最少.最短.最有效,才能算完成的. 下面这些问题和回答是忘记是在哪里看到的了,参考 ...
- 数字IC设计工程师的知识结构
刚毕业的时候,我年少轻狂,以为自己已经可以独当一面,庙堂之上所学已经足以应付业界需要.然而在后来的工作过程中,我认识了很多牛人,也从他们身上学到了很多,从中总结了一个IC设计工程师需要具备的知识架构, ...
- 数字IC前后端设计中的时序收敛(五)--Max Transition违反的修复方法
本文转自:自己的微信公众号<数字集成电路设计及EDA教程> 里面主要讲解数字IC前端.后端.DFT.低功耗设计以及验证等相关知识,并且讲解了其中用到的各种EDA工具的教程. 考虑到微信公众 ...
- 【C++】输入多行数字到数组
前天做某公司笔试题的时候,其输入格式是多行数字,每行以空格为分隔符,以换行符号为结束输入到多个数组.在JAVA中有相应的函数直接将一行拆成数组,感觉在C++中这中输入方式还是挺奇怪的,今天想出一种解决 ...
- (转)IC验证概述
验证是确保设计和预定的设计期望一致的过程,设计期望通常是通过设计规范来定义的.对于芯片设计,在不同的阶段可以分为:寄存器传输级(RTL)的功能验证.门级的仿真验证.形式验证以及时序验证.我们通常所说的 ...
- [每日电路图] 7、设计一个PCB的流程及细节·总结——给外行的同学或刚入行的同学一个宏观鸟瞰电路板设计的大致流程的文章
前言 最近两天使用AD14软件设计了一个蓝牙防丢器电路板(PCB)图纸,中间有一些细节在本文中记录下,方便下次设计PCB时参考.也希望能给外行的同学或刚入行的同学一个宏观鸟瞰电路板设计的大致流程的文章 ...
随机推荐
- 『现学现忘』Docker常用命令 — 21、容器常用命令(三)
目录 13.进入正在运行的容器并以命令行交互 (1)方式一 (2)方式二 (3)attach和exec的区别 14.从容器内拷贝文件到主机上 15.Docker常用命令小结 (1)容器生命周期管理 ( ...
- C/C++语言读取SEGY文件(二)
SEGY IO (2D) 本文档将介绍SEGY的读取与写入过程,即SEGY文件的复制,并且在实现过程采用采样点×道数二维数组的形式读写. 新建头文件SegyDataIO2D.h与C++文件SegyDa ...
- LGP5824口胡
万 恶 之 源 十 二 重 计 数 法 先鸽子了 球有序,盒子有序 答案明显为 \(m^n\). 球有序,盒子有序,每个盒子最多放一个 答案明显为 \(\binom{m}{n}n!\). 球有序,盒子 ...
- DTD与Schema约束
1.DTD:(Document Type Definition)是一套为了进行程序间的数据交换而建立的关于标记符的语法 规则.它是标准通用标记语言.2.XML Schema 是基于XML的DTD替代者 ...
- jdbc action 接口示例
package com.gylhaut.action; import java.sql.SQLException;import java.util.ArrayList;import java.util ...
- async-validator 源码学习笔记(三):rule
系列文章: 1.async-validator 源码学习(一):文档翻译 2.async-validator 源码学习笔记(二):目录结构 rule 主要实现的是校验规则,文件结构为下图: 一.rul ...
- rsync同步文件到远程机器,卡住10多秒--问题解决过程
背景 以前大体介绍过,我们这边是做运维平台的.如果要形象化理解,那么,比如jenkins这种喜闻乐见的软件大致了解吧,jenkins就经常需要同步文件/版本包到远程机器上,jenkins怎么实现的,没 ...
- Kubernetes:存储管理
Blog:博客园 个人 参考:Volumes | Kubernetes.Persistent Volumes | Kubernetes.Kubernetes 基础入门实战 简单来说,存储卷是定义在Po ...
- synchronized和Lock的区别是什么?
原创2020-11-19 11:38:29011024区别:1.lock是一个接口,而synchronized是java的一个关键字.2.synchronized在发生异常时会自动释放占有的锁 ...
- Nacos 使用
Nacos(一)-下载安装 https://blog.csdn.net/qq_21067307/article/details/103895607 转载 ...