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的学习还得是配合着网课培训视频来,一步步的了解各种机制,慢慢的搭建验证环境。

UVM验证TinyALU项目系列视频: https://www.bilibili.com/video/BV1yT4y1C7vz?spm_id_from=333.999.0.0
 
最后的最后,我建议有时间有精力的同学,一定要自己装一个Linux(工作环境),并且安装好VCS(编译仿真)和Verdi(看波形),这对你未来工作会有很大的帮助。

入行数字IC验证的一些建议的更多相关文章

  1. 入行数字IC验证后会做些什么?

    半年前,公众号写了第一篇推文<入行数字IC验证的一些建议>,介绍了IC小白可以如何一步一步地摸索入门数字IC验证,同时也在知乎发了这篇入门贴,并且衍生出很多额外基础的内容,收获了不少的浏览 ...

  2. 数字IC设计入门书单

    首发于观芯志 写文章     数字IC设计入门书单 Forever snow   1 年前 作者:Forever snow链接:你所在领域的入门书单? - 知乎用户的回答来源:知乎著作权归作者所有,转 ...

  3. VerilogHDL概述与数字IC设计流程学习笔记

    一.HDL的概念和特征 HDL,Hard Discrimination Language的缩写,翻译过来就是硬件描述语言.那么什么是硬件描述语言呢?为什么不叫硬件设计语言呢?硬件描述语言,顾名思义就是 ...

  4. IC验证概念总结

    一份代码,在写完之后,一定要再经过一次或多次整理和打磨,才能算完成的:一份代码,一定要把其有效代码行,精简.锤炼到最少.最短.最有效,才能算完成的.   下面这些问题和回答是忘记是在哪里看到的了,参考 ...

  5. 数字IC设计工程师的知识结构

    刚毕业的时候,我年少轻狂,以为自己已经可以独当一面,庙堂之上所学已经足以应付业界需要.然而在后来的工作过程中,我认识了很多牛人,也从他们身上学到了很多,从中总结了一个IC设计工程师需要具备的知识架构, ...

  6. 数字IC前后端设计中的时序收敛(五)--Max Transition违反的修复方法

    本文转自:自己的微信公众号<数字集成电路设计及EDA教程> 里面主要讲解数字IC前端.后端.DFT.低功耗设计以及验证等相关知识,并且讲解了其中用到的各种EDA工具的教程. 考虑到微信公众 ...

  7. 【C++】输入多行数字到数组

    前天做某公司笔试题的时候,其输入格式是多行数字,每行以空格为分隔符,以换行符号为结束输入到多个数组.在JAVA中有相应的函数直接将一行拆成数组,感觉在C++中这中输入方式还是挺奇怪的,今天想出一种解决 ...

  8. (转)IC验证概述

    验证是确保设计和预定的设计期望一致的过程,设计期望通常是通过设计规范来定义的.对于芯片设计,在不同的阶段可以分为:寄存器传输级(RTL)的功能验证.门级的仿真验证.形式验证以及时序验证.我们通常所说的 ...

  9. [每日电路图] 7、设计一个PCB的流程及细节·总结——给外行的同学或刚入行的同学一个宏观鸟瞰电路板设计的大致流程的文章

    前言 最近两天使用AD14软件设计了一个蓝牙防丢器电路板(PCB)图纸,中间有一些细节在本文中记录下,方便下次设计PCB时参考.也希望能给外行的同学或刚入行的同学一个宏观鸟瞰电路板设计的大致流程的文章 ...

随机推荐

  1. MM32F0020 UART1空闲中断接收

    目录: 1.MM32F0020简介 2.初始化MM32F0020 UART1空闲中断和NVIC中断 3.编写MM32F0020 UART1中断接收和空闲中断函数 4.编写MM32F0020 UART1 ...

  2. VS2022不能使用<bits/stdc++.h>的解决方案

    •<bits/stdc++.h>介绍  #include<bits/stdc++.h>  包含了目前 C++ 所包含的所有头文件,又称万能头文件,简直是开挂一般的存在. 你编程 ...

  3. 前端经典面试题vue面试题

    1.什么是MVVM? MVVM是一种设计思想. Model 层代表数据模型,也可以在Model中定义数据修改和操作的业务逻辑: View 代表UI 组件,它负责将数据模型转化成UI 展现出来,View ...

  4. 『现学现忘』Docker基础 — 28、Docker容器数据卷介绍

    目录 1.什么是Docker容器数据卷 2.数据卷的作用 3.数据卷的使用 1.什么是Docker容器数据卷 Docker容器数据卷,即Docker Volume(卷). 当Docker容器运行的时候 ...

  5. ZYNQ SGI、PPI、SPI三种中断的实例(含代码)

    ZYNQ中断分为3类: SGI(Software Generated Interrupts)软件中断 PPI(Private Peripheral Interrupts)私有外设中断 SPI(Shar ...

  6. 6月6日 python学习总结 jQuery (三)

    1. 常用事件 1. hover #鼠标悬停监听 2. keydown和keyup #键盘按键 按下/抬起 3. change #监听值的改变 全部输入完失去焦点后 4. focus和blur # 获 ...

  7. JavaScript 函数 (一 JavaScript 函数的声明与使用)

    函数是由事件驱动的或者当它被调用时执行的可重复使用的代码块. JavaScript 函数的声明与使用 实例 <!DOCTYPE html> <html> <head> ...

  8. 10ISE14.7和modelsim10.5关联编译库

    今天准备在ISE14.7中调用PLL的IP核,搞一下时钟的分频和倍频.可在我做好pll的IP核后,我直接用ise生成了一个仿真文件,只需要修改下例化模块名和加一个时钟就行勒. 问题:但怎么在ISE14 ...

  9. 哪一个 bash 内置命令能够进行数学运算?

    bash shell 的内置命令 let 可以进行整型数的数学运算. #! /bin/bash--let c=a+b--

  10. Aspect 切面?

    AOP核心就是切面,它将多个类的通用行为封装成可重用的模块,该模块含有一组API提供横切功能.比如,一个日志模块可以被称作日志的AOP切面.根据需求的不同,一个应用程序可以有若干切面.在Spring ...