IC设计学习路线
一 前言
(一)自我唠叨:
一直以来都是这也想学那也想学,搞个两三个月又放弃了,开始搞新的,从来没有任何东西超过一年,更不要说坚持三年。现在经历的事情多了,学过各种编程语言明白了要想学会一个专业技能,至少是三年。得到软件上吴军老师,对于学习的原则为系统性学习,谷歌方法论223封信《系统学习的方法》。简单总结系统学习,一年理论(基础知识,某方向应用)+一年实践(项目)。详细例子,如下博客,关于FPGA的学习路线:
https://blog.csdn.net/k331922164/article/details/44626989
(二)对于芯片研发的应聘要求的归纳
- 完成模块从算法/协议到架构的实现(重点);
协议就是802.11-2020协议(四千多页为标准)--------举例就是根据其中信道接入---EDCA进行硬件电路架构或原理的实现。
1.1实际就是,能够理解算法并硬件实现,如图像细节增强不光能够理解,图像细节增强的原理,如就是对像素的调整(通过滤波,线性变换)------ https://www.cnblogs.com/cutewei/p/14967931.html
(上面链接为图像算法的理解及仿真实践)
1.2对于协议到架构的实现(目前先举一个实践)
https://www.cnblogs.com/cutewei/p/16990524.html
上面是一个项目的应用,大概Verilog语言有3千行,重点就是详细理解设计的需求及原理后:根据开发流程:文档的设计,代码的照图施工,验证的debug过程
1.3再举一个简单的例子的应用
https://www.cnblogs.com/cutewei/p/17521047.html
对于除法器,要想硬件实现,则首先明白除法的原理,硬件实现的方式(除法就是做减法):如试商法,串行除法器。
算法--à硬件架构的映射
2.完成模块的RTL实现及相关验证,FPGA调试等工作
对硬件架构(模块连接框图/状态机)-----Verilog实现,搭建验证平台验证功能,FPGA板子调试达到预期的功能。
3.完成模块的PPA(面积,时序,功耗)的优化(重点)
4.利用脚本提高开发效率
(三)先给出工作多年的大神的建议:
第一阶段为语言基础:verilog相关 《verilog数字系统设计教程》,<Verilog HDL高级数字设计>第二版,<Verilog1364-2005>这些得掌握对于IC设计;验证相关为《systemverilog验证测试平台编写指南》,《芯片验证漫游指南》,<UVM实战>等,对于设计这些了解即可,达到明白SV验证平台是怎么回事。
第二阶段为专业应用---通信基础:
《通信ic设计》《通信原理》这两本可以重点关注下,重点了解通信系统都包含哪些,基本原理是什么。推荐西电曹丽娜的教材和B站视频。
第三阶段为时序---:《综合与时序分析的设计约束》这个了解下即可,明白基本原理即可,后期能指导开发即可
推荐网站: https://devopedia.org/
https://www.sharetechnote.com/
https://www.techplayon.com/
https://docs.cocotb.org/en/v1.6.0/
https://github.com/cocotb/cocotb
电子书 https://book4you.org/
第四阶段网络协议:802.11
<eetop.cn_802.11无线网络权威指南(第二版全,非扫描)>,<下一代无线局域网 802.11n的吞吐率、强健性和可靠性>
启示:学习IC内容真的蛮多,循序渐进都得花一年时间才能打扎实。
二 IC学习路线
这一部分为自己自学和探索的感悟,参考胡说IC菜鸟工程师的IC数字设计的必备知识,如下
1. ASIC基础
《 数字集成电路-电路、系统与设计(第二版)》,为数字集成电路的经典教材。<数字电子技术基础>(阎石第五版):全书主要内容有:数制和码制、逻辑代数基础、门电路、组合逻辑电路、触发器、时序逻辑电路、半导体存储器、可编程逻辑器件、硬件描述语言、脉冲波形的产生和整形、数-模和模-数转换等共11章。<<Verilog HDL高级数字设计(第2版)》,由易到难,讲了数字设计的基本知识,Verilog学习的经典。《CMOS VLSI Design A Circuits and Systems Perspective (4th Edition) by Neil H. E. Weste, David Money Harris》
为了方便学习,附上上面的资料,自取哈:
链接:https://pan.baidu.com/s/1GRwO0zuTsJXv3NnvIMrCKg
提取码:f39m
相应的视频:
重点推荐一个讲半导体基础,很生动形象的UP主,直接点下面链接即可:
数字电子技术基础(数字电路/数电) 清华大学 王红主讲
2. 懂一款MCU及常用协议
MCU如ARM,协议如AXI,AMBA总线,IC岗位笔试很常考,推荐一个大神博客如下:
https://www.lzrnote.cn/2021/10/08/axi%e6%80%bb%e7%ba%bf%e6%80%bb%e7%bb%93/
3. 验证基础
很多人会觉得离谱,搞设计咋还有验证基础,根据我实习经验,仿真验证是设计的重中之重。必备知识UVM,PYTHON/TCL脚本等,推荐课程路科验证V2pro.
至少三个月完成UVM的学习。比如你写了一个uart master IP,为了验证你的IP是否实现功能,那你首先会咋做?当然就是搭建仿真环境,验证你的设计,如是否实现串行转并行的通信,数据位是否接收正确,时序等。而且实际上做一个项目60%的时间就是调试,仿真如modelsim,下板验证或者逻辑分析仪,示波器等抓取信号看波形等都是你花时间最多的。
获取路科验证的资料如下:
链接:https://pan.baidu.com/s/1j3VY8iE3QwfaT6IfIciBIQ
提取码:mnre
教材:
SystemVerilog for Verification A Guide to Learning the Testbench Language Features Third Edition ( PDFDrive )
4. 时序分析
视频课程:一是小梅哥(完整淘宝);二是V3学院尤老师(B站);
教材:
1).《Constraining Design for Synthesis and Timing Analysis》
这本书很多内容和《Static Timing Analysis for Nanometer Designs》的内容很多是类似的,但是这本书可以用来参考如何写constraint,如何做综合,如何分析时序等。
推荐指数:非常重要
2).《Static Timing Analysis for Nanometer Designs》
这本书很系统且全面地讲解了timing的东西,STA分析必备。建议新手至少看上五六遍,初级工程师建议也多看几遍,每次看这本书我相信会有不同的理解和看法。小编反正是看了五六遍了,每次的感觉都不太一样。
推荐指数:非常重要
5. 性能优化
《Low Power Methodology Manual》
这本书是Synopsys与ARM联合编写的关于低功耗设计方法和实践的一本书。书中详细介绍了SOC设计用到的大部分低功耗设计方法,并结合实际案例进行讲解。
推荐指数:非常重要
感想:
上面为自己参考微信公众号,CSDN博客,书籍等汇总的。补充一下,实践为核心,即基础知识打扎实后,就得通过一些实际项目来锻炼,方法有:一是去知名公司实习,如联发科,海思等大厂,实习后那找工作乱杀;二是,若导师有实际的项目,跟着做;三参加比赛。当然咯,若前面三种,你都无缘。那就去报个培训班,学费很贵,但为了前途投资值得!最推荐去大厂实习,对找工作很有帮助!实在去不了大厂,那就去小公司赚点生活费!