目录
- 背景
- 困惑
- 岗位
- 学习路线
- 资料获取方式
背景
从2003年的汉芯造假事件,到2019年中兴华为被封锁事件,每一次IC走在风口浪尖,都让无数IC从业者痛心。近几年来国家对集成电路行业的扶持越来越大,国家层面的几千亿大基金,各地方政府的流片补贴,截止到现在,IC行业的人才缺口仍然巨大。
长期以来,IC行业学校和企业的脱节现象严重。想要从事IC行业,报培训班是大部分同学无奈的选择。目前市面上培训班五花八门,专业不专业另说,反正费用一直居高不下。IC就业班大部分是FPGA培训,为什么呢?谁会投个几百上千万流一次片专门为培训,那这成本也太高了!
再说FPGA培训,一般是学习一些IC方面的基础知识,用FPGA项目练手,找工作问题不大。但是知道了学习方法以后,还有必要报班吗?
困惑
不知道你是否面临这样的困惑?
-
学了数字电路零碎知识,串不成系统,无法入门
-
即将毕业面临找工作,缺乏项目经验
-
想转行IC前端,对Verilog感兴趣
记得小猿本科时在EDA课程学习了VHDL以后非常感兴趣,主动找当时的任课老师,想进他的项目组学习,无奈老师看不上,只能自己苦苦琢磨。
现在回想当时的经过,真是有苦说不出~~~
小猿总结当时的学习经验和部分IC大厂招聘需求,结合自身校招和社招经验,整合现有资源后大致规划了如下入门学习路线。(大神勿喷....)
文末有配套视频、电子书、项目源码获取方式,请自行取用。
“两猿社”公众号后期会将项目进行模块拆分讲解,分文推送并持续答疑。
岗位
按照此学习路线完成项目后,可以尝试应聘这几类岗位:
数字IC设计,数字IC验证,FPGA工程师,FPGA原型验证,甚至数字后端。
当然不同的岗位学习的时候针对性不同。
学习路线
推荐时间为4个月,包括四部分:语言、IC基础知识、项目基础知识和项目实践。
-
语言(20天)
-
学习方针:视频为主,书籍为辅
-
配套视频:夏宇闻Verilog视频
-
Verilog数字系统设计教程
集中学习该书的1~14章,主要关注基础语法,状态机,阻塞与非阻塞赋值,做好相关笔记。 -
Verilog Golden Reference Guide
作为Verilog查询工具书,含基本用法,用例。 -
Tcl/Tk入门经典、 perl语言入门
tcl一般是工具语言,EDA工具大多按照这种格式运行,使其在岗位要求中常见。
Perl是IC设计中常用脚本,一般用做脚本开发,减少重复工作。
以上两种脚本前期项目中不会用到,岗位要求中常见,所以需要学习。
-
-
IC基础知识(1个月)
-
学习方针:前四本书需着重学习
-
视频:爱芯人前后端视频,强烈推荐观看
-
数字电路技术基础-阎石
电子类基础专业课程,建议转行和非科班同学学习,有很多基础且重要的知识点。 -
数字CMOS集成电路设计
经典书籍,了解CMOS数字电路组成,制造,mos管的开关特性,门的组成等等。本书为专业基础书,偏底层,主要是做一个了解,对以后项目工作中有帮助。 -
硬件架构的艺术
介绍了一些工程中的常见问题,对于新手而言,这个算是工程师的经验总结,值得多次阅读。内有亚稳态,时钟分频,流水线,异步时钟同步问题等常见关键性问题的讲解,对于就业同学来说,帮助很大。 -
综合与时序分析的设计约束
时序分析讲解,基础全面,笔试很多作为大题考,面试也常考。 -
SOC设计方法与实现
是SOC系统概括性的讲解,粗略看一遍,了解SOC设计的基本概念。 -
数字集成电路物理设计
后端设计经典书籍,主要针对目标为后端岗位同学,当然前端设计可作为加分项学习,了解设计流程,无论是前期面试还是工作之后,都值得多次学习。
-
-
项目基础知识(10天)
-
视频:黑金FPGA视频
-
Verilog那些事儿建模篇和时序篇
重点看串口部分实验,可以跑黑金的串口实验作为过渡。目的是UART串口协议学习,包括RX、TX、波特率等。 -
AMBA总线
重点学习APB总线知识,读写条件,时序理解。 -
多时钟域处理方法学习
《硬件架构的艺术》中第3章,回顾异步时钟的同步方法,重点学习同步和异步FIFO知识,同步和异步FIFO的设计方法以及原理(笔试和面试常考,重点)。
-
-
项目实践(2个月)
本项目为工程项目ARM上UART模块的实现,通过收发数据线和地线实现数据收发,波特率为115200。-
设计部分(1个月)
设计部分主要是用可综合语法进行设计,需要考虑模块的可综合性,可重用性,可读性,资源和时序等。- 波特率产生
根据功能时钟和配置,产生收发波特率时钟。 - 数据接收
根据RX波特率时钟接收数据,进行奇偶校验,存放数据到RX FIFO,再由CUP经过APB总线读取数据。内含接收数据状态机。 - 数据发送
CUP通过APB总线将需要发送的数据放到TX FIFO,根据TX波特率时钟进行数据发送。内含发送数据状态机。 - 寄存器配置部分
实现APB读写寄存器功能,中断操作,功能选择,模块状态指示等。
- 波特率产生
-
仿真部分(1个月)
验证部分可以使用一些与硬件无关的函数或资源,不需要考虑可综合性和实际的硬件限制,模拟芯片的外围工作环境,并实现整体的仿真。-
波特率产生
产生仿真环境使用的波特率时钟。 -
数据接收
仿真环境的接收数据模型。 -
数据发送
仿真环境的发送数据模型。 -
APB总线
仿真环境的APB总线模型,模拟cpu响应中断和实现各种功能。 -
数据对比
根据对比发送和接收的数据和时序,产生不同的对比结果,便于仿真时对结果的观察。 -
Testcase产生
通过不同的激励或配置产生不同的case,验证功能是否符合要求。
-
-
资料获取方式
- 关注公众号【两猿社】,进入公众号
- 回复【IC】,获取配套电子书和视频
- 回复【UART】,获取uart项目源码
- 带你丰富IC前端相关项目经验,轻松应对校招!!!
- 项目模块详细讲解,在公众号内持续更新!!!